
    @font-face { font-family:'Bronzier'; src:url('../fonts/BRONZIER/Bronzier-Bold.otf') format('opentype'); font-weight:700; font-display:swap; }
    @font-face { font-family:'Bronzier'; src:url('../fonts/BRONZIER/Bronzier-Medium.otf') format('opentype'); font-weight:500; font-display:swap; }
    @font-face { font-family:'Chandler'; src:url('../fonts/CHANDLER/ChandlerMountain-Bold.otf') format('opentype'); font-weight:700; font-display:swap; }
    @font-face { font-family:'Chandler'; src:url('../fonts/CHANDLER/ChandlerMountain-Regular.otf') format('opentype'); font-weight:400; font-display:swap; }
    @font-face { font-family:'Fixture'; src:url('../fonts/fixture-sans-serif-font-family-1775742991-0/Fixture-ExtraBold.otf') format('opentype'); font-weight:800; font-display:swap; }
    @font-face { font-family:'Fixture'; src:url('../fonts/fixture-sans-serif-font-family-1775742991-0/Fixture-SemiBold.otf') format('opentype'); font-weight:600; font-display:swap; }
    @font-face { font-family:'Fixture'; src:url('../fonts/fixture-sans-serif-font-family-1775742991-0/Fixture-Light.otf') format('opentype'); font-weight:300; font-display:swap; }
  

    /* ─── TOKENS ─── */
    :root {
      --void:   #03060C;
      --abyss:  #080D18;
      --deep:   #0E1422;
      --gold-dim:    #8A6000;
      --gold:        #C8860A;
      --gold-mid:    #D4A017;
      --gold-bright: #F0B429;
      --gold-sun:    #FFD166;
      --ember:  #7A2800;
      --flame:  #FB8500;
      --parchment:  #F5ECD7;
      --text:   #F5ECD7;
      --muted:  rgba(245,236,215,0.55);
      --grad-gold: linear-gradient(135deg,#8A6000 0%,#F0B429 50%,#C8860A 100%);
      --grad-fire: linear-gradient(135deg,#7A2800 0%,#FB8500 60%,#FFD166 100%);
      --ease-out: cubic-bezier(0.19,1,0.22,1);
      --font-d: 'Bronzier','Georgia',serif;
      --font-t: 'Chandler','Georgia',serif;
      --font-b: 'Fixture',system-ui,sans-serif;
    }

    /* ─── RESET ─── */
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html   { scroll-behavior:auto; height:auto; -webkit-font-smoothing:antialiased; }
    body   { background:var(--void); color:var(--text); font-family:var(--font-b);
             font-weight:300; overflow-x:hidden; overscroll-behavior:none; }
    img    { max-width:100%; display:block; user-select:none; }
    a      { color:inherit; text-decoration:none; }

    /* ─── HERO ─── */
    .hero {
      position: relative;
      width: 100%;
      min-height: 100svh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: var(--void);
    }

    /* BG image — inset negativo dá folga para o parallax sem criar scroll */
    .hero__bg {
      position: absolute;
      inset: -8%;
      z-index: 0;
      will-change: translate;
    }
    .hero__bg img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 20%;
    }
    /* Multi-layer overlay: preserves castle silhouette top, darkens toward bottom */
    .hero__bg::after {
      content:'';
      position:absolute; inset:0;
      background:
        linear-gradient(to bottom,
          rgba(3,6,12,.10) 0%,
          rgba(3,6,12,.05) 15%,
          rgba(3,6,12,.20) 45%,
          rgba(3,6,12,.80) 72%,
          rgba(3,6,12,.98) 100%
        ),
        radial-gradient(ellipse 80% 60% at 50% 0%, transparent 40%, rgba(3,6,12,.55) 100%);
    }

    /* God-ray / divine light from top */
    .hero__light {
      position: absolute;
      top: -10%; left:50%; transform:translateX(-50%);
      width: min(900px,130vw);
      height: min(1000px,140vw);
      background: radial-gradient(ellipse 60% 55% at 50% 5%,
        rgba(240,180,41,.18) 0%,
        rgba(200,134,10,.08) 38%,
        transparent 70%
      );
      z-index: 1; pointer-events:none;
      animation: lightPulse 5s ease-in-out infinite;
    }
    @keyframes lightPulse {
      0%,100%{ opacity:.65; } 50%{ opacity:1; }
    }

    /* Subtle rays (CSS only) */
    .hero__rays {
      position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;
    }
    .hero__rays::before, .hero__rays::after {
      content:'';
      position:absolute;
      top: -20%;
      left: 50%;
      width: 3px;
      height: 100%;
      background: linear-gradient(to bottom, rgba(240,180,41,.12) 0%, transparent 60%);
      transform-origin: top center;
      filter: blur(2px);
    }
    .hero__rays::before { transform: rotate(-12deg); }
    .hero__rays::after  { transform: rotate(12deg); }

    /* Vignette corners */
    .hero__vignette {
      position:absolute; inset:0; z-index:2; pointer-events:none;
      background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 50%, rgba(3,6,12,.55) 100%);
    }

    /* Particles */
    .hero__particles { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
    .p {
      position:absolute; border-radius:50%;
      background:var(--gold-bright);
      animation: pRise var(--d,10s) ease-in infinite var(--dl,0s);
      opacity:0; will-change:transform,opacity;
    }
    @keyframes pRise {
      0%   { opacity:0; transform:translateY(0) translateX(0) scale(.6); }
      8%   { opacity:.9; }
      85%  { opacity:.3; }
      100% { opacity:0; transform:translateY(-85vh) translateX(var(--dx,0px)) scale(1.4); }
    }

    /* ─── 3D STAGE (flags + shield) ─── */
    .hero__stage {
      position:absolute; inset:0; z-index:3; pointer-events:none;
      /* Stage shifts on scroll exit */
      will-change: transform;
    }

    /* Flags — extremidades da direita e esquerda, ancoradas no bottom */
    .hero__flag {
      position: absolute;
      bottom: -4vw;
      will-change: translate;
      z-index: 3;
    }
    .hero__flag--left  { left: -4vw; transform-origin: bottom left; }
    .hero__flag--right { right: -4vw; transform-origin: bottom right; }

    /* Inner: CSS wave animation lives here — separate from JS translate */
    .hero__flag-inner { display:block; }
    .hero__flag--left  .hero__flag-inner { animation: waveL 9s ease-in-out infinite; }
    .hero__flag--right .hero__flag-inner { animation: waveR 9s ease-in-out infinite 1.4s; }
    @keyframes waveL {
      0%,100%{ transform:rotate(-1.5deg) skewY(.3deg) translateY(0); }
      35%    { transform:rotate(.5deg) skewY(-.2deg) translateY(-10px); }
      70%    { transform:rotate(-0.8deg) skewY(.15deg) translateY(-4px); }
    }
    @keyframes waveR {
      0%,100%{ transform:rotate(1.5deg) skewY(-.3deg) translateY(0); }
      35%    { transform:rotate(-.5deg) skewY(.2deg) translateY(-10px); }
      70%    { transform:rotate(.8deg) skewY(-.15deg) translateY(-4px); }
    }
    .hero__flag img {
      height: clamp(240px, 58vh, 680px);
      width: auto; object-fit:contain;
      filter:
        drop-shadow(0 16px 40px rgba(0,0,0,.8))
        drop-shadow(0 0 24px rgba(200,134,10,.14));
    }

    /* Shield outer — parte do fluxo do conteúdo, peça visual principal */
    .hero__shield-outer {
      position: relative;
      z-index: 4;
      will-change: translate;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: clamp(16px, 3vh, 32px);
    }
    /* Halo glow ring behind shield */
    .hero__shield-halo {
      position:absolute;
      top:50%; left:50%; transform:translate(-50%,-50%);
      width: 160%; height: 160%;
      background: radial-gradient(ellipse at center,
        rgba(240,180,41,.22) 0%,
        rgba(200,134,10,.10) 40%,
        transparent 72%
      );
      animation: haloPulse 4.5s ease-in-out infinite;
      z-index:0; pointer-events:none;
    }
    @keyframes haloPulse {
      0%,100%{ opacity:.7; transform:translate(-50%,-50%) scale(1); }
      50%    { opacity:1;  transform:translate(-50%,-50%) scale(1.10); }
    }
    /* Inner: receives parallax translate via JS */
    .hero__shield-inner {
      position: relative; z-index:1;
      will-change: translate;
    }
    /* Img: CSS float animation */
    .hero__shield-img {
      width: clamp(220px,38vw,520px);
      display:block;
      filter: none;
      animation: shieldFloat 7s ease-in-out infinite;
      will-change: transform;
    }
    @keyframes shieldFloat {
      0%,100%{ transform:translateY(0)   rotate(0deg); }
      30%    { transform:translateY(-16px) rotate(.45deg); }
      70%    { transform:translateY(-8px)  rotate(-.45deg); }
    }

    /* ─── HERO CONTENT (coluna central, fluxo normal) ─── */
    .hero__content {
      position: relative; z-index:10;
      width:100%; max-width:880px;
      padding: clamp(80px,12vh,120px) clamp(16px,4vw,40px) clamp(40px,6vh,72px);
      display:flex; flex-direction:column; align-items:center;
      text-align:center;
    }

    /* Eyebrow */
    .hero__eyebrow {
      display: inline-flex; align-items:center; gap:10px;
      font-family:var(--font-b); font-size:clamp(.62rem,1.2vw,.75rem);
      font-weight:600; letter-spacing:.28em; text-transform:uppercase;
      color:var(--gold); margin-bottom:14px;
      opacity:0; will-change:opacity,transform;
    }
    .hero__eyebrow-dot { width:4px; height:4px; border-radius:50%; background:var(--gold-dim); }

    /* Verse */
    .hero__verse {
      font-family:var(--font-b); font-style:italic; font-weight:300;
      font-size:clamp(.82rem,1.7vw,1.02rem); line-height:1.75;
      color:var(--muted); max-width:520px; margin-bottom:4px;
      opacity:0;
    }
    .hero__verse-ref {
      font-family:var(--font-b); font-size:.7rem; font-weight:600;
      letter-spacing:.2em; text-transform:uppercase;
      color:var(--gold); margin-bottom:36px; opacity:0;
    }

    /* ─── COUNTDOWN ─── */
    .countdown {
      display:flex; align-items:flex-start; gap:clamp(6px,1.5vw,18px);
      justify-content:center; margin-bottom:clamp(28px,4vh,48px);
      opacity:0; will-change:opacity,transform;
    }
    .cd-unit {
      display:flex; flex-direction:column; align-items:center;
      min-width:clamp(58px,9vw,88px);
    }
    .cd-box {
      width:100%;
      background: rgba(200,134,10,.07);
      border: 1px solid rgba(200,134,10,.28);
      border-radius:12px;
      padding: clamp(10px,1.8vw,18px) 4px clamp(8px,1.4vw,14px);
      margin-bottom:8px;
      position:relative; overflow:hidden;
    }
    /* Shine line top */
    .cd-box::before {
      content:''; position:absolute;
      top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg, transparent, rgba(200,134,10,.55), transparent);
    }
    /* Inner glow bottom */
    .cd-box::after {
      content:''; position:absolute;
      bottom:0; left:0; right:0; height:40%;
      background:linear-gradient(to top, rgba(200,134,10,.05), transparent);
      pointer-events:none;
    }
    .cd-num {
      font-family:var(--font-d); font-weight:700;
      font-size:clamp(1.7rem,4vw,3.2rem);
      color:var(--gold-bright); line-height:1;
      display:block; text-align:center;
      transition:transform .18s ease, opacity .18s ease;
    }
    .cd-num.flip { transform:translateY(-6px); opacity:.6; }
    .cd-label {
      font-family:var(--font-b); font-size:clamp(.5rem,1vw,.62rem);
      font-weight:600; letter-spacing:.2em; text-transform:uppercase;
      color:var(--muted);
    }
    .cd-sep {
      font-family:var(--font-d); font-size:clamp(1.7rem,4vw,3.2rem);
      color:var(--gold-dim); line-height:1;
      padding-top:clamp(10px,1.8vw,18px);
    }

    /* ─── CTA BUTTON ─── */
    .hero__cta {
      display:inline-flex; align-items:center; justify-content:center; gap:12px;
      padding: clamp(15px,2vw,22px) clamp(28px,5vw,56px);
      background: var(--grad-gold);
      color: var(--void);
      font-family: var(--font-b); font-weight:800;
      font-size: clamp(.82rem,1.6vw,.98rem);
      letter-spacing: .08em; text-transform:uppercase;
      border-radius: 100px;
      position: relative; overflow:hidden;
      opacity:0; will-change:opacity,transform;
      box-shadow:
        0 8px 32px rgba(200,134,10,.42),
        0 0  60px rgba(200,134,10,.15),
        inset 0 1px 0 rgba(255,255,255,.22);
      transition:
        transform .3s var(--ease-out),
        box-shadow .3s ease;
    }
    .hero__cta:hover {
      transform: scale(1.04) translateY(-3px);
      box-shadow:
        0 14px 44px rgba(200,134,10,.62),
        0 0  90px rgba(200,134,10,.28),
        inset 0 1px 0 rgba(255,255,255,.22);
    }
    /* Shimmer overlay */
    .hero__cta::before {
      content:''; position:absolute;
      inset:0;
      background:linear-gradient(105deg, rgba(255,255,255,.22) 0%, transparent 55%);
      pointer-events:none;
    }
    /* Pulse glow (after entrance) */
    .hero__cta.active {
      animation: ctaGlow 3s ease-in-out infinite;
    }
    @keyframes ctaGlow {
      0%,100%{ box-shadow: 0 8px 32px rgba(200,134,10,.42), 0 0 60px rgba(200,134,10,.15), inset 0 1px 0 rgba(255,255,255,.22); }
      50%    { box-shadow: 0 8px 32px rgba(200,134,10,.65), 0 0 110px rgba(200,134,10,.32), inset 0 1px 0 rgba(255,255,255,.22); }
    }
    .hero__cta svg { flex-shrink:0; transition:transform .3s ease; }
    .hero__cta:hover svg { transform:translateX(4px); }

    /* ─── SCROLL HINT ─── */
    .hero__scroll {
      position:absolute; bottom:22px; left:50%;
      transform:translateX(-50%);
      z-index:10; display:flex; flex-direction:column;
      align-items:center; gap:7px; opacity:0;
    }
    .hero__scroll-text {
      font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
    }
    .hero__scroll-bar {
      width:1px; height:38px;
      background:linear-gradient(to bottom, var(--gold), transparent);
      animation: scrollBar 2s ease-in-out infinite;
      transform-origin:top;
    }
    @keyframes scrollBar {
      0%   { transform:scaleY(0); opacity:0; }
      40%  { transform:scaleY(1); opacity:1; }
      100% { transform:scaleY(1); transform-origin:bottom; opacity:0; }
    }

    /* ─── MOBILE ─── */
    @media (max-width:767px) {
      /* Hero: altura natural, elementos posicionados como no desktop */
      .hero {
        min-height: auto;
        justify-content: flex-start;
      }

      /* Hero: centralizado, sem esticar */
      .hero__content {
        padding: clamp(68px,10vh,90px) 20px 28px;
        gap: 0;
      }

      /* Escudo: menor, proporcional */
      .hero__shield-img { width: clamp(130px,52vw,210px); }
      .hero__shield-outer { margin-bottom: 18px; }

      /* Bandeiras: menores, extremos e mais para baixo */
      .hero__flag { opacity:.85; bottom:-9vw; }
      .hero__flag--left  { left:-11vw; }
      .hero__flag--right { right:-6vw; }
      .hero__flag img { height: clamp(100px,26vh,180px); }

      /* Contagem: horizontal compacta, sem quebrar linha */
      .countdown {
        flex-wrap: nowrap;
        gap: 4px;
        margin-bottom: 20px;
      }
      .cd-unit { min-width: auto; flex: 1; }
      .cd-box  { padding: 8px 4px; border-radius: 8px; }
      .cd-num  { font-size: clamp(1.3rem,6vw,1.8rem); }
      .cd-sep  { font-size: clamp(1.3rem,6vw,1.8rem); padding-top: 8px; }
      .cd-label { font-size: .5rem; }

      /* Botão: menor no mobile */
      .hero__cta {
        padding: 11px 22px;
        font-size: .72rem;
        max-width: 260px;
        width: 100%;
      }

      /* Scroll hint: oculto no mobile */
      .hero__scroll { display: none; }
    }

    @media (max-width:390px) {
      .hero__shield-img { width: 48vw; }
      .hero__flag img   { height: clamp(80px,22vh,140px); }
      .hero__flag { bottom:-7vw; }
      .hero__flag--left  { left:-7vw; }
      .hero__flag--right { right:-7vw; }
      .cd-num           { font-size: 1.2rem; }
    }

    /* ─── SHARED BG (about + pricing) ─── */
    .sections-bg {
      position: relative;
    }
    .sections-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url('bg2.png');
      background-size: 100% auto;   /* largura 100%, altura proporcional — sem zoom */
      background-repeat: no-repeat;
      background-position: top center;
      opacity: .17;
      filter: saturate(.6);
      z-index: 0;
      pointer-events: none;
    }

    /* ─── ABOUT ─── */
    .about {
      position: relative;
      min-height: 100svh;
      display: flex;
      align-items: center;
      padding: clamp(60px,6vh,90px) clamp(20px,5vw,60px);
    }
    .about__inner {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(32px,5vw,70px);
      align-items: center;
    }

    /* ── Collage (esquerda) — fotos sobrepostas, posicionamento livre ── */
    .about__collage {
      position: relative;
      height: clamp(540px, 72vh, 820px);   /* retângulo em pé: mais alto que largo */
      padding: clamp(48px, 5.5vw, 66px);
      overflow: visible;
      transform-style: preserve-3d;
    }

    /* Moldura de texto quadrada estilo Dunamis — fonte enorme */
    .about__outer-frame {
      position: absolute;
      inset: 0;
      pointer-events: none;
      user-select: none;
      z-index: 0;
      opacity: 0; /* GSAP anima */
    }
    .of-t,.of-b,.of-r,.of-l {
      position: absolute;
      font-family: var(--font-d);
      font-weight: 700;
      text-transform: uppercase;
      color: transparent;
      overflow: hidden;
      white-space: nowrap;
      -webkit-text-stroke: 1.5px rgba(200,134,10,.75);
      letter-spacing: .03em;
    }
    .of-t,.of-b {
      left: 0; right: 0;
      height: clamp(52px,6vw,72px);
      line-height: clamp(52px,6vw,72px);
      font-size: clamp(40px,5vw,62px);
    }
    .of-t { top: 0; }
    .of-b { bottom: 0; transform: scaleX(-1); }
    .of-r,.of-l {
      top: clamp(52px,6vw,72px); bottom: clamp(52px,6vw,72px);
      width: clamp(52px,6vw,72px);
      line-height: clamp(52px,6vw,72px);
      font-size: clamp(40px,5vw,62px);
      writing-mode: vertical-rl;
    }
    .of-r { right: 0; }
    .of-l { left: 0; transform: scaleY(-1); }

    /* Photo-wrap: absolutamente posicionado via CSS vars, sobrepõe */
    .about__photo-wrap {
      position: absolute;
      top:    var(--pt);
      left:   var(--pl);
      width:  var(--pw);
      height: var(--ph);
      z-index: var(--pz, 1);
      opacity: 0; /* GSAP anima */
    }
    .about__photo-wrap:hover { z-index: 20 !important; }
    .about__photo-wrap:hover .about__photo { box-shadow: 0 24px 60px rgba(0,0,0,.7); }
    .about__photo-wrap:hover .about__photo img { transform: scale(1.07); }

    /* Foto: preenche o wrap */
    .about__photo {
      position: absolute;
      inset: 0;
      overflow: hidden;
      border-radius: 10px;
      will-change: transform;
      transition: box-shadow .5s;
    }
    .about__photo img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      transition: transform .6s var(--ease-out);
    }
    .about__photo-ov {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(3,6,12,.5) 0%, transparent 55%);
      pointer-events: none;
    }

    /* ── Text col (direita) ── */
    .about__text-col {
      display: flex;
      flex-direction: column;
      gap: clamp(10px,2vh,22px);
    }

    .about__verse-ref {
      font-family: var(--font-b);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .about__verse-text {
      font-family: var(--font-d);
      font-size: clamp(1.25rem,2.8vw,1.9rem);
      font-weight: 700;
      line-height: 1.35;
      color: var(--parchment);
      font-style: normal;
      border-left: 2px solid var(--gold);
      padding-left: 20px;
    }
    .about__verse-text em {
      font-style: normal;
      background: var(--grad-gold);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .about__label {
      font-family: var(--font-b);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .about__heading {
      font-family: var(--font-d);
      font-size: clamp(1.8rem,3.8vw,3rem);
      font-weight: 700;
      line-height: 1.1;
      color: var(--parchment);
    }
    .about__body {
      font-family: var(--font-b);
      font-size: clamp(.88rem,1.4vw,1rem);
      font-weight: 300;
      line-height: 1.78;
      color: var(--muted);
    }
    .about__body strong { color: var(--parchment); font-weight: 600; }

    /* Info list */
    .about__info-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 4px;
    }
    .about__info-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 14px 18px;
      background: rgba(200,134,10,.06);
      border: 1px solid rgba(200,134,10,.15);
      border-radius: 14px;
      transition: background .3s, border-color .3s;
    }
    .about__info-item:hover {
      background: rgba(200,134,10,.1);
      border-color: rgba(200,134,10,.32);
    }
    .about__info-icon {
      width: 40px; height: 40px;
      flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      background: rgba(200,134,10,.12);
      border-radius: 10px;
      color: var(--gold-bright);
    }
    .about__info-icon svg { width: 20px; height: 20px; }
    .about__info-content { display: flex; flex-direction: column; gap: 2px; }
    .about__info-value {
      font-family: var(--font-d);
      font-size: clamp(1rem,1.8vw,1.2rem);
      font-weight: 700;
      color: var(--gold-bright);
      letter-spacing: .03em;
    }
    .about__info-label {
      font-family: var(--font-b);
      font-size: .68rem;
      font-weight: 400;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--muted);
    }

    /* Mobile */
    @media (max-width: 900px) {
      .about__inner { grid-template-columns: 1fr; }
      .about__collage { height: clamp(420px, 55vh, 620px); }
    }
    @media (max-width: 767px) {
      .sections-bg::before {
        background-image: url('bg3.png');
        background-size: cover;
        background-position: top center;
      }
      .about { padding: 32px clamp(28px, 7vw, 48px) 48px; }
      .about__text-col { gap: 14px; padding-bottom: 8px; }
      .about__verse-text { font-size: 1.1rem; }
      .about__heading    { font-size: 1.5rem; }
      .about__body       { font-size: .83rem; line-height: 1.7; }
      .about__info-item  { padding: 11px 14px; gap: 12px; }
      .about__info-value { font-size: .95rem; }
      .about__info-list  { gap: 8px; }
    }
    @media (max-width: 540px) {
      .about__collage { height: clamp(360px, 72vw, 480px); padding: 38px; }
      .of-t,.of-b { height:38px; line-height:38px; font-size:28px; }
      .of-r,.of-l { top:38px; bottom:38px; width:38px; font-size:28px; }
    }

    /* ─── TICKER ─── */
    .ticker-wrap {
      width: 100%;
      overflow: hidden;
      background: #FFD166;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
      user-select: none;
    }

    .ticker-track {
      display: flex;
      white-space: nowrap;
      will-change: transform;
    }
    .ticker-track--1 { animation: tickerLeft 32s linear infinite; }

    .ticker-inner {
      display: inline-flex;
      align-items: center;
      gap: 0;
      padding: 16px 0;
      flex-shrink: 0;
    }

    .ticker-item--outline {
      font-family: var(--font-d);
      font-weight: 700;
      font-size: clamp(1rem, 2.2vw, 1.5rem);
      letter-spacing: .08em;
      text-transform: uppercase;
      color: transparent;
      -webkit-text-stroke: 1.2px #03060C;
      padding: 0 clamp(18px, 2.5vw, 36px);
    }

    .ticker-sep {
      color: #03060C;
      font-size: clamp(.65rem, 1.2vw, .9rem);
      opacity: .5;
      flex-shrink: 0;
    }

    @keyframes tickerLeft {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }

    @media (prefers-reduced-motion: reduce) {
      .ticker-track { animation: none; }
    }

    /* ─── PRICING / INSCRIÇÃO ─── */
    .pricing {
      position: relative;
      z-index: 1;
      padding: clamp(48px,6vh,80px) clamp(20px,5vw,60px) clamp(40px,5vh,64px);
    }
    .pricing__inner {
      position: relative; z-index: 1;
      max-width: 780px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: clamp(28px,4.5vh,52px);
    }
    .pricing__header { text-align: center; }
    .pricing__eyebrow {
      display: inline-block;
      font-family: var(--font-b); font-size: .65rem; font-weight: 600;
      letter-spacing: .3em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 14px;
    }
    .pricing__heading {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(2rem,4.5vw,3.4rem);
      line-height: 1.1; color: var(--parchment);
    }
    .pricing__heading em {
      font-style: normal;
      background: var(--grad-gold);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* Card principal */
    .pricing__card {
      width: 100%;
      background: rgba(14,20,34,.82);
      border: 1px solid rgba(200,134,10,.22);
      border-radius: 28px;
      padding: clamp(28px,4.5vw,56px);
      display: flex; flex-direction: column;
      gap: clamp(24px,3.5vh,38px);
      backdrop-filter: blur(16px);
      box-shadow: 0 32px 100px rgba(0,0,0,.55),
                  inset 0 1px 0 rgba(200,134,10,.14);
      position: relative; overflow: hidden;
    }
    .pricing__card::before {
      content:''; position:absolute; top:0; left:15%; right:15%; height:1px;
      background: linear-gradient(90deg, transparent, rgba(200,134,10,.7), transparent);
    }

    /* Bloco de preço */
    .pricing__price-block {
      display: flex; flex-direction: column;
      align-items: center; gap: 10px; text-align: center;
    }
    .pricing__price-label {
      font-family: var(--font-b); font-size: .62rem; font-weight: 600;
      letter-spacing: .28em; text-transform: uppercase; color: var(--muted);
    }
    .pricing__price {
      display: flex; align-items: flex-start; gap: 6px; line-height: 1;
    }
    .pricing__price-currency {
      font-family: var(--font-b); font-weight: 700;
      font-size: clamp(1.1rem,2.2vw,1.6rem);
      color: var(--gold); padding-top: .45em;
    }
    .pricing__price-num {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(5rem,13vw,9rem);
      color: var(--parchment); letter-spacing: -.03em;
      line-height: .9;
    }

    /* Badges de pagamento */
    .pricing__payment {
      display: flex; align-items: center;
      gap: 10px; flex-wrap: wrap; justify-content: center;
      margin-top: 4px;
    }
    .pricing__pay-badge {
      display: inline-flex; align-items: center; gap: 7px;
      padding: 8px 18px; border-radius: 100px;
      font-family: var(--font-b); font-size: .72rem; font-weight: 700;
      letter-spacing: .05em; text-transform: uppercase;
    }
    .pricing__pay-badge--pix {
      background: rgba(0,200,130,.1); border: 1px solid rgba(0,200,130,.32);
      color: #4dd9a6;
    }
    .pricing__pay-badge--card {
      background: rgba(200,134,10,.1); border: 1px solid rgba(200,134,10,.3);
      color: var(--gold-bright);
    }
    .pricing__pay-badge svg { width:14px; height:14px; flex-shrink:0; }
    .pricing__pay-sep {
      font-family: var(--font-b); font-size: .65rem;
      color: var(--muted); letter-spacing: .1em;
    }
    .pricing__pay-note {
      font-family: var(--font-b); font-size: .58rem;
      color: var(--muted); opacity: .55; margin-top: 2px;
    }

    /* Divisor */
    .pricing__divider {
      width: 100%; height: 1px;
      background: rgba(200,134,10,.1);
    }

    /* Lista do que está incluso */
    .pricing__includes {
      list-style: none;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px 28px;
    }
    .pricing__include-item {
      display: flex; align-items: flex-start; gap: 12px;
      opacity: 0;
    }
    .pricing__check {
      width: 22px; height: 22px; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      background: rgba(200,134,10,.12); border-radius: 7px;
      color: var(--gold-bright); margin-top: 1px;
    }
    .pricing__check svg { width: 12px; height: 12px; }
    .pricing__include-text {
      font-family: var(--font-b);
      font-size: clamp(.8rem,1.3vw,.9rem); font-weight: 400;
      line-height: 1.5; color: var(--text);
    }

    /* CTA */
    .pricing__cta-wrap {
      display: flex; flex-direction: column; align-items: center; gap: 12px;
    }
    .pricing__cta {
      display: flex; align-items: center; justify-content: space-between;
      width: 100%;
      padding: clamp(18px,2.2vw,24px) clamp(22px,3vw,36px);
      background: var(--grad-gold);
      color: var(--void);
      font-family: var(--font-b); font-weight: 800;
      font-size: clamp(.9rem,1.8vw,1.08rem);
      letter-spacing: .06em; text-transform: uppercase;
      border-radius: 18px;
      position: relative; overflow: hidden;
      box-shadow: 0 8px 40px rgba(200,134,10,.45),
                  0 0 80px rgba(200,134,10,.12),
                  inset 0 1px 0 rgba(255,255,255,.24);
      transition: transform .3s var(--ease-out), box-shadow .3s ease;
    }
    .pricing__cta:hover {
      transform: translateY(-3px) scale(1.01);
      box-shadow: 0 18px 60px rgba(200,134,10,.65),
                  0 0 120px rgba(200,134,10,.22),
                  inset 0 1px 0 rgba(255,255,255,.24);
    }
    .pricing__cta::before {
      content:''; position:absolute; inset:0;
      background: linear-gradient(105deg, rgba(255,255,255,.2) 0%, transparent 50%);
      pointer-events: none;
    }
    .pricing__cta-label { position: relative; }
    .pricing__cta-arrow {
      width: 40px; height: 40px;
      border-radius: 12px;
      background: rgba(0,0,0,.18);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; position: relative;
      transition: transform .3s ease;
    }
    .pricing__cta:hover .pricing__cta-arrow { transform: translateX(5px); }
    .pricing__cta-arrow svg { width:18px; height:18px; }
    .pricing__cta-sub {
      font-family: var(--font-b); font-size: .6rem;
      color: var(--muted); letter-spacing: .14em;
      text-transform: uppercase; text-align: center; opacity: .7;
    }

    @media (max-width: 600px) {
      .pricing__includes { grid-template-columns: 1fr; }
      .pricing__cta { flex-direction: column; gap: 12px; text-align: center; }
      .pricing__cta-arrow { width: 36px; height: 36px; }
    }

    /* ─── RECAP 2025 ─── */
    .recap {
      position: relative;
      z-index: 1;
      padding: clamp(80px,10vh,120px) clamp(20px,5vw,60px);
    }
    .recap__inner {
      max-width: 900px;
      margin: 0 auto;
      display: flex; flex-direction: column;
      align-items: center;
      gap: clamp(36px,5vh,60px);
    }

    /* Header */
    .recap__header { text-align: center; }
    .recap__eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--font-b); font-size: .62rem; font-weight: 600;
      letter-spacing: .32em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 16px;
    }
    .recap__eyebrow-line {
      display: inline-block; width: 32px; height: 1px;
      background: var(--gold); opacity: .5;
    }
    .recap__heading {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(2.2rem,5vw,3.8rem);
      line-height: 1.07; color: var(--parchment);
      margin-bottom: 20px;
    }
    .recap__heading em {
      font-style: normal;
      background: var(--grad-gold);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .recap__sub {
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.88rem,1.4vw,1.02rem);
      line-height: 1.8; color: var(--muted);
      max-width: 640px; margin: 0 auto;
    }
    .recap__sub strong { color: var(--parchment); font-weight: 600; }

    /* Stats row */
    .recap__stats {
      display: flex; align-items: stretch;
      gap: 1px;
      width: 100%;
      background: rgba(200,134,10,.12);
      border: 1px solid rgba(200,134,10,.18);
      border-radius: 18px;
      overflow: hidden;
    }
    .recap__stat {
      flex: 1;
      display: flex; flex-direction: column; align-items: center;
      gap: 4px;
      padding: clamp(18px,2.5vw,28px) 12px;
      background: rgba(14,20,34,.7);
      text-align: center;
      transition: background .3s;
    }
    .recap__stat:hover { background: rgba(200,134,10,.07); }
    .recap__stat + .recap__stat {
      border-left: 1px solid rgba(200,134,10,.12);
    }
    .recap__stat-num {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1.8rem,4vw,3rem);
      color: var(--gold-bright); line-height: 1;
    }
    .recap__stat-label {
      font-family: var(--font-b); font-size: .62rem; font-weight: 600;
      letter-spacing: .18em; text-transform: uppercase;
      color: var(--muted);
    }

    /* Video player */
    .recap__video-wrap {
      width: 100%;
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow:
        0 40px 100px rgba(0,0,0,.7),
        0 0 0 1px rgba(200,134,10,.18),
        inset 0 1px 0 rgba(200,134,10,.1);
      aspect-ratio: 16/9;
      background: #000;
      cursor: pointer;
    }
    .recap__video {
      width: 100%; height: 100%;
      display: block; border: none;
    }
    .recap__play-label {
      font-family: var(--font-b); font-size: .65rem; font-weight: 600;
      letter-spacing: .22em; text-transform: uppercase;
      color: var(--parchment); opacity: .8;
    }

    /* Texto abaixo do vídeo */
    .recap__body {
      text-align: center; max-width: 680px;
    }
    .recap__body-text {
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.9rem,1.5vw,1.05rem);
      line-height: 1.85; color: var(--muted);
      margin-bottom: 28px;
    }
    .recap__body-text strong { color: var(--parchment); font-weight: 600; }
    .recap__highlight {
      display: inline-block;
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1.1rem,2vw,1.4rem);
      color: var(--parchment);
      border-top: 1px solid rgba(200,134,10,.3);
      border-bottom: 1px solid rgba(200,134,10,.3);
      padding: 14px 0;
      margin-bottom: 28px;
      width: 100%;
    }
    .recap__highlight em {
      font-style: normal;
      background: var(--grad-gold);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .recap__cta {
      display: inline-flex; align-items: center; gap: 12px;
      padding: clamp(14px,1.8vw,18px) clamp(28px,4vw,48px);
      background: transparent;
      border: 1.5px solid rgba(200,134,10,.5);
      border-radius: 100px;
      font-family: var(--font-b); font-weight: 700;
      font-size: clamp(.8rem,1.4vw,.9rem);
      letter-spacing: .1em; text-transform: uppercase;
      color: var(--gold-bright);
      transition: background .3s, border-color .3s, box-shadow .3s, transform .3s var(--ease-out);
    }
    .recap__cta:hover {
      background: rgba(200,134,10,.1);
      border-color: var(--gold-bright);
      box-shadow: 0 0 40px rgba(200,134,10,.25);
      transform: translateY(-2px);
    }
    .recap__cta svg { width:16px; height:16px; transition: transform .3s ease; }
    .recap__cta:hover svg { transform: translateX(4px); }

    @media (max-width: 640px) {
      .recap__stats { flex-direction: column; }
      .recap__stat + .recap__stat { border-left: none; border-top: 1px solid rgba(200,134,10,.12); }
    }

    /* ─── Mobile: espaçamento compacto (recap + pricing) ─── */
    @media (max-width: 767px) {
      .recap          { padding: 28px 18px 48px; }
      .recap__inner   { gap: 20px; }
      .recap__heading { font-size: 1.6rem; }
      .recap__sub     { font-size: .82rem; }
      .recap__stat-num   { font-size: 1.6rem; }
      .recap__body-text  { font-size: .82rem; line-height: 1.75; }
      .recap__highlight  { font-size: .95rem; }

      .pricing        { padding: 26px 18px 48px; }
      .pricing__inner { gap: 18px; }
      .pricing__card  { padding: 20px 16px; gap: 18px; }
      .pricing__heading  { font-size: 1.5rem; }
      .pricing__price-num { font-size: 4.5rem; }
      .pricing__include-text { font-size: .8rem; }
      .pricing__cta   { font-size: .82rem; }
    }

    /* ─── LOGISTICS (Chegada & Saída) ─── */
    .logistics {
      position: relative;
      padding: clamp(64px,9vh,100px) clamp(20px,5vw,60px);
      overflow: hidden;
    }
    .logistics__bg {
      position: absolute; inset: 0; z-index: 0;
    }
    .logistics__bg img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center;
      opacity: .14; filter: saturate(.55) brightness(.8);
    }
    .logistics__bg::after {
      content:''; position: absolute; inset: 0;
      background: linear-gradient(to bottom,
        rgba(3,6,12,.72) 0%,
        rgba(3,6,12,.58) 50%,
        rgba(3,6,12,.78) 100%
      );
    }
    .logistics__inner {
      position: relative; z-index: 1;
      max-width: 900px;
      margin: 0 auto;
      display: flex; flex-direction: column;
      gap: clamp(28px,4vh,44px);
    }
    .logistics__header { text-align: center; }
    .logistics__eyebrow {
      font-family: var(--font-b); font-size: .62rem; font-weight: 600;
      letter-spacing: .32em; text-transform: uppercase;
      color: var(--gold); display: block; margin-bottom: 12px;
    }
    .logistics__heading {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1.9rem,4vw,3rem);
      line-height: 1.1; color: var(--parchment);
    }
    .logistics__sub {
      font-family: var(--font-b); font-size: clamp(.8rem,1.3vw,.9rem);
      font-weight: 300; color: var(--muted);
      margin-top: 10px;
    }

    /* Alertas */
    .logistics__alert {
      display: flex; gap: 14px; align-items: flex-start;
      padding: 16px 20px;
      border-radius: 14px;
      border-left: 3px solid;
    }
    .logistics__alert--warn {
      background: rgba(251,133,0,.07);
      border-color: #FB8500;
    }
    .logistics__alert--info {
      background: rgba(200,134,10,.07);
      border-color: var(--gold);
    }
    .logistics__alert-icon {
      font-size: 1.2rem; flex-shrink: 0; margin-top: 1px;
      line-height: 1;
    }
    .logistics__alert-body {
      display: flex; flex-direction: column; gap: 4px;
    }
    .logistics__alert-title {
      font-family: var(--font-b); font-weight: 700;
      font-size: clamp(.75rem,1.2vw,.85rem);
      letter-spacing: .06em; text-transform: uppercase;
      color: var(--parchment);
    }
    .logistics__alert-text {
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.78rem,1.2vw,.88rem);
      line-height: 1.7; color: var(--muted);
    }
    .logistics__alert-text strong { color: var(--parchment); font-weight: 700; }

    /* Lotes grid */
    .logistics__lotes {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .logistics__lote {
      background: rgba(14,20,34,.8);
      border: 1px solid rgba(200,134,10,.18);
      border-radius: 16px;
      padding: 20px 22px;
      display: flex; flex-direction: column; gap: 10px;
    }
    .logistics__lote-badge {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--font-b); font-size: .6rem; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      padding: 5px 12px; border-radius: 100px;
    }
    .logistics__lote-badge--m {
      background: rgba(59,130,246,.12); border: 1px solid rgba(59,130,246,.3);
      color: #93c5fd;
    }
    .logistics__lote-badge--f {
      background: rgba(236,72,153,.1); border: 1px solid rgba(236,72,153,.28);
      color: #f9a8d4;
    }
    .logistics__lote-title {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(.95rem,1.6vw,1.1rem);
      color: var(--gold-bright);
    }
    .logistics__lote-desc {
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.78rem,1.2vw,.86rem);
      line-height: 1.65; color: var(--muted);
    }
    .logistics__lote-desc strong { color: var(--parchment); font-weight: 600; }

    /* Check-in / Check-out cards */
    .logistics__times {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .logistics__time-card {
      background: rgba(14,20,34,.85);
      border: 1px solid rgba(200,134,10,.2);
      border-radius: 20px;
      padding: clamp(20px,3vw,32px);
      display: flex; flex-direction: column; gap: 16px;
      position: relative; overflow: hidden;
    }
    .logistics__time-card::before {
      content:''; position:absolute; top:0; left:15%; right:15%; height:1px;
      background: linear-gradient(90deg, transparent, rgba(200,134,10,.5), transparent);
    }
    .logistics__time-card--in  { border-color: rgba(0,200,130,.22); }
    .logistics__time-card--in::before { background: linear-gradient(90deg, transparent, rgba(0,200,130,.45), transparent); }
    .logistics__time-card--out { border-color: rgba(251,133,0,.22); }
    .logistics__time-card--out::before { background: linear-gradient(90deg, transparent, rgba(251,133,0,.45), transparent); }

    .logistics__time-tag {
      display: inline-flex; align-items: center; gap: 7px;
      font-family: var(--font-b); font-size: .6rem; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      padding: 5px 12px; border-radius: 100px; align-self: flex-start;
    }
    .logistics__time-tag--in  { background: rgba(0,200,130,.1); border: 1px solid rgba(0,200,130,.3); color: #4dd9a6; }
    .logistics__time-tag--out { background: rgba(251,133,0,.1); border: 1px solid rgba(251,133,0,.3); color: #FB8500; }
    .logistics__time-tag svg  { width:12px; height:12px; }

    .logistics__time-date {
      font-family: var(--font-b); font-weight: 600;
      font-size: clamp(.72rem,1.1vw,.8rem);
      letter-spacing: .12em; text-transform: uppercase;
      color: var(--muted);
    }
    .logistics__time-hour {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1.8rem,3.5vw,2.8rem);
      color: var(--gold-bright); line-height: 1;
    }
    .logistics__time-range {
      font-family: var(--font-b); font-size: clamp(.7rem,1.1vw,.78rem);
      color: var(--muted); margin-top: 4px;
    }
    .logistics__time-notes {
      list-style: none;
      display: flex; flex-direction: column; gap: 6px;
      border-top: 1px solid rgba(200,134,10,.1);
      padding-top: 14px;
    }
    .logistics__time-note {
      display: flex; align-items: flex-start; gap: 8px;
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.72rem,1.1vw,.8rem);
      line-height: 1.55; color: var(--muted);
    }
    .logistics__time-note::before {
      content: '—'; color: var(--gold-dim); flex-shrink: 0;
      font-size: .65rem; margin-top: .2em;
    }

    @media (max-width: 767px) {
      .logistics { padding: 40px 18px 48px; background-image: url('../assets/bg7.png'); background-size: cover; background-position: center; background-repeat: no-repeat; }
      .logistics__lotes { grid-template-columns: 1fr; }
      .logistics__times { grid-template-columns: 1fr; }
      .logistics__time-hour { font-size: 2rem; }
    }

    /* ─── FAQ ─── */
    .faq {
      position: relative;
      padding: clamp(72px,10vh,110px) clamp(20px,5vw,60px);
      overflow: hidden;
    }
    .faq__bg {
      position: absolute; inset: 0; z-index: 0;
    }
    .faq__bg img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 20%;
      opacity: .22; filter: saturate(.55) brightness(.8);
    }
    .faq__bg::after {
      content:''; position:absolute; inset:0;
      background:
        linear-gradient(to bottom,
          rgba(3,6,12,.55) 0%,
          rgba(3,6,12,.45) 50%,
          rgba(3,6,12,.7) 100%
        );
    }

    /* Layout dois colunas */
    .faq__inner {
      position: relative; z-index: 1;
      max-width: 1100px; margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.7fr;
      gap: clamp(40px,7vw,100px);
      align-items: start;
    }

    /* Coluna esquerda — sticky header */
    .faq__aside {
      position: sticky;
      top: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .faq__title-rotated {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(7rem, 16vw, 15rem);
      color: transparent;
      -webkit-text-stroke: 1.5px rgba(200,134,10,.55);
      letter-spacing: .08em; text-transform: uppercase;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      line-height: 1;
      user-select: none;
    }

    /* Coluna direita — lista */
    .faq__list {
      display: flex; flex-direction: column;
    }

    .faq__item {
      border-bottom: 1px solid rgba(200,134,10,.14);
      transition: border-color .3s;
    }
    .faq__item:first-child { border-top: 1px solid rgba(200,134,10,.14); }
    .faq__item.is-open { border-color: rgba(200,134,10,.3); }

    .faq__question {
      width: 100%; background: none; border: none; cursor: pointer;
      display: flex; align-items: center; gap: 20px;
      padding: 22px 0;
      text-align: left;
    }
    .faq__num {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1.1rem,2vw,1.5rem);
      color: rgba(200,134,10,.25);
      min-width: 36px; flex-shrink: 0;
      transition: color .3s;
    }
    .faq__item.is-open .faq__num { color: var(--gold-bright); }

    .faq__question-text {
      font-family: var(--font-b); font-weight: 600;
      font-size: clamp(.88rem,1.4vw,.98rem);
      color: var(--parchment); line-height: 1.4;
      flex: 1;
      transition: color .3s;
    }
    .faq__item.is-open .faq__question-text { color: var(--gold-bright); }

    .faq__icon {
      width: 32px; height: 32px; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      border-radius: 50%;
      border: 1px solid rgba(200,134,10,.25);
      color: var(--gold);
      transition: transform .4s var(--ease-out), background .3s, border-color .3s;
    }
    .faq__icon svg { width: 13px; height: 13px; }
    .faq__item.is-open .faq__icon {
      transform: rotate(45deg);
      background: rgba(200,134,10,.12);
      border-color: rgba(200,134,10,.5);
    }

    .faq__answer {
      max-height: 0; overflow: hidden;
      transition: max-height .5s var(--ease-out);
    }
    .faq__item.is-open .faq__answer { max-height: 500px; }

    .faq__answer-inner {
      padding: 0 0 22px 56px;
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.82rem,1.3vw,.92rem);
      line-height: 1.85; color: var(--muted);
    }
    .faq__answer-inner strong { color: var(--parchment); font-weight: 600; }
    .faq__answer-inner a { color: var(--gold-bright); text-underline-offset: 3px; text-decoration: underline; }
    .faq__maps-btn {
      display: inline-flex; align-items: center; gap: 7px;
      margin-top: 4px;
      padding: 8px 16px;
      border: 1px solid var(--gold-bright); border-radius: 6px;
      font-family: var(--font-b); font-size: .8rem; font-weight: 500;
      color: var(--gold-bright) !important; text-decoration: none !important;
      transition: background .2s, color .2s;
    }
    .faq__maps-btn:hover { background: var(--gold-bright); color: var(--bg) !important; }

    /* CTAs block */
    .faq__wa-wrap {
      grid-column: 1 / -1;
      margin-top: clamp(20px,4vh,40px);
      display: flex; align-items: center; justify-content: center;
      gap: 24px; flex-wrap: wrap;
      padding-top: clamp(28px,4vh,44px);
      border-top: 1px solid rgba(200,134,10,.12);
    }
    .faq__cta-block {
      display: flex; flex-direction: column; align-items: center; gap: 10px;
      text-align: center;
    }
    .faq__cta-sep {
      display: flex; align-items: center; gap: 10px;
      color: var(--muted); font-size: .7rem;
      letter-spacing: .16em; text-transform: uppercase;
    }
    .faq__wa-label {
      font-family: var(--font-d); font-weight: 700;
      font-size: clamp(1rem,2vw,1.3rem);
      color: var(--parchment);
    }
    .faq__wa-sub {
      font-family: var(--font-b); font-weight: 300;
      font-size: clamp(.78rem,1.2vw,.88rem);
      color: var(--muted);
    }
    @media (max-width: 600px) {
      .faq__wa-wrap { flex-direction: column; }
      .faq__cta-sep { flex-direction: row; }
    }
    .faq__wa-btn {
      display: inline-flex; align-items: center; gap: 12px;
      margin-top: 8px;
      padding: clamp(14px,1.8vw,18px) clamp(28px,4vw,44px);
      background: #25D366;
      color: #fff;
      font-family: var(--font-b); font-weight: 700;
      font-size: clamp(.85rem,1.4vw,.95rem);
      letter-spacing: .06em; text-transform: uppercase;
      border-radius: 100px;
      box-shadow: 0 8px 32px rgba(37,211,102,.35), 0 0 60px rgba(37,211,102,.1);
      transition: transform .3s var(--ease-out), box-shadow .3s ease;
    }
    .faq__wa-btn:hover {
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0 14px 44px rgba(37,211,102,.55), 0 0 90px rgba(37,211,102,.18);
    }
    .faq__wa-btn svg { width: 20px; height: 20px; flex-shrink: 0; }

    .faq__cta-vaga {
      display: inline-flex; align-items: center; gap: 12px;
      padding: clamp(14px,1.8vw,18px) clamp(28px,4vw,48px);
      background: var(--grad-gold);
      color: var(--void);
      font-family: var(--font-b); font-weight: 800;
      font-size: clamp(.85rem,1.4vw,.95rem);
      letter-spacing: .08em; text-transform: uppercase;
      border-radius: 100px;
      box-shadow: 0 8px 36px rgba(200,134,10,.42), inset 0 1px 0 rgba(255,255,255,.22);
      transition: transform .3s var(--ease-out), box-shadow .3s ease;
      position: relative; overflow: hidden;
    }
    .faq__cta-vaga::before {
      content:''; position:absolute; inset:0;
      background: linear-gradient(105deg, rgba(255,255,255,.18) 0%, transparent 50%);
      pointer-events: none;
    }
    .faq__cta-vaga:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 14px 48px rgba(200,134,10,.62), inset 0 1px 0 rgba(255,255,255,.22);
    }
    .faq__cta-vaga svg { width:16px; height:16px; transition: transform .3s; }
    .faq__cta-vaga:hover svg { transform: translateX(4px); }

    @media (max-width: 860px) {
      .faq__inner { grid-template-columns: 1fr; gap: 36px; }
      .faq__aside { position: static; }
    }

    /* ─── FOOTER ─── */
    .footer {
      background: var(--void);
      border-top: 1px solid rgba(200,134,10,.12);
      padding: clamp(52px,8vh,80px) clamp(20px,5vw,60px) clamp(28px,4vh,40px);
    }
    .footer__inner {
      max-width: 1000px; margin: 0 auto;
      display: flex; flex-direction: column;
      gap: 0;
    }

    .footer__logo {
      height: clamp(100px,13vw,160px);
      object-fit: contain;
      filter: drop-shadow(0 2px 14px rgba(200,134,10,.35));
    }

    /* Linha 2: 3 colunas — contato | tagline+social | links */
    .footer__top {
      display: grid;
      grid-template-columns: 1fr 1.1fr 1fr;
      gap: clamp(24px,4vw,56px);
      align-items: center;
    }
    .footer__col-title {
      font-family: var(--font-b); font-size: .6rem; font-weight: 700;
      letter-spacing: .28em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 14px;
    }
    .footer__links { display: flex; flex-direction: column; gap: 10px; }
    .footer__link {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--font-b); font-size: clamp(.78rem,1.2vw,.86rem);
      font-weight: 300; color: var(--muted); transition: color .25s;
    }
    .footer__link:hover { color: var(--gold-bright); }
    .footer__link svg { width:14px; height:14px; flex-shrink:0; opacity:.55; }

    /* Coluna central: tagline + social */
    .footer__brand-col {
      display: flex; flex-direction: column; align-items: center;
      text-align: center; gap: 14px;
    }
    .footer__tagline {
      font-family: var(--font-b); font-size: clamp(.72rem,1.1vw,.82rem);
      font-weight: 300; line-height: 1.75; color: var(--muted);
    }
    .footer__social {
      display: flex; gap: 10px; justify-content: center;
    }
    .footer__social-btn {
      width: 40px; height: 40px;
      display: flex; align-items: center; justify-content: center;
      border-radius: 10px;
      border: 1px solid rgba(200,134,10,.22);
      color: var(--muted);
      transition: color .25s, border-color .25s, background .25s;
    }
    .footer__social-btn:hover {
      color: var(--gold-bright);
      border-color: rgba(200,134,10,.5);
      background: rgba(200,134,10,.08);
    }
    .footer__social-btn svg { width:17px; height:17px; }

    /* Bottom */
    .footer__bottom {
      display: flex; align-items: center; justify-content: space-between;
      flex-wrap: wrap; gap: 10px;
      margin-top: clamp(28px,4vh,40px);
      padding-top: 20px;
      border-top: 1px solid rgba(200,134,10,.07);
    }
    .footer__copy {
      font-family: var(--font-b); font-size: .65rem; font-weight: 300;
      color: var(--muted); opacity: .55;
    }
    .footer__copy a { color: var(--gold); opacity: 1; }

    @media (max-width: 767px) {
      .footer__top { grid-template-columns: 1fr; gap: 28px; text-align: center; }
      .footer__brand-col { align-items: center; text-align: center; }
      .footer__social { justify-content: center; }
      .footer__links { align-items: center; }
      .footer__bottom { flex-direction: column; align-items: center; text-align: center; }
    }
    @media (max-width: 767px) {
      .faq { padding: 48px 18px 56px; background-image: url('../assets/bg6.png'); background-size: cover; background-position: center; background-repeat: no-repeat; }
      .faq__answer-inner { padding-left: 42px; }
      .faq__question { padding: 18px 0; gap: 14px; }
      .faq__title-rotated { writing-mode: horizontal-tb; transform: none; font-size: clamp(3.5rem, 18vw, 7rem); }
    }
  