.hist-hero {
      position: relative;
      height: 100vh;
      min-height: 640px;
      overflow: hidden;
      display: flex;
      align-items: center;
      background: #0D0D0D;
    }

    .hist-hero-bg {
      position: absolute;
      inset: 0;
      background-image: url('project_residential.png');
      background-size: cover;
      background-position: center 40%;
      transform: scale(1.04);
      transition: transform 8s ease-out;
      filter: brightness(0.35) saturate(0.6);
    }

    .hist-hero.loaded .hist-hero-bg {
      transform: scale(1);
    }

    .hist-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg,
          rgba(0, 0, 0, 0.88) 0%,
          rgba(0, 0, 0, 0.5) 55%,
          rgba(0, 0, 0, 0.1) 100%);
    }

    .hist-hero-content {
      position: relative;
      z-index: 2;
      padding: 0 80px;
      max-width: 900px;
    }

    .hist-hero-eyebrow {
      font-family: 'Effra', sans-serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.36em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.45);
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .hist-hero-eyebrow::before {
      content: '';
      display: block;
      width: 32px;
      height: 1px;
      background: rgba(255, 255, 255, 0.45);
    }

    .hist-hero-title {
      font-family: 'Poppins', sans-serif;
      font-size: clamp(52px, 8.5vw, 110px);
      font-weight: 800;
      line-height: 0.95;
      text-transform: uppercase;
      letter-spacing: -0.02em;
      color: #fff;
      margin-bottom: 40px;
    }

    .hist-hero-opening {
      font-family: 'Effra', sans-serif;
      font-size: clamp(16px, 1.6vw, 20px);
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.62);
      max-width: 600px;
    }

    .hist-hero-opening strong {
      color: rgba(255, 255, 255, 0.88);
      font-weight: 600;
    }

    /* Year badge */
    .hist-year-badge {
      position: absolute;
      right: 80px;
      bottom: 80px;
      z-index: 3;
      text-align: right;
    }

    .hist-year-num {
      font-family: 'Poppins', sans-serif;
      font-size: 15px;
      font-weight: 800;
      letter-spacing: 0.1em;
      color: #00b5c1;
      display: block;
      margin-bottom: 4px;
    }

    .hist-year-label {
      font-family: 'Effra', sans-serif;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.3);
    }

    /* ── Narrative Opening ── */
    .section-narrativa {
      background: #fff;
      padding: 120px 80px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 100px;
      align-items: start;
    }

    .narrativa-left {
      position: sticky;
      top: 120px;
    }

    .narrativa-label {
      font-family: 'Effra', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.36em;
      text-transform: uppercase;
      color: #0e0500;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .narrativa-label::before {
      content: '';
      display: block;
      width: 24px;
      height: 1px;
      background: #0e0500;
    }

    .narrativa-title {
      font-family: 'Poppins', sans-serif;
      font-size: clamp(36px, 4vw, 56px);
      font-weight: 700;
      text-transform: uppercase;
      color: #1A1A1A;
      line-height: 1;
      margin-bottom: 36px;
    }

    .narrativa-img {
      aspect-ratio: 3/4;
      overflow: hidden;
      position: relative;
    }

    .narrativa-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .narrativa-img:hover img {
      transform: scale(1.04);
    }

    .narrativa-img-caption {
      margin-top: 16px;
      font-family: 'Effra', sans-serif;
      font-size: 13px;
      color: #999;
      letter-spacing: 0.08em;
    }

    .narrativa-body p {
      font-family: 'Effra', sans-serif;
      font-size: 18px;
      line-height: 1.9;
      color: #555;
      margin-bottom: 24px;
    }

    .narrativa-body p:last-child {
      margin-bottom: 0;
    }

    .narrativa-body strong {
      color: #1A1A1A;
      font-weight: 600;
    }

    /* Pullquote */
    .pullquote {
      border-left: 2px solid #0e0500;
      padding: 8px 0 8px 28px;
      margin: 40px 0;
    }

    .pullquote-text {
      font-family: 'Poppins', sans-serif;
      font-size: 20px;
      font-weight: 700;
      text-transform: uppercase;
      color: #1A1A1A;
      line-height: 1.2;
    }

    .pullquote-author {
      font-family: 'Effra', sans-serif;
      font-size: 11px;
      color: #999;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      margin-top: 12px;
    }

    /* ── Timeline ── */
    .section-timeline {
      background: #F5F5F5;
      padding: 120px 80px;
      position: relative;
      overflow: hidden;
    }

    .timeline-header {
      margin-bottom: 80px;
    }

    .timeline-label {
      font-family: 'Effra', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.36em;
      text-transform: uppercase;
      color: #00b5c1;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .timeline-label::before {
      content: '';
      display: block;
      width: 24px;
      height: 1px;
      background: #00b5c1;
    }

    .timeline-title {
      font-family: 'Poppins', sans-serif;
      font-size: clamp(36px, 4vw, 54px);
      font-weight: 700;
      text-transform: uppercase;
      color: #1A1A1A;
      line-height: 1;
    }

    /* Timeline track */
    .timeline {
      position: relative;
      padding-left: 0;
    }

    /* Vertical line */
    .timeline::before {
      content: '';
      position: absolute;
      left: 120px;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(to bottom, #E0E0E0 0%, #E0E0E0 90%, transparent 100%);
    }

    .timeline-item {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 0;
      padding: 0 0 64px;
      position: relative;
      opacity: 0;
      transform: translateX(-20px);
      transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1), transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .timeline-item.visible {
      opacity: 1;
      transform: none;
    }

    .timeline-item:last-child {
      padding-bottom: 0;
    }

    /* Year column */
    .timeline-year {
      padding-right: 32px;
      text-align: right;
      padding-top: 4px;
      position: relative;
    }

    .timeline-year-text {
      font-family: 'Poppins', sans-serif;
      font-size: 15px;
      font-weight: 800;
      color: #1A1A1A;
      letter-spacing: 0.05em;
    }

    /* Dot on the line */
    .timeline-item::after {
      content: '';
      position: absolute;
      left: 113px;
      top: 8px;
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background: #fff;
      border: 2px solid #0e0500;
      z-index: 1;
      transition: background 0.3s, border-color 0.3s;
    }

    .timeline-item:hover::after {
      background: #0e0500;
      border-color: #0e0500;
    }

    .timeline-item.highlight::after {
      background: #00b5c1;
      border-color: #00b5c1;
      box-shadow: 0 0 0 4px rgba(0, 181, 193, 0.15);
    }

    /* Content column */
    .timeline-content {
      padding-left: 48px;
    }

    .timeline-content-inner {
      background: #fff;
      padding: 32px 36px;
      border-left: 3px solid transparent;
      transition: border-color 0.3s, box-shadow 0.3s;
    }

    .timeline-item:hover .timeline-content-inner {
      border-left-color: #0e0500;
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    }

    .timeline-item.highlight .timeline-content-inner {
      border-left-color: #00b5c1;
    }

    .timeline-event-tag {
      display: inline-block;
      font-family: 'Effra', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      padding: 3px 10px;
      border: 1px solid #E0E0E0;
      color: #999;
      margin-bottom: 12px;
    }

    .timeline-item.highlight .timeline-event-tag {
      border-color: #00b5c1;
      color: #00b5c1;
    }

    .timeline-event-title {
      font-family: 'Poppins', sans-serif;
      font-size: 22px;
      font-weight: 700;
      text-transform: uppercase;
      color: #1A1A1A;
      margin-bottom: 12px;
      line-height: 1.1;
    }

    .timeline-event-text {
      font-family: 'Effra', sans-serif;
      font-size: 21px;
      line-height: 1.8;
      color: #666;
    }

    /* ── Valores / Closing ── */
    .section-valores {
      background: #1A1A1A;
      padding: 120px 80px;
      position: relative;
      overflow: hidden;
    }

    .valores-bg-text {
      position: absolute;
      bottom: -60px;
      left: -40px;
      font-family: 'Poppins', sans-serif;
      font-size: 280px;
      font-weight: 900;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.025);
      letter-spacing: -0.04em;
      pointer-events: none;
      user-select: none;
      line-height: 1;
    }

    .valores-inner {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 100px;
      align-items: center;
    }

    .valores-left-label {
      font-family: 'Effra', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.36em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.35);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .valores-left-label::before {
      content: '';
      display: block;
      width: 24px;
      height: 1px;
      background: rgba(255, 255, 255, 0.35);
    }

    .valores-title {
      font-family: 'Poppins', sans-serif;
      font-size: clamp(36px, 4vw, 56px);
      font-weight: 700;
      text-transform: uppercase;
      color: #fff;
      line-height: 1;
      margin-bottom: 36px;
    }

    .valores-title em {
      font-style: normal;
      color: #00b5c1;
    }

    .valores-text {
      font-family: 'Effra', sans-serif;
      font-size: 18px;
      line-height: 1.9;
      color: rgba(255, 255, 255, 0.5);
      margin-bottom: 48px;
    }

    .valores-cta {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-family: 'Effra', sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.3);
      padding: 18px 40px;
      text-decoration: none;
      transition: background 0.3s, border-color 0.3s;
    }

    .valores-cta:hover {
      background: #00b5c1;
      border-color: #00b5c1;
    }

    .valores-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2px;
    }

    .valor-card {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
      padding: 36px 32px;
      transition: background 0.3s;
    }

    .valor-card:hover {
      background: rgba(255, 255, 255, 0.08);
    }

    .valor-card-icon {
      width: 36px;
      height: 36px;
      color: #00b5c1;
      margin-bottom: 20px;
    }

    .valor-card-title {
      font-family: 'Poppins', sans-serif;
      font-size: 16px;
      font-weight: 700;
      text-transform: uppercase;
      color: #fff;
      margin-bottom: 10px;
    }

    .valor-card-text {
      font-family: 'Effra', sans-serif;
      font-size: 21px;
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.45);
    }

    /* ── Reveal ── */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.7s cubic-bezier(0.25, 1, 0.5, 1), transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .reveal.visible {
      opacity: 1;
      transform: none;
    }

    .reveal-delay-1 {
      transition-delay: 0.1s;
    }

    .reveal-delay-2 {
      transition-delay: 0.2s;
    }

    .reveal-delay-3 {
      transition-delay: 0.3s;
    }

    .reveal-delay-4 {
      transition-delay: 0.4s;
    }

    /* ── Responsive ── */

    /* Tablet */
    @media (max-width: 1024px) {
      .hist-hero-content {
        padding: 0 40px;
      }

      .hist-year-badge {
        right: 40px;
        bottom: 48px;
      }

      .section-narrativa {
        padding: 80px 40px;
        gap: 60px;
      }

      .section-timeline {
        padding: 80px 40px;
      }

      .section-valores {
        padding: 80px 40px;
      }
    }

    /* Mobile */
    @media (max-width: 768px) {
      /* Hero */
      .hist-hero {
        min-height: 100dvh;
        align-items: flex-end;
      }

      .hist-hero-content {
        padding: 0 20px 80px;
        max-width: 100%;
      }

      .hist-year-badge {
        right: 20px;
        bottom: 24px;
      }

      .hist-year-num {
        font-size: 12px;
      }

      .hist-year-label {
        font-size: 9px;
      }

      /* Narrativa — empilhada */
      .section-narrativa {
        padding: 56px 20px;
        grid-template-columns: 1fr;
        gap: 40px;
      }

      .narrativa-left {
        position: static;
      }

      .narrativa-img {
        aspect-ratio: 4/3;
      }

      .narrativa-body p {
        font-size: 16px;
      }

      .pullquote-text {
        font-size: 17px;
      }

      /* Timeline */
      .section-timeline {
        padding: 56px 20px;
      }

      .timeline-header {
        margin-bottom: 48px;
      }

      /* Simplificar timeline: linha à esquerda de 20px */
      .timeline::before {
        left: 20px;
      }

      .timeline-item {
        grid-template-columns: 48px 1fr;
        padding-bottom: 40px;
      }

      .timeline-item::after {
        left: 13px;
        top: 6px;
        width: 13px;
        height: 13px;
      }

      .timeline-year {
        padding-right: 0;
        text-align: left;
        padding-top: 4px;
      }

      .timeline-year-text {
        font-size: 11px;
        writing-mode: vertical-rl;
        text-orientation: mixed;
        transform: rotate(180deg);
        display: inline-block;
      }

      .timeline-content {
        padding-left: 20px;
      }

      .timeline-content-inner {
        padding: 20px 20px;
      }

      .timeline-event-title {
        font-size: 17px;
      }

      .timeline-event-text {
        font-size: 15px;
      }

      /* Valores */
      .section-valores {
        padding: 56px 20px;
      }

      .valores-bg-text {
        font-size: 120px;
      }

      .valores-inner {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .valores-grid {
        grid-template-columns: 1fr;
      }

      .valores-text {
        font-size: 16px;
      }

      .valor-card-text {
        font-size: 15px;
      }
    }