@layer components {

  /* ── Section structure ──────────────────────────────── */
  .section--alt   { background: var(--surface); }
  .section--clay  { background: rgba(193,74,26,.07); border-top: 1px solid rgba(193,74,26,.18); }

  /* Lime block section — accent as full background (see image 3) */
  .section--lime  { background: var(--accent); border-top: none; position: relative; overflow: hidden; }
  .section--lime .section__label            { color: rgba(0,0,0,.5); }
  .section--lime .section__label::before    { background: rgba(0,0,0,.35); }
  .section--lime .tempus-quote              { color: var(--black); }
  .section--lime .tempus-quote em           { color: rgba(0,0,0,.42); }
  .section--lime .tempus-body               { border-top-color: rgba(0,0,0,.12); }
  .section--lime .tempus-body p             { color: rgba(0,0,0,.65); }
  .section--lime .tempus-body strong        { color: var(--black); }
  .section--lime .tempus-tag                { background: var(--black); color: var(--accent); }

  /* Tennis ball circle decoration (image 3 right-side orb) */
  .tennis-deco {
    position:       absolute;
    right:          -7%;
    top:            50%;
    translate:      0 -50%;
    width:          clamp(220px, 38vw, 520px);
    height:         auto;
    color:          rgba(0,0,0,.1);
    pointer-events: none;
    user-select:    none;
  }

  @media (width <= 860px) {
    .tennis-deco { right: -20%; width: clamp(160px, 60vw, 300px); opacity: .6; }
  }

  .section__inner {
    max-width:      var(--max-w);
    margin-inline:  auto;
    padding-inline: var(--gutter);
    padding-block:  var(--sec-y);
  }

  /* ── HERO PHOTO BG ──────────────────────────────────── */
  .hero__photo-bg {
    position:            absolute;
    inset:               0;
    background-image:    url('../images/SiteLinkIngressos.png');
    background-size:     cover;
    background-position: center;
    z-index:             0;
  }

  .hero__photo-bg::after {
    content:    '';
    position:   absolute;
    inset:      0;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,.52) 0%,
      rgba(0,0,0,.30) 45%,
      rgba(0,0,0,.62) 100%
    );
  }

  /* Hero text adjustments for new layout */
  .hero__eyebrow {
    font-size:      .6rem;
    font-weight:    700;
    letter-spacing: .26em;
    text-transform: uppercase;
    color:          var(--accent);
    position:       relative;
    z-index:        2;
  }

  .hero__eyebrow--r { text-align: right; color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.6); }

  .hero__aside {
    font-size:      .7rem;
    font-weight:    700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:          var(--muted);
    margin-top:     1.4rem;
    position:       relative;
    z-index:        2;
  }

  /* ── PUSH — Quadra de saibro ─────────────────────────── */
  .push-court {
    position:   relative;
    height:     58vh;
    min-height: 300px;
    overflow:   hidden;
    border-top: 1px solid var(--border);
  }

  .push-court__bg {
    position:            absolute;
    inset:               0;
    background-image:    url('../images/court-bg.jpg');
    background-size:     cover;
    background-position: center 30%;
  }

  .push-court__overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.08) 50%,
      rgba(0,0,0,.65) 100%
    );
  }


  /* ── GIF / VIDEO BREAK ──────────────────────────────── */
  .gif-break {
    position:   relative;
    overflow:   hidden;
    height:     clamp(220px, 44vh, 500px);
    border-top: 1px solid var(--border);
  }

  .gif-break__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
  }


  /* ── SÍMBOLO TEMPUS — decoração fantasma ─────────────── */
  .simbolo-deco {
    position:       absolute;
    pointer-events: none;
    user-select:    none;
    filter:         brightness(0) invert(1);
    opacity:        .055;
    width:          clamp(100px, 18vw, 240px);
    height:         auto;
    z-index:        0;
  }

  .simbolo-deco--tr  { top: -4%;  right: -2%; }
  .simbolo-deco--br  { bottom: -4%; right: -2%; }
  .simbolo-deco--bl  { bottom: -4%; left: -2%; }
  .simbolo-deco--mid { top: 50%; right: 2%; translate: 0 -50%; }

  @media (width <= 860px) {
    .simbolo-deco { opacity: .04; width: clamp(80px, 22vw, 160px); }
  }


  /* ── CTA PHOTO BG (tennis balls) ─────────────────────── */
  #cta { position: relative; }

  .cta-photo-bg {
    position: absolute;
    inset:    0;
    overflow: hidden;
    z-index:  0;
  }

  .cta-photo-bg::after {
    content:    '';
    position:   absolute;
    inset:      0;
    background: rgba(0,0,0,.52);
    z-index:    1;
  }

  .cta-photo-bg__img {
    position:   absolute;
    top:        50%;
    left:       50%;
    width:      100%;
    height:     100%;
    object-fit: cover;
    transform:  translate(-50%, -50%);
    opacity:    .6;
  }

  /* Desktop: rotate portrait image to fill landscape viewport */
  @media (width >= 861px) {
    .cta-photo-bg__img {
      width:      100vh;
      height:     100vw;
      transform:  translate(-50%, -50%) rotate(-90deg);
      max-width:  none;
    }
  }

  .cta-wrap { position: relative; z-index: 2; }


  /* ── NAV ─────────────────────────────────────────────── */
  .nav {
    position:        fixed;
    top: 0; inset-inline: 0;
    z-index:         200;
    height:          var(--nav-h);
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding-inline:  var(--gutter);
    background:      rgba(0,0,0,.72);
    backdrop-filter: blur(24px) saturate(140%);
    border-bottom:   1px solid var(--border);
    opacity:         0;
    translate:       0 -20px;
    transition:      opacity .6s var(--ease), translate .6s var(--ease), background .3s;
  }

  .nav.is-ready    { opacity: 1; translate: 0 0; }
  .nav.is-scrolled { background: rgba(0,0,0,.96); }

  .nav__logo {
    font-weight:    900;
    font-size:      .95rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:          var(--white);
    display:        flex;
    align-items:    center;
    gap:            .5rem;
  }

  .nav__logo-img {
    height:  42px;
    width:   auto;
    display: block;
  }

  .nav__logo-text { display: none; }

  .nav__logo-badge {
    font-size:      .52rem;
    font-weight:    700;
    letter-spacing: .12em;
    color:          var(--accent);
    border:         1px solid var(--accent);
    padding:        .15rem .4rem;
    line-height:    1;
  }

  .nav__links {
    display:     flex;
    align-items: center;
    gap:         2rem;
  }

  .nav__links a {
    font-size:      .74rem;
    font-weight:    600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:          var(--text);
    transition:     color .2s;
  }

  .nav__links a:hover { color: var(--white); }

  .nav__cta {
    background:     var(--accent) !important;
    color:          var(--black) !important;
    font-weight:    900;
    padding:        .42rem 1.15rem;
    font-size:      .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition:     opacity .2s !important;
  }

  .nav__cta:hover { opacity: .82; }

  /* ── Burger (mobile only) ─────────────────────────────── */
  .nav__burger {
    display:        none;
    flex-direction: column;
    justify-content: center;
    align-items:    center;
    gap:            5px;
    width:          36px;
    height:         36px;
    background:     transparent;
    border:         none;
    cursor:         pointer;
    padding:        0;
    flex-shrink:    0;
  }

  .nav__burger span {
    display:          block;
    width:            22px;
    height:           1.5px;
    background:       var(--white);
    border-radius:    2px;
    transition:       transform .35s var(--ease), opacity .25s;
    transform-origin: center;
  }

  .nav__burger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav__burger.is-open span:nth-child(2) { opacity: 0; }
  .nav__burger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  /* Mobile nav panel */
  @media (width <= 860px) {
    .nav__burger { display: flex; }

    .nav__links {
      display:          none;
      position:         fixed;
      inset-inline:     0;
      top:              var(--nav-h);
      background:       rgba(0,0,0,.97);
      backdrop-filter:  blur(24px);
      flex-direction:   column;
      padding:          2rem var(--gutter) 3rem;
      gap:              0;
      border-bottom:    1px solid var(--border);
      z-index:          199;
    }

    .nav__links.is-open { display: flex; }

    .nav__links li { border-bottom: 1px solid var(--border); }
    .nav__links li:first-child { border-top: 1px solid var(--border); }

    .nav__links a {
      display:         block;
      padding:         1rem 0;
      font-size:       .9rem;
      letter-spacing:  .1em;
    }

    .nav__links .nav__cta {
      display:      inline-flex;
      margin-top:   1.5rem;
      padding:      .75rem 2rem;
      font-size:    .8rem;
    }
  }


  /* ── HERO ────────────────────────────────────────────── */
  #shader-hero::after {
    content:  '';
    position: absolute;
    inset:    0;
    background:
      radial-gradient(ellipse 75% 65% at 50% 50%, rgba(193,74,26,.18) 0%, transparent 55%),
      radial-gradient(ellipse 95% 90% at 50% 50%, transparent 20%, rgba(0,0,0,.78) 100%);
    pointer-events: none;
  }

  /* Tennis court lines overlay */
  .court-lines {
    position:       absolute;
    inset:          0;
    width:          100%;
    height:         100%;
    stroke:         rgba(255,255,255,.13);
    stroke-width:   .8;
    fill:           none;
    pointer-events: none;
    z-index:        1;
    transition:     opacity 2s ease .5s;
  }

  .hero__eyebrow {
    font-size:      .6rem;
    font-weight:    700;
    letter-spacing: .28em;
    text-transform: uppercase;
    color:          var(--accent);
    display:        flex;
    align-items:    center;
    gap:            .8rem;
    position:       relative;
    z-index:        2;
    margin-bottom:  1rem;
  }


  .hero-title {
    font-size:      clamp(4.95rem, 12.6vw, 13.5rem);
    font-weight:    900;
    line-height:    .86;
    text-transform: uppercase;
    letter-spacing: -.05em;
    position:       relative;
    z-index:        2;
    margin-bottom:  0;
  }

  .hero-title .line-wrap  { display: block; overflow: hidden; }

  .hero-title .line-inner {
    display:    block;
    translate:  0 105%;
    transition: translate 1.1s var(--ease);
  }

  .hero-title .line-inner.is-visible { translate: 0 0; }

  .hero__sub {
    font-size:      .78rem;
    font-weight:    600;
    letter-spacing: .16em;
    color:          var(--text);
    text-transform: uppercase;
    opacity:        0;
    translate:      0 14px;
    transition:     opacity .8s var(--ease) .7s, translate .8s var(--ease) .7s;
    position:       relative;
    z-index:        2;
    flex:           1 1 260px;
  }

  .hero__sub.is-visible { opacity: 1; translate: 0 0; }

  .hero__actions {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         .75rem;
    opacity:     0;
    translate:   0 14px;
    transition:  opacity .8s var(--ease) .9s, translate .8s var(--ease) .9s;
    position:    relative;
    z-index:     2;
  }

  .hero__actions.is-visible { opacity: 1; translate: 0 0; }



  /* ── BUTTONS ─────────────────────────────────────────── */
  .btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             .6rem;
    font-family:     var(--font);
    font-weight:     800;
    font-size:       .8rem;
    letter-spacing:  .12em;
    text-transform:  uppercase;
    border:          none;
    cursor:          pointer;
    padding:         .9rem 2rem;
    transition:      opacity .25s, scale .25s var(--ease);
  }

  .btn--primary { background: var(--accent); color: var(--black); }
  .btn--primary:hover { opacity: .85; scale: 1.02; }

  .btn--ghost {
    background: transparent;
    color:      var(--text);
    border:     1px solid var(--border);
    font-size:  .74rem;
  }

  .btn--ghost:hover { color: var(--white); border-color: rgba(255,255,255,.25); }

  .btn--wa {
    background:     linear-gradient(135deg, #25D366 0%, #1aad54 100%);
    color:          #fff;
    font-size:      .92rem;
    padding:        1.1rem 3.4rem;
    border-radius:  50px;
    animation:      waPulse 2.4s ease infinite;
    letter-spacing: .08em;
  }

  .btn--wa:hover { opacity: .9; scale: 1.03; animation: none; box-shadow: 0 14px 44px rgba(37,211,102,.42); }


  /* ── STATS BAR ───────────────────────────────────────── */
  .stats-bar {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom:         1px solid var(--border);
  }

  .stat-item {
    padding:      clamp(1.6rem,3.5vw,2.4rem) clamp(1.2rem,2.5vw,2rem);
    border-right: 1px solid var(--border);
  }

  .stat-item:last-child { border-right: none; }

  .stat-item__num {
    display:        block;
    font-size:      clamp(2.4rem, 4.2vw, 3.8rem);
    font-weight:    900;
    line-height:    1;
    letter-spacing: -.04em;
    color:          var(--accent);
  }

  .stat-item__lbl {
    display:        block;
    margin-top:     .4rem;
    font-size:      .66rem;
    font-weight:    700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color:          var(--muted);
  }


  /* ── SECTION HEADER ──────────────────────────────────── */
  .section__label {
    display:        inline-flex;
    align-items:    center;
    gap:            .6rem;
    font-size:      .62rem;
    font-weight:    700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color:          var(--muted);
    margin-bottom:  1.4rem;
  }

  .section__label::before {
    content:    '';
    width:      18px;
    height:     1px;
    background: var(--accent);
    flex-shrink: 0;
  }

  .section__title {
    font-size:      clamp(2.6rem, 5.2vw, 4.8rem);
    font-weight:    900;
    line-height:    .94;
    text-transform: uppercase;
    letter-spacing: -.04em;
    color:          var(--white);
  }

  .section__rule { width: 100%; height: 1px; background: var(--border); border: none; margin: 0; }


  /* ── SOBRE ───────────────────────────────────────────── */

  /* Positioning context so absolute children are contained */
  .sobre-section { position: relative; overflow: hidden; }

  /* Clay court photo background — salve a foto em images/court-bg.jpg */
  .sobre-photo-bg {
    position:            absolute;
    inset:               0;
    background-image:    url('../images/court-bg.jpg');
    background-size:     cover;
    background-position: center 40%;
    z-index:             0;
  }

  .sobre-photo-bg::after {
    content:    '';
    position:   absolute;
    inset:      0;
    /* Escurecimento gradiente preservando o tom laranja do saibro ao centro */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,.86) 0%,
      rgba(8,3,1,.65) 50%,
      rgba(0,0,0,.90) 100%
    );
  }

  /* Simbolo.png ghost — full-section centered watermark */
  .sobre-symbol {
    position:       absolute;
    top:            50%;
    left:           50%;
    translate:      -50% -50%;
    width:          clamp(320px, 65vw, 820px);
    height:         auto;
    opacity:        .055;
    filter:         brightness(0) invert(1);
    pointer-events: none;
    user-select:    none;
    z-index:        0;
  }

  /* Ensure section content renders above the absolute decorations */
  .sobre-section .section__inner { position: relative; z-index: 1; }

  .sobre-grid {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   clamp(2rem, 5vw, 5rem);
    align-items:           start;
    margin-top:            2.5rem;
  }

  .sobre-text p {
    font-size:     .9rem;
    line-height:   1.78;
    color:         var(--text);
    margin-bottom: .9rem;
  }

  .sobre-features { margin-top: 1.8rem; }

  .sobre-feature {
    display:       grid;
    grid-template-columns: .8rem 1fr;
    gap:           .9rem;
    align-items:   start;
    padding:       .78rem 0;
    border-bottom: 1px solid var(--border);
    font-size:     .85rem;
    color:         var(--text);
  }

  .sobre-feature:first-child { border-top: 1px solid var(--border); }

  .sobre-feature__dot {
    width: 4px; height: 4px;
    border-radius: 50%;
    background:    var(--accent);
    margin-top:    .5em;
  }

  .sobre-num-wrap {
    display:     flex;
    align-items: center;
    gap:         clamp(.6rem, 1.5vw, 1.4rem);
    justify-content: flex-end;
  }

  .sobre-num__simbolo {
    width:   clamp(54px, 9.5vw, 108px);
    height:  auto;
    filter:  brightness(0) saturate(100%) invert(76%) sepia(59%) saturate(494%) hue-rotate(38deg) brightness(108%) contrast(97%);
    opacity: 1;
  }

  .sobre-num {
    font-size:      clamp(7rem, 16vw, 16rem);
    font-weight:    900;
    line-height:    .85;
    letter-spacing: -.06em;
    color:          var(--accent);
    text-align:     right;
  }

  .sobre-num__lbl {
    display:        block;
    font-size:      .7rem;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--muted);
    text-align:     right;
    margin-top:     .5rem;
  }


  /* ── MEDIA CARD SLIDER ──────────────────────────────── */
  .media-slider-wrap {
    padding:  1.5rem var(--gutter) clamp(2rem,4vw,3.5rem);
    position: relative;
    z-index:  1;
  }

  .media-slider {
    display:                    flex;
    gap:                        1rem;
    overflow-x:                 auto;
    scroll-snap-type:           x mandatory;
    scroll-behavior:            smooth;
    -webkit-overflow-scrolling: touch;
    cursor:                     grab;
    scrollbar-width:            none;
    padding-bottom:             .25rem;
  }

  .media-slider::-webkit-scrollbar { display: none; }
  .media-slider:active { cursor: grabbing; }

  .media-card {
    flex:              0 0 min(280px, 78vw);
    aspect-ratio:      3/4;
    border-radius:     14px;
    overflow:          hidden;
    position:          relative;
    background:        rgba(255,255,255,.05);
    border:            1px solid rgba(255,255,255,.1);
    scroll-snap-align: start;
  }

  @media (width >= 861px) {
    .media-card { flex: 0 0 calc(33.33% - .68rem); }
  }

  .media-card__bg {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100%;
    object-fit: cover;
    z-index:    0;
  }

  .media-card__bg:not([src]),
  .media-card__bg[src=""] { display: none; }

  .media-card__inner {
    position:        absolute;
    inset:           0;
    z-index:         1;
    display:         flex;
    flex-direction:  column;
    justify-content: space-between;
    padding:         1.2rem;
    background:      linear-gradient(
      to bottom,
      rgba(0,0,0,.4) 0%,
      transparent 38%,
      rgba(0,0,0,.8) 100%
    );
  }

  .media-card__tag {
    display:        flex;
    align-items:    center;
    gap:            .45rem;
    font-size:      .56rem;
    font-weight:    700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color:          rgba(255,255,255,.72);
  }

  .media-card__dot {
    width:         7px;
    height:        7px;
    background:    var(--accent);
    border-radius: 1px;
    flex-shrink:   0;
  }

  .media-card__play-icon {
    flex:            1;
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           rgba(255,255,255,.42);
  }

  .media-card__foot { display: flex; flex-direction: column; gap: .65rem; }

  .media-card__title {
    font-size:      clamp(.9rem, 1.6vw, 1.15rem);
    font-weight:    900;
    text-transform: uppercase;
    letter-spacing: -.02em;
    color:          var(--white);
    line-height:    1.08;
  }

  .media-card__actions {
    display:         flex;
    gap:             .45rem;
    justify-content: center;
  }

  .media-card__btn {
    font-family:    var(--font);
    font-size:      .58rem;
    font-weight:    800;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding:        .38rem 1rem;
    border:         1px solid rgba(255,255,255,.22);
    background:     rgba(255,255,255,.1);
    backdrop-filter: blur(12px);
    color:          var(--white);
    border-radius:  50px;
    cursor:         pointer;
    user-select:    none;
    transition:     background .2s, border-color .2s;
  }

  .media-card__btn:hover { background: rgba(255,255,255,.25); }

  .media-card__btn--alt {
    background:   rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.38);
  }

  .media-slider__hint {
    margin-top:     .75rem;
    font-size:      .58rem;
    font-weight:    700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:          var(--muted);
    text-align:     right;
  }


  /* ── SOBRE A TEMPUS ──────────────────────────────────── */
  .tempus-quote {
    font-size:      clamp(1.5rem, 3vw, 2.6rem);
    font-weight:    900;
    line-height:    1.12;
    text-transform: uppercase;
    letter-spacing: -.02em;
    color:          var(--white);
    max-width:      900px;
    margin-bottom:  2.5rem;
  }

  .tempus-quote em {
    font-style: normal;
    color:      var(--accent);
  }

  .tempus-body {
    display:    grid;
    grid-template-columns: 1fr 1fr;
    gap:        clamp(2rem, 5vw, 5rem);
    margin-top: 3rem;
    border-top: 1px solid var(--border);
    padding-top: 2.5rem;
  }

  .tempus-body p {
    font-size:   .9rem;
    line-height: 1.75;
    color:       var(--text);
  }

  .tempus-tags {
    display:        flex;
    flex-wrap:      wrap;
    gap:            .5rem;
    margin-top:     1.5rem;
  }

  .tempus-tag {
    font-size:      .62rem;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--black);
    background:     var(--accent);
    padding:        .3rem .75rem;
  }


  /* ── ATIVIDADES ──────────────────────────────────────── */
  .activity-list { margin-top: 2.5rem; }

  .activity-item {
    display:       grid;
    grid-template-columns: 3rem 1fr auto;
    align-items:   center;
    gap:           1.5rem;
    padding:       1.4rem 0;
    border-bottom: 1px solid var(--border);
    cursor:        default;
  }

  .activity-item:first-child { border-top: 1px solid var(--border); }

  .activity-item:hover .activity-item__name  { color: var(--white); }
  .activity-item:hover .activity-item__arrow { opacity: .8; translate: 4px 0; }

  .activity-item__num {
    font-size:      .62rem;
    font-weight:    700;
    letter-spacing: .1em;
    color:          var(--accent);
  }

  .activity-item__name {
    font-size:      1rem;
    font-weight:    800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color:          var(--text);
    transition:     color .25s;
  }

  .activity-item__desc {
    font-size:   .8rem;
    color:       var(--muted);
    margin-top:  .25rem;
    line-height: 1.5;
  }

  .activity-item__arrow {
    font-size:  1rem;
    color:      var(--white);
    opacity:    .18;
    transition: opacity .25s, translate .25s var(--ease);
  }


  /* ── PÚBLICO ─────────────────────────────────────────── */
  .pub-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    border-top:            1px solid var(--border);
  }

  .pub-item {
    padding:      clamp(1.8rem,4vw,3rem);
    border-right: 1px solid var(--border);
  }

  .pub-item:last-child { border-right: none; }

  .pub-item__num {
    font-size:      .62rem;
    font-weight:    700;
    letter-spacing: .12em;
    color:          var(--accent);
    margin-bottom:  1rem;
  }

  .pub-item__title {
    font-size:      1.35rem;
    font-weight:    900;
    text-transform: uppercase;
    letter-spacing: -.02em;
    line-height:    1.05;
    color:          var(--white);
    margin-bottom:  .8rem;
  }

  .pub-item__desc { font-size: .83rem; color: var(--text); line-height: 1.65; }


  /* ── GALERIA ─────────────────────────────────────────── */
  .gallery-track-wrap {
    position:   relative;
    overflow:   hidden;
    height:     64vh;
    min-height: 420px;
    border-top: 1px solid var(--border);
    cursor:     grab;
  }

  .gallery-track-wrap:active { cursor: grabbing; }

  .gallery-track { display: flex; height: 100%; }

  .gallery-slide {
    width:          100vw;
    height:         100%;
    flex-shrink:    0;
    background:     var(--surface);
    border-right:   1px solid var(--border);
    display:        flex;
    flex-direction: column;
    align-items:    center;
    justify-content: center;
    position:       relative;
    overflow:       hidden;
    /*
     * Para adicionar foto: adicione diretamente no HTML:
     * style="background-image:url('images/foto1.jpg');background-size:cover;background-position:center"
     */
  }

  .gallery-slide:last-child { border-right: none; }

  .gallery-slide__img {
    position:        absolute;
    inset:           0;
    width:           100%;
    height:          100%;
    object-fit:      cover;
    object-position: center;
  }

  .gallery-slide__ghost {
    position:       absolute;
    font-size:      clamp(9rem, 22vw, 20rem);
    font-weight:    900;
    color:          rgba(255,255,255,.04);
    letter-spacing: -.06em;
    pointer-events: none;
    user-select:    none;
  }

  .gallery-slide__label {
    font-size:      .64rem;
    font-weight:    700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color:          rgba(255,255,255,.18);
    border:         1px dashed rgba(255,255,255,.1);
    padding:        .55rem 1.1rem;
    position:       relative;
    z-index:        1;
  }

  .gallery-dots {
    position:  absolute;
    bottom:    1.4rem;
    left:      50%;
    translate: -50% 0;
    display:   flex;
    gap:       .5rem;
    z-index:   2;
  }

  .gallery-dot {
    width:         6px;
    height:        6px;
    border-radius: 50%;
    background:    rgba(255,255,255,.18);
    transition:    background .35s, scale .35s;
  }

  .gallery-dot.is-active { background: var(--accent); scale: 1.3; }


  /* ── CTA FINAL — "ENTRE NO CÍRCULO" ──────────────────── */
  .cta-wrap {
    text-align:     center;
    padding-block:  clamp(6rem, 14vw, 12rem);
    padding-inline: var(--gutter);
    position:       relative;
    overflow:       hidden;
  }

  .cta-wrap__eyebrow {
    font-size:       .62rem;
    font-weight:     700;
    letter-spacing:  .22em;
    text-transform:  uppercase;
    color:           var(--muted);
    margin-bottom:   1.6rem;
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             .6rem;
  }

  .cta-wrap__eyebrow::before,
  .cta-wrap__eyebrow::after {
    content:    '';
    width:      18px;
    height:     1px;
    background: var(--accent);
  }

  .cta-wrap__title {
    font-size:      clamp(3.5rem, 9.5vw, 9.5rem);
    font-weight:    900;
    text-transform: uppercase;
    color:          var(--white);
    line-height:    .92;
    letter-spacing: -.05em;
    margin-bottom:  1.2rem;
  }

  /* Cycling word row (adapted from animated-hero React component) */
  .cta-cycling {
    height:          clamp(2.2rem, 4vw, 4rem);
    overflow:        hidden;
    position:        relative;
    margin-bottom:   3rem;
    display:         flex;
    align-items:     center;
    justify-content: center;
  }

  .cta-cycling-word {
    font-size:      clamp(1rem, 2.2vw, 1.8rem);
    font-weight:    700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color:          var(--accent);
    position:       absolute;
  }

  .cta-wrap__ghost {
    position:        absolute;
    inset:           0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       clamp(9rem, 22vw, 24rem);
    font-weight:     900;
    color:           rgba(255,255,255,.025);
    letter-spacing:  -.06em;
    text-transform:  uppercase;
    pointer-events:  none;
    user-select:     none;
    white-space:     nowrap;
  }

  .cta-wrap__fine {
    margin-top:     1.5rem;
    font-size:      .68rem;
    color:          var(--muted);
    letter-spacing: .1em;
  }


  /* ── FOOTER ──────────────────────────────────────────── */

  .footer__brand {
    display:     flex;
    align-items: center;
    gap:         .5rem;
  }

  .footer__logo {
    height:  18px;
    width:   auto;
    opacity: .8;
    display: block;
  }

  .footer__logo-fallback { display: none; }

  .footer {
    background:      var(--surface);
    border-top:      1px solid var(--border);
    padding-block:   1.6rem;
    padding-inline:  var(--gutter);
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    font-size:       .7rem;
    letter-spacing:  .07em;
    color:           var(--muted);
  }

  .footer strong { color: var(--white); }
  .footer a      { color: var(--text); transition: color .2s; }
  .footer a:hover { color: var(--white); }


  /* ── RESPONSIVE ──────────────────────────────────────── */
  @media (width <= 860px) {
    .stats-bar { grid-template-columns: 1fr 1fr; }
    .stat-item:nth-child(2) { border-right: none; }
    .stat-item:nth-child(3) { grid-column: 1 / -1; border-right: none; border-top: 1px solid var(--border); }
    .stat-item:nth-child(1),
    .stat-item:nth-child(2) { border-bottom: 1px solid var(--border); }

    .sobre-grid  { grid-template-columns: 1fr; }
    .sobre-num   { text-align: left; }
    .sobre-num__lbl { text-align: left; }

    .tempus-body { grid-template-columns: 1fr; }

    .pub-grid { grid-template-columns: 1fr; }
    .pub-item { border-right: none; border-bottom: 1px solid var(--border); }
    .pub-item:last-child { border-bottom: none; }

    .gallery-track-wrap { height: 52vh; min-height: 320px; }
  }

  @media (width <= 480px) {
    .stats-bar { grid-template-columns: 1fr 1fr; }
    .stat-item:nth-child(1),
    .stat-item:nth-child(2) { border-bottom: 1px solid var(--border); }
    .stat-item:nth-child(3) { grid-column: 1 / -1; border-right: none; border-top: none; border-bottom: none; }

    .activity-item { grid-template-columns: 2.5rem 1fr; }
    .activity-item__arrow { display: none; }

    .gallery-track-wrap { height: 44vh; min-height: 260px; }
  }
}
