  :root{
    --roxo:        #6B2C91;
    --roxo-esc:    #4A1E66;
    --roxo-cl:     #8B45B5;
    --roxo-wash:   #F3EBF7;
    --vermelho:    #E30613;
    --vermelho-esc:#B00410;
    --vermelho-wash:#FCE9EA;

    --branco:      #FFFFFF;
    --creme:       #FAF7F5;
    --linha:       #EAE4EE;
    --texto:       #1A1420;
    --texto-md:    #3B2F45;
    --texto-cl:    #6A5F72;

    --radius:      14px;
    --radius-sm:   8px;
    --shadow-sm:   0 1px 2px rgba(26,20,32,.06), 0 2px 8px rgba(26,20,32,.04);
    --shadow-md:   0 8px 24px rgba(107,44,145,.10), 0 2px 6px rgba(26,20,32,.06);

    --f-display:   "Archivo Black", "Archivo", Impact, sans-serif;
    --f-title:     "Archivo", "Inter", system-ui, sans-serif;
    --f-body:      "Inter", system-ui, -apple-system, sans-serif;

    --maxw: 1240px;
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html,body{
    overflow-x: hidden;
    scroll-behavior: smooth;
  }
  body{
    font-family: var(--f-body);
    color: var(--texto);
    background: var(--branco);
    -webkit-font-smoothing: antialiased;
    line-height: 1.55;
    font-size: 16px;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font: inherit; cursor:pointer; border:0; background:none}

  .wrap{max-width: var(--maxw); margin: 0 auto; padding: 0 32px}
  @media (max-width: 720px){ .wrap{padding: 0 20px} }

  .nav{
    position: sticky; top:0; z-index: 50;
    background: rgba(255,255,255,.92);
    backdrop-filter: saturate(140%) blur(10px);
    border-bottom: 1px solid var(--linha);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height: 72px;
  }
  .nav-brand{display:flex; align-items:center; gap:12px}
  .nav-brand img{height: 58px; width:auto; max-height: 58px;}
  .nav-brand .badge{
    background: var(--roxo); color:#fff;
    font-family: var(--f-display);
    font-size: 14px; letter-spacing:.02em;
    padding: 6px 10px; border-radius: 6px;
  }
  .nav-links{display:flex; gap: 28px; align-items:center; justify-content:center; flex: 1;}
  .nav-links a{
    font-weight: 600; font-size: 14px; color: var(--texto-md);
    padding: 6px 2px; border-bottom: 2px solid transparent;
    transition: color .15s, border-color .15s;
  }
  .nav-links a:hover{color: var(--roxo); border-bottom-color: var(--roxo)}
  .nav-right{
    display: flex; align-items: center; gap: 10px;
    flex-shrink: 0;
  }
  .nav-cta{
    background: var(--vermelho); color:#fff;
    padding: 10px 18px; border-radius: 999px;
    font-weight: 800; font-size: 14px; letter-spacing: .02em;
    box-shadow: 0 2px 0 var(--vermelho-esc);
    transition: transform .1s, box-shadow .15s;
  }
  .nav-cta:hover{transform: translateY(-1px)}
  .nav-burger{display:none}
  .nav-mobile-menu{
    display: block;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: #fff;
    backdrop-filter: saturate(160%) blur(14px);
    border-bottom: 1px solid var(--linha);
    border-radius: 0 0 22px 22px;
    box-shadow: 0 22px 60px -26px rgba(74,30,102,0.34),
                0 8px 22px -14px rgba(227,6,19,0.16);
    padding: 0;
    z-index: 49;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition:
      opacity .22s ease,
      transform .26s cubic-bezier(.2,.9,.3,1.2);
    overflow: hidden;
    border-top: 1px solid rgba(107,44,145,0.08);
  }
  .nav-mobile-menu.is-open{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .nav-mobile-menu .nmm-head{
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 22px 14px;
    background:
      linear-gradient(135deg, #8B5FBF 0%, #6B2C91 65%, #4A1E66 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
  }
  .nav-mobile-menu .nmm-head::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(200px 100px at 100% 0%, rgba(255,255,255,0.10), transparent 60%),
      radial-gradient(260px 140px at -10% 120%, rgba(227,6,19,0.18), transparent 55%);
    pointer-events: none;
  }
  .nav-mobile-menu .nmm-brand{
    display:flex; flex-direction: column; gap: 2px;
    position: relative; z-index: 1;
  }
  .nav-mobile-menu .nmm-num{
    font-family: var(--f-display);
    font-weight: 900;
    font-size: 24px;
    letter-spacing: .01em;
    line-height: 1;
  }
  .nav-mobile-menu .nmm-label{
    font-size: 11.5px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    opacity: .92;
  }
  .nav-mobile-menu .nmm-badge{
    width: 52px; height: 52px;
    border-radius: 50%;
    background: #ffffff;
    display:grid; place-items:center;
    padding: 8px 8px 6px;
    box-shadow: 0 4px 0 rgba(0,0,0,0.12),
                0 12px 24px -8px rgba(0,0,0,0.28);
    position: relative; z-index: 1;
  }
  .nav-mobile-menu .nmm-badge img{
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
  }
  .nav-mobile-menu .nmm-links{
    padding: 8px 0;
  }
  .nav-mobile-menu .nmm-links a{
    display: grid;
    grid-template-columns: 42px 1fr auto;
    grid-template-areas: "icon text arrow";
    align-items: center;
    gap: 14px;
    padding: 13px 22px;
    font-weight: 700; font-size: 15.5px; color: var(--texto);
    border-left: 3px solid transparent;
    transition:
      background .18s,
      color .15s,
      border-color .18s,
      padding-left .18s;
    text-decoration: none;
  }
  .nav-mobile-menu .nmm-links a .nmm-icon{
    grid-area: icon;
    width: 42px; height:42px;
    border-radius: 12px;
    background: rgba(107,44,145,0.07);
    border: 1px solid rgba(107,44,145,0.12);
    display:grid; place-items:center;
    color: var(--roxo);
    transition: background .2s, color .2s, border-color .2s, transform .18s;
  }
  .nav-mobile-menu .nmm-links a .nmm-icon i{
    font-size: 18px; line-height: 1;
  }
  .nav-mobile-menu .nmm-links a .nmm-text{
    grid-area: text;
  }
  .nav-mobile-menu .nmm-links a .nmm-arrow{
    grid-area: arrow;
    color: rgba(107,44,145,0.35);
    display: inline-flex; align-items:center;
    transition: transform .22s cubic-bezier(.2,.9,.3,1.3), color .18s;
  }
  .nav-mobile-menu .nmm-links a .nmm-arrow i{
    font-size: 22px; line-height: 1;
  }
  .nav-mobile-menu .nmm-links a:hover{
    background:
      linear-gradient(90deg, rgba(107,44,145,0.09) 0%, rgba(107,44,145,0.02) 100%);
    color: var(--roxo);
    border-left-color: var(--vermelho);
    padding-left: 19px;
  }
  .nav-mobile-menu .nmm-links a:hover .nmm-icon{
    background: var(--vermelho);
    border-color: transparent;
    color: #fff;
    transform: scale(1.05);
  }
  .nav-mobile-menu .nmm-links a:hover .nmm-arrow{
    color: var(--vermelho);
    transform: translateX(4px);
  }
  .nav-mobile-menu .nmm-foot{
    padding: 14px 22px 20px;
    border-top: 1px solid rgba(107,44,145,0.09);
    background:
      linear-gradient(180deg, rgba(227,6,19,0.03) 0%, rgba(107,44,145,0.03) 100%);
  }
  .nav-mobile-menu .nmm-foot .nmm-cta{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    width: 100%;
    padding: 14px 22px;
    border-radius: 999px;
    background: var(--vermelho);
    color:#fff;
    font-weight: 800; font-size: 15px; letter-spacing: .01em;
    box-shadow: 0 4px 0 #8B0A14,
                0 12px 26px -8px rgba(227,6,19,0.44);
    transition: transform .12s, box-shadow .15s;
    text-decoration: none;
  }
  .nav-mobile-menu .nmm-foot .nmm-cta i{
    font-size: 17px; line-height: 1;
    color: rgba(255,255,255,0.97);
  }
  .nav-mobile-menu .nmm-foot .nmm-cta:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 0 #8B0A14,
                0 18px 30px -10px rgba(227,6,19,0.52);
  }
  @media (max-width: 900px){
    .nav-links{display:none}
    .nav-right{ gap: 14px; }
    .nav-cta{padding: 10px 16px; font-size: 13px}
    .nav-burger{
      display: inline-grid;
      place-items: center;
      width: 40px; height: 40px;
      border-radius: 10px;
      border: 1.5px solid rgba(107,44,145,0.22);
      background: transparent;
      color: var(--roxo);
      padding: 0;
      cursor: pointer;
      flex-shrink: 0;
    }
    .nav-burger i{font-size: 24px; line-height: 1;}
  }

  .hero{
    position: relative;
    padding: 28px 0 0;
    overflow: hidden;
    background:
      radial-gradient(1200px 500px at 90% -10%, rgba(227,6,19,.06), transparent 60%),
      radial-gradient(900px 500px at -10% 110%, rgba(107,44,145,.10), transparent 55%),
      var(--branco);
  }
  .hero-grid{
    display:grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 72px;
    align-items: stretch;
    min-height: 620px;
    position: relative;
  }
  .hero-grid > div:first-child {
    align-self: start;
    padding-top: 36px;
    padding-bottom: 32px;
  }
  .hero-grid > div:last-child {
    align-self: end;
    display: flex;
    justify-content: flex-end;
    padding-left: 16px;
  }
  @media (max-width: 960px){
    .hero-grid{
      grid-template-columns: 1fr;
      min-height: 640px;
      gap: 0;
    }
    .hero-grid > div:first-child {
      position: relative;
      z-index: 2;
      max-width: 62%;
      padding-top: 24px;
      padding-bottom: 28px;
    }
    .hero-grid > div:last-child {
      position: absolute;
      right: -24px;
      top: -10px;
      bottom: 0px;
      width: 56%;
      max-width: 380px;
      padding-left: 0;
      z-index: 1;
      align-items: flex-start;
      justify-content: flex-end;
      pointer-events: none;
    }
    .hero-grid > div:last-child .hero-photo{
      width: 100%;
      height: 100%;
      max-width: 100%;
      opacity: 0.98;
      display: flex;
      align-items: flex-end;
      justify-content: center;
    }
    .hero-grid > div:last-child .hero-photo-img{
      width: 92%;
      height: auto;
      max-height: 100%;
      object-fit: contain;
      object-position: bottom center;
    }
    .hero-grid > div:last-child .hero-photo::before{
      display: block;
      inset: -6px 6px 0px 6px;
      border-radius: 22px 22px 0 0;
      transform: rotate(0deg);
      background:
        linear-gradient(180deg, rgba(107,44,145,0.10) 0%, rgba(107,44,145,0.04) 40%, transparent 100%);
      border: 8px solid #fff;
      border-bottom: none;
    }
  }
  @media (max-width: 640px){
    .hero-grid{ min-height: auto; }
    .hero-grid > div:first-child{
      position: relative;
      max-width: 100%;
      padding-top: 16px;
      padding-bottom: 0;
    }
    .hero-grid > div:last-child{
      position: relative;
      right: auto; top: auto; bottom: auto;
      width: 100%;
      max-width: 100%;
      padding: 8px 20px 0;
      pointer-events: auto;
    }
    .hero-grid > div:last-child .hero-photo::before{
      inset: -28px -24px 28px -24px;
      border-radius: 30px;
      transform: rotate(2deg);
      background: linear-gradient(160deg, rgba(107,44,145,0.07) 0%, rgba(139,69,181,0.04) 60%, rgba(107,44,145,0.02) 100%);
      border: 11px solid #fff;
      border-bottom: 11px solid #fff;
    }
    .hero-grid > div:last-child .hero-photo{ display: block; width: 92%; }
    .hero-grid > div:last-child .hero-photo-img{ width:100%; height:auto; max-height: none; object-fit: contain; object-position: top center; }
  }

  .eyebrow{
    display: inline-flex; align-items:center; gap:10px;
    font-family: var(--f-title); font-weight:800;
    font-size: 13px; letter-spacing:.14em; text-transform: uppercase;
    color: var(--roxo);
  }
  .eyebrow::before{
    content:""; width: 28px; height:2px; background: var(--vermelho);
  }
  .hero .eyebrow{
    padding: 8px 16px;
    background: rgba(107,44,145,0.06);
    border: 1px solid rgba(107,44,145,0.14);
    border-radius: 100px;
    font-size: 12px;
    width: fit-content;
    max-width: 100%;
    line-height: 1.2;
    display: inline-flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    align-items: center;
    gap: 9px;
  }
  .hero .eyebrow::before{ display: none; }
  .hero .eyebrow::after{ display: none; }
  .hero .eyebrow .eb-star{
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--vermelho);
    line-height: 1; flex-shrink: 0;
  }
  .hero .eyebrow .eb-star i{ font-size: 13px; line-height: 1; }
  .hero .eyebrow .eb-a{
    display: inline;
    font-weight: 700;
  }
  .hero .eyebrow .eb-b{
    display: inline-flex; align-items: center;
    font-weight: 900;
  }
  .hero .eyebrow .eb-b::before{
    content: "·";
    color: rgba(107,44,145,0.45);
    font-weight: 900;
    margin-right: 8px;
  }
  @media (max-width: 960px){
    .hero .eyebrow{
      font-size: 11px; padding: 7px 12px;
      letter-spacing: .06em;
      gap: 7px;
    }
    .hero .eyebrow .eb-star i{ font-size: 12px; }
    .hero .eyebrow .eb-b::before{ margin-right: 6px; }
  }
  @media (max-width: 640px){
    .hero .eyebrow{
      font-size: 10.5px; padding: 7px 11px;
      letter-spacing: .04em;
      gap: 6px;
      width: 100%;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .hero .eyebrow .eb-star i{ font-size: 11.5px; }
    .hero .eyebrow .eb-a{ letter-spacing: .03em; }
    .hero .eyebrow .eb-b::before{ margin-right: 5px; }
  }
  @media (max-width: 380px){
    .hero .eyebrow{
      font-size: 10px; padding: 6px 10px;
      letter-spacing: .025em;
      gap: 5px;
    }
    .hero .eyebrow .eb-star i{ font-size: 11px; }
    .hero .eyebrow .eb-b::before{ margin-right: 4px; }
  }

  .hero h1{
    font-family: var(--f-display);
    font-weight: 900;
    font-size: clamp(46px, 6.4vw, 92px);
    line-height: .92;
    letter-spacing: -0.01em;
    margin: 18px 0 22px;
    color: var(--texto);
    text-wrap: balance;
  }
  .hero h1 .roxo{color: var(--roxo)}
  .hero h1 .verm{color: var(--vermelho)}

  .hero-brand{
    display:flex; align-items:center; gap: clamp(14px, 2vw, 24px);
    margin: clamp(16px, 2.4vw, 28px) 0 20px;
  }
  .hero-brand .hero-logo{
    width: clamp(180px, 24vw, 340px);
    height: auto;
    flex-shrink: 0;
  }
  .hero-brand .star{
    width: clamp(72px, 10vw, 140px);
    height: clamp(72px, 10vw, 140px);
    color: var(--vermelho);
    flex-shrink: 0;
    align-self: center;
    background: #ffffff;
    border-radius: 50%;
    padding: 12px 12px 10px;
    display: block;
    box-shadow:
      0 3px 0 rgba(0,0,0,0.10),
      0 10px 22px -12px rgba(74,30,102,0.30),
      0 6px 16px -8px rgba(227,6,19,0.20);
    object-fit: contain;
  }
  .hero-brand .star.hero-pt-logo{
    box-sizing: border-box;
  }

  .hero .num{
    font-family: var(--f-display);
    font-size: clamp(72px, 12vw, 172px);
    line-height: .85;
    color: var(--roxo);
    letter-spacing: -0.02em;
    margin: 4px 0 18px;
    display:flex; align-items:center; gap: 18px;
  }
  .hero .num .star{
    width: clamp(48px, 8vw, 96px); height: clamp(48px, 8vw, 96px);
    color: var(--vermelho); flex-shrink:0;
  }

  .hero p.lead{
    font-size: clamp(17px, 1.5vw, 20px);
    color: var(--texto-md);
    max-width: 560px; margin: 0 0 32px;
    line-height: 1.5;
  }
  @media (max-width: 960px){
    .hero p.lead{ font-size: 15.5px; line-height: 1.55; margin-bottom: 24px; max-width: 100%;}
  }

  .cta-row{display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 28px}
  .cta-row .btn{ width: 100%; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding: 15px 22px; border-radius: 999px;
    font-weight: 800; font-size: 15px; letter-spacing:.01em;
    transition: transform .1s, box-shadow .15s, background .15s;
    min-height: 52px;
    width: auto;
    box-sizing: border-box;
    white-space: normal;
    line-height: 1.2;
  }
  .btn i{ font-size: 17px; line-height: 1; flex-shrink: 0; }
  .btn-primary{
    background: var(--roxo); color:#fff;
    box-shadow: 0 3px 0 var(--roxo-esc), var(--shadow-md);
  }
  .btn-primary:hover{transform: translateY(-2px); background: var(--roxo-esc)}
  .btn-primary i{ color: rgba(255,255,255,0.96); }
  .btn-secondary{
    background: #ffffff; color: var(--roxo);
    border: 2px solid var(--roxo);
    box-shadow: var(--shadow-sm);
  }
  .btn-secondary:hover{background: var(--roxo); color:#fff}
  .btn-secondary i{ color: var(--roxo); opacity: 0.96;}
  .btn-secondary:hover i{ color: #fff; }
  .btn-verm{
    background: var(--vermelho); color:#fff;
    box-shadow: 0 3px 0 var(--vermelho-esc);
  }
  .btn-verm:hover{transform: translateY(-2px); background: var(--vermelho-esc)}
  @media (max-width: 640px){
    .cta-row{ grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 20px;}
    .btn{ padding: 14px 20px; font-size: 14.5px; gap: 8px; min-height: 50px;}
    .btn i{ font-size: 16px; }
  }

  .hero-photo{
    position: relative;
    width: 96%;
    max-width: 600px;
    z-index: 3;
    line-height: 0;
  }
  .hero-photo::before{
    content: "";
    position: absolute;
    inset: -38px -32px 40px -32px;
    background: linear-gradient(160deg, rgba(107,44,145,0.07) 0%, rgba(139,69,181,0.04) 60%, rgba(107,44,145,0.02) 100%);
    border: 14px solid #fff;
    border-radius: 38px;
    box-shadow:
      0 2px 6px rgba(74,30,102,0.06),
      0 20px 40px -18px rgba(74,30,102,0.14);
    transform: rotate(2.5deg);
    z-index: -1;
    pointer-events: none;
  }
  .hero-photo .frame,
  .hero-photo .frame.two{ display: none; }
  .hero-photo image-slot,
  .hero-photo .hero-photo-img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 0;
  }
  .hero-star-bg{
    position:absolute; right:-120px; top:-220px;
    width: 520px; opacity: .035; color: var(--roxo);
    pointer-events:none;
  }
  .hero-star-bg-bl{
    position:absolute; left:-160px; bottom:-140px;
    width: 420px; opacity: .04; color: var(--roxo);
    pointer-events:none;
  }
  @media (max-width: 960px){
    .hero-star-bg{ right:-200px; top:-180px; width: 460px }
    .hero-star-bg-bl{ left:-220px; bottom:-180px; width: 360px }
  }
  @media (max-width: 640px){
    .hero-star-bg{ right:-240px; top:-160px; width: 400px }
    .hero-star-bg-bl{ left:-260px; bottom:-220px; width: 340px }
  }

  .credentials{
    position: relative;
    background: var(--roxo);
    color: #fff;
    padding: 26px 0;
    z-index: 1;
    overflow-x: clip;
  }
  .credentials-inner{
    display:grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    align-items:center;
  }
  @media (max-width: 880px){
    .credentials-inner{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;}
    .credentials{ padding: 22px 0; }
  }
  @media (max-width: 520px){
    .credentials-inner{grid-template-columns: minmax(0, 1fr); gap: 12px;}
  }
  .cred{
    display:flex; align-items:center; gap: 12px;
    font-weight: 700; font-size: 15px; line-height: 1.25;
  }
  .cred .dot{
    width: 34px; height: 34px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: background .2s ease, transform .2s ease;
  }
  .cred .dot:hover{ background: rgba(255,255,255,0.16); transform: translateY(-2px); }
  .cred .dot i{
    font-size: 16px;
    line-height: 1;
    color: #fff;
  }
  @media (max-width: 880px){
    .cred{
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 16px;
      padding: 14px 16px;
      font-size: 14.5px;
      gap: 14px;
    }
    .cred .dot{
      width: 40px; height: 40px;
      border-radius: 12px;
      background: rgba(255,255,255,0.14);
    }
    .cred .dot i{ font-size: 18px; }
  }

  section.blk{padding: 96px 0; position: relative; overflow-x: clip}
  @media (max-width: 720px){ section.blk{padding: 64px 0} }

  .section-head{
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr);
    align-items: end;
    gap: 40px 64px;
    margin-bottom: 56px;
  }
  @media (max-width: 900px){
    .section-head{ grid-template-columns: 1fr; gap: 28px; }
  }
  .section-head h2{
    font-family: var(--f-display);
    font-size: clamp(34px, 4.5vw, 60px);
    line-height: 1;
    margin: 14px 0 0;
    letter-spacing: -0.01em;
    color: var(--texto);
    text-wrap: balance;
  }
  .section-head .subtitle{
    align-self: end;
  }
  .section-head .subtitle .hdr{
    display:inline-flex; align-items:center; gap:8px;
    margin-bottom: 10px;
    font-family: var(--f-title); font-weight:800; font-size: 12px;
    letter-spacing:.16em; text-transform: uppercase; color: var(--roxo);
  }
  .section-head .subtitle .hdr svg{ width: 14px; height:14px; color: var(--vermelho); flex-shrink:0; }
  .section-head .subtitle p{
    margin: 0; padding-left: 22px;
    border-left: 2px solid var(--roxo);
    color: var(--texto); font-weight: 600; font-size: 16px; line-height: 1.5;
  }

  #quem{background: var(--creme); position: relative; overflow-x: clip}
  .bio{
    display:grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items:start;
  }
  @media (max-width: 900px){ .bio{grid-template-columns: 1fr; gap: 40px} }
  .bio-intro p{
    font-size: 18px; color: var(--texto-md); line-height: 1.65;
    margin: 0 0 18px;
  }
  .bio-intro .quote{
    border-left: 4px solid var(--vermelho);
    padding: 4px 0 4px 20px;
    font-family: var(--f-title);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.3;
    color: var(--roxo);
    margin: 28px 0 0;
  }

  .timeline{
    position: relative;
    padding-left: 0;
    display: grid;
    row-gap: 22px;
  }
  .timeline::before{
    content:"";
    position:absolute;
    left: 26px;
    top: 0; bottom: 0;
    border-left: 2px dashed var(--roxo);
    z-index: 0;
  }
  .tl-item{
    position: relative;
    margin-left: 60px;
    padding: 16px 22px;
    border-radius: var(--radius);
    background: #fff;
    border: 1px solid rgba(107, 44, 145, 0.28);
    box-shadow: 0 3px 12px -10px rgba(74, 30, 102, 0.32);
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  .tl-item::before{
    content:""; position:absolute;
    left: -34px;
    top: 22px;
    width: 18px; height: 18px;
    transform: translateX(-50%);
    background: var(--vermelho);
    border: 3px solid var(--creme);
    border-radius: 50%;
    box-shadow: 0 0 0 3px var(--vermelho), 0 0 0 6px rgba(227,6,19,0.10);
    transition: transform .2s ease, box-shadow .22s ease;
    z-index: 3;
  }
  .tl-item:hover{
    border-color: var(--roxo);
    box-shadow: var(--shadow-lg);
    transform: translateY(-3px);
  }
  .tl-item:hover::before{ transform: translateX(-50%) scale(1.12); box-shadow: 0 0 0 3px var(--vermelho), 0 0 0 10px rgba(227,6,19,.14); }
  .tl-item:hover .tl-year{ color: var(--roxo); }
  .tl-year{
    font-family: var(--f-display);
    font-size: 28px;
    color: var(--roxo);
    line-height: 1;
    margin-bottom: 6px;
  }
  .tl-item p{margin: 0; color: var(--texto-md); line-height: 1.55; font-size: 15.5px}

  @media (max-width: 760px){
    .timeline{ row-gap: 18px; }
    .timeline::before{ left: 22px; }
    .tl-item{ margin-left: 52px; padding: 14px 16px; border-radius: 14px; }
    .tl-item::before{
      left: -30px;
      top: 20px;
      width: 16px; height: 16px;
      border-width: 2.5px;
      box-shadow: 0 0 0 2.5px var(--vermelho), 0 0 0 5px rgba(227,6,19,.10);
    }
    .tl-item:hover::before{ box-shadow: 0 0 0 2.5px var(--vermelho), 0 0 0 9px rgba(227,6,19,.14); }
    .tl-year{ font-size: 24px; }
    .tl-item p{ font-size: 15px; }
  }

  .destaque-vermelho{
    color: var(--vermelho);
    font-weight: 900;
    font-family: var(--f-title);
    letter-spacing: -0.005em;
    background: rgba(227,6,19,0.06);
    padding: 1px 6px;
    border-radius: 4px;
  }

  .galeria{
    background: #fff;
    padding: 96px 0 96px;
  }
  @media (max-width: 720px){ .galeria{padding: 64px 0 64px} }
  .galeria .head-row{
    display:flex; align-items:flex-end; justify-content:space-between; gap: 30px;
    margin-bottom: 56px; flex-wrap:wrap;
  }
  .galeria h3{
    font-family: var(--f-display);
    font-size: clamp(28px, 3.5vw, 46px);
    line-height: 1;
    margin: 14px 0 0;
    color: var(--texto);
    letter-spacing: -0.01em;
    max-width: 640px;
  }
  .galeria .sub{
    max-width: 380px;
    align-self: flex-end;
  }
  .galeria .sub .hdr{
    display:inline-flex; align-items:center; gap:8px;
    margin-bottom: 10px;
    font-family: var(--f-title); font-weight:800; font-size: 12px;
    letter-spacing:.16em; text-transform: uppercase; color: var(--roxo);
  }
  .galeria .sub .hdr svg{ width: 14px; height:14px; color: var(--vermelho); flex-shrink:0; }
  .galeria .sub p{
    margin: 0; padding-left: 22px;
    border-left: 2px solid var(--roxo);
    color: var(--texto); font-weight: 600; font-size: 16px; line-height: 1.5;
  }
  .galeria-grid{
    display:grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    grid-template-rows: repeat(4, 130px);
    grid-auto-rows: 130px;
    gap: 14px;
    grid-template-areas:
      "g02  g08  g05"
      "g02  g08  g05"
      "g04  g08  g09"
      "g04  g08  g09";
  }
  .gal-slot{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px -16px rgba(74, 30, 102, 0.22);
    transition: transform .3s cubic-bezier(.2,.9,.3,1.1), box-shadow .3s ease;
  }
  .gal-slot:hover{
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 18px 44px -20px rgba(74, 30, 102, 0.30);
  }
  .gal-slot img{
    position:absolute; inset:0; width:100%; height:100%;
    display:block; object-fit: cover;
  }
  .gal-slot.g01{ grid-area: g01 }
  .gal-slot.g02{ grid-area: g02 }
  .gal-slot.g04{ grid-area: g04 }
  .gal-slot.g05{ grid-area: g05 }
  .gal-slot.g07{ grid-area: g07 }
  .gal-slot.g08{ grid-area: g08 }
  .gal-slot.g09{ grid-area: g09 }
  .gal-slot.g08.destaque{
    border-radius: 22px;
    box-shadow:
      0 22px 52px -26px rgba(227, 6, 19, 0.30),
      0 16px 40px -20px rgba(107, 44, 145, 0.35);
    outline: 2px solid rgba(227, 6, 19, 0.22);
    outline-offset: 2px;
  }
  .gal-slot.g08.destaque img{
    object-fit: cover;
    object-position: center 12%;
  }
  @media (max-width: 900px){
    .galeria-grid{
      grid-template-columns: 1fr 1.5fr 1fr;
      grid-template-rows: repeat(4, 140px);
      grid-template-areas:
        "g02  g08  g05"
        "g02  g08  g05"
        "g04  g08  g09"
        "g04  g08  g09";
      gap: 12px;
    }
  }
  @media (max-width: 620px){
    .galeria-grid{
      grid-template-columns: 1fr 1.2fr;
      grid-template-rows: repeat(5, 140px);
      grid-template-areas:
        "g02  g08"
        "g02  g08"
        "g05  g08"
        "g04  g08"
        "g04  g09";
      gap: 10px;
    }
  }
  @media (max-width: 400px){
    .galeria-grid{
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: auto;
      grid-auto-rows: 200px;
      grid-template-areas:
        "g08"
        "g02"
        "g05"
        "g04"
        "g09";
    }
    .gal-slot.g08{ grid-auto-rows: 280px; }
  }

  .mob-photo{
    position: relative;
    max-width: 100%;
    width: 100%;
    margin: 0 auto 40px;
    aspect-ratio: 21 / 9;
  }
  .mob-photo .frame-m{
    position:absolute; inset:0;
    background: #fff; opacity:.14;
    border-radius: 20px;
    transform: rotate(-2deg);
  }
  .mob-photo image-slot,
  .mob-photo picture{
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    display: block;
    border-radius: 18px;
    overflow: hidden;
  }
  .mob-photo .mob-photo-img{
    position: absolute; inset:0;
    width:100%; height:100%;
    object-fit: cover;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.3);
  }

  #causas{background: var(--creme); position: relative; overflow-x: clip}
  .causas-grid{
    display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
  }
  @media (max-width: 960px){ .causas-grid{grid-template-columns: minmax(0, 1fr)} }
  @media (max-width: 960px){
    .causas-grid .card-causa{
      grid-column: 1 / -1 !important;
    }
  }

  .card-causa{
    background: #fff;
    border: 1px solid rgba(107, 44, 145, 0.28);
    border-radius: var(--radius);
    padding: 28px 72px 26px 26px;
    position: relative;
    transition: transform .15s, box-shadow .2s, border-color .2s;
    overflow: hidden;
    box-shadow: 0 3px 12px -10px rgba(74, 30, 102, 0.32);
    box-sizing: border-box;
  }
  .card-causa:hover{
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--roxo-cl);
  }
  .card-causa .num{
    position:absolute; top: 14px; right: 20px;
    display: grid; place-items: center;
    width: 56px; height: 56px;
    border-radius: 16px;
    background: var(--roxo);
    color: #fff;
    box-shadow: 0 6px 14px -8px rgba(107, 44, 145, .48);
  }
  .card-causa .num i{
    font-size: 24px;
    line-height: 1;
    color: #fff;
  }
  .card-causa[style*="grid-column: span 3"] .num{
    background: var(--vermelho);
    color: #fff;
    box-shadow: 0 6px 14px -8px rgba(227, 6, 19, .48);
  }
  .card-causa[style*="grid-column: span 3"] .num i{
    color: #fff;
  }
  .card-causa h3{
    font-family: var(--f-title);
    font-weight: 900;
    font-size: 21px;
    line-height: 1.15;
    margin: 8px 0 10px;
    color: var(--texto);
  }
  .card-causa p{
    margin: 0; color: var(--texto-md);
    font-size: 15px; line-height: 1.55;
    font-weight: 500;
  }
  .card-causa .tag{
    display:inline-block;
    font-size: 11px; font-weight: 900;
    text-transform: uppercase; letter-spacing: .14em;
    color: var(--vermelho);
    margin-bottom: 12px;
  }

  @media (max-width: 960px){
    .card-causa{ padding: 20px 20px 20px 20px; }
    .card-causa .num{
      position: relative;
      top: auto; right: auto;
      width: 44px; height: 44px;
      border-radius: 12px;
      margin-bottom: 14px;
      background: var(--roxo) !important;
      box-shadow: 0 6px 14px -8px rgba(107, 44, 145, .48) !important;
    }
    .card-causa .num i{ font-size: 20px; color: #fff !important; }
    .card-causa h3{ font-size: 18px; margin-top: 0; }
    .card-causa p{ font-size: 14.5px; }
  }

  #leis{background: var(--roxo); color:#fff; position: relative; overflow: hidden}
  #leis::before{
    content:""; position: absolute; inset: 0;
    background:
      radial-gradient(600px 300px at 90% 0%, rgba(227,6,19,.25), transparent 60%),
      radial-gradient(500px 300px at 0% 100%, rgba(255,255,255,.06), transparent 60%);
    pointer-events: none;
  }
  #leis .section-head h2{color: #fff}
  #leis .section-head .subtitle .hdr{color: #fff; opacity: 1}
  #leis .section-head .subtitle .hdr svg{color: var(--vermelho)}
  #leis .section-head .subtitle p{
    color: #fff;
    opacity: 1;
    border-left-color: rgba(255,255,255,.55);
    font-weight: 500;
  }

  .votos-card{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 24px 40px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: var(--radius);
    padding: 24px 28px;
    margin-bottom: 40px;
    position: relative;
    z-index: 1;
  }
  .votos-card .big{
    font-family: var(--f-display);
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
  }
  .votos-card .lbl{
    font-size: 16px; line-height: 1.45;
    color: #fff;
    opacity: .92;
    font-weight: 500;
  }
  .votos-card .lbl b{color: #fff; display:block; font-family: var(--f-title); font-size: 19px; font-weight: 800; margin-bottom: 4px}
  @media (max-width: 880px){
    .votos-card{
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
      padding: 22px 24px;
      margin-bottom: 32px;
      text-align: left;
    }
    .votos-card .big{
      order: 1;
      font-size: clamp(54px, 14vw, 78px);
      margin-bottom: 2px;
    }
    .votos-card .lbl{
      order: 2;
      font-size: 15px; line-height: 1.45;
    }
    .votos-card .lbl b{
      display: block;
      font-size: 18px;
      margin-bottom: 10px;
    }
  }
  @media (max-width: 520px){
    .votos-card{ padding: 20px; }
    .votos-card .big{ font-size: 58px; margin-bottom: 4px; }
    .votos-card .lbl{ font-size: 14.5px; }
    .votos-card .lbl b{ margin-bottom: 8px; }
  }

  .leis-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    position: relative; z-index: 1;
  }
  @media (max-width: 900px){ .leis-grid{grid-template-columns: 1fr} }
  .card-lei{
    background: #fff;
    color: var(--texto);
    border-radius: var(--radius);
    padding: 28px 26px 30px;
    position: relative;
    box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .12);
    display:flex; flex-direction:column;
    border: 1px solid rgba(107, 44, 145, .12);
    transition: transform .25s cubic-bezier(.2,.8,.2,1),
                box-shadow .25s cubic-bezier(.2,.8,.2,1),
                border-color .25s ease;
    will-change: transform;
  }
  .card-lei:hover{
    transform: translateY(-10px);
    box-shadow: 0 36px 70px -20px rgba(0, 0, 0, .32),
                0 18px 36px -14px rgba(0, 0, 0, .22),
                0 8px 18px -8px rgba(107, 44, 145, .40);
    border-color: rgba(107, 44, 145, .45);
  }
  .card-lei .stamp{
    display:inline-flex; align-items: center; gap: 6px;
    background: var(--vermelho); color:#fff;
    font-family: var(--f-display);
    font-size: 12px; letter-spacing: .08em;
    padding: 7px 12px 7px 10px; border-radius: 6px;
    margin-bottom: 14px; align-self:flex-start;
    box-shadow: 0 2px 0 var(--vermelho-esc), 0 3px 6px rgba(227,6,19,.22);
  }
  .card-lei .stamp i{
    font-size: 14px;
    line-height: 1;
  }
  .card-lei .lei-photo{
    aspect-ratio: 16/10;
    border-radius: 8px;
    overflow: hidden;
    margin: -8px 0 16px;
    background: var(--linha);
    border: 1px solid rgba(107, 44, 145, .10);
  }
  .card-lei .lei-photo img{
    width:100%; height:100%;
    object-fit: cover;
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .card-lei:hover .lei-photo img{
    transform: scale(1.04);
  }
  .card-lei h3{
    font-family: var(--f-display);
    font-size: 34px; line-height: 1;
    margin: 0 0 12px;
    color: var(--roxo);
    letter-spacing: -0.01em;
  }
  .card-lei p{
    margin: 0; color: var(--texto);
    font-size: 15.5px; line-height: 1.55;
    flex: 1;
    font-weight: 500;
  }
  .card-lei .foot-autoria{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding: 2px 10px !important;
    border-radius: 4px !important;
    background: rgba(107, 44, 145, 0.10) !important;
    color: var(--roxo) !important;
    font-family: var(--f-title) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: -0.005em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }
  .card-lei .foot-autoria i{
    font-size: 12px !important;
    color: var(--roxo) !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    place-items: unset !important;
    border-radius: 0 !important;
    background: transparent !important;
    flex-shrink: 0 !important;
  }
  .card-lei .foot-autoria span{
    padding-left: 0 !important;
    border-left: none !important;
  }

  #propostas{background: var(--creme); position: relative; overflow-x: clip}
  .propostas-grid{
    display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
  }
  @media (max-width: 960px){ .propostas-grid{grid-template-columns: minmax(0, 1fr)} }
  .proposta{
    background: #fff;
    border: 1px solid rgba(107, 44, 145, 0.28);
    border-left: 5px solid var(--roxo);
    border-radius: var(--radius-sm);
    padding: 24px 26px;
    display:flex; gap: 18px; align-items:flex-start;
    transition:
      transform .3s cubic-bezier(.2,.7,.2,1),
      border-left-color .35s ease,
      box-shadow .35s ease,
      border-color .35s ease;
    box-shadow: 0 3px 12px -10px rgba(74, 30, 102, 0.32);
  }
  .proposta:hover{
    transform: translateX(3px);
    border-left-color: var(--vermelho);
    border-color: rgba(227, 6, 19, 0.32);
    box-shadow: 0 14px 30px -16px rgba(74, 30, 102, 0.40);
  }
  .proposta .idx{
    flex-shrink: 0;
    display: grid; place-items: center;
    width: 44px; height: 44px;
    border-radius: 12px;
    background: var(--roxo);
    color: #fff;
    box-shadow: 0 6px 14px -8px rgba(107, 44, 145, .48);
  }
  .proposta .idx i{
    font-size: 20px;
    line-height: 1;
    color: #fff;
  }
  .proposta h4{
    font-family: var(--f-title);
    font-weight: 900; font-size: 18px;
    margin: 0 0 4px; color: var(--texto);
    letter-spacing: -0.005em;
  }
  .proposta p{margin: 0; color: var(--texto-md); font-size: 15px; line-height: 1.55; font-weight: 500}

  @media (max-width: 960px){
    .proposta{ padding: 20px 18px; gap: 14px; }
    .proposta .idx{ width: 40px; height: 40px; border-radius: 11px; }
    .proposta .idx i{ font-size: 18px; }
    .proposta h4{ font-size: 17px; }
    .proposta p{ font-size: 14.5px; }
  }

  #instagram{background: #fff; position: relative; overflow-x: clip}
  .ig-head{
    display:flex; align-items:center; justify-content:space-between;
    gap: 40px; margin-bottom: 40px; flex-wrap:wrap;
  }
  .ig-handle{
    display:flex; align-items:center; gap: 14px;
    color: var(--texto);
  }
  .ig-handle .avatar{
    width: 56px; height: 56px; border-radius: 50%;
    background: conic-gradient(from 180deg, #E30613, #6B2C91, #E30613);
    padding: 3px;
  }
  .ig-handle .avatar img{
    width:100%; height:100%; border-radius:50%;
    object-fit: cover; border: 3px solid #fff;
  }
  .ig-handle .info b{
    display:block; font-family: var(--f-title);
    font-weight: 800; font-size: 18px;
  }
  .ig-handle .info span{color: var(--texto-cl); font-size: 14px}
  .ig-follow{
    display:inline-flex; align-items:center; gap: 8px;
    background: var(--roxo); color:#fff;
    padding: 12px 22px; border-radius: 999px;
    font-weight: 800; font-size: 14px;
    transition: transform .1s, background .15s;
  }
  .ig-follow:hover{background: var(--roxo-esc); transform: translateY(-2px)}
  .ig-grid{
    display:grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  }
  @media (max-width: 900px){ .ig-grid{grid-template-columns: repeat(3, 1fr)} }
  @media (max-width: 560px){ .ig-grid{grid-template-columns: repeat(2, 1fr); gap: 6px} }
  .ig-post{
    position: relative;
    aspect-ratio: 5/6;
    overflow: hidden;
    background: var(--linha);
    cursor: pointer;
    border-radius: 4px;
  }
  .ig-post img{
    width:100%; height:100%;
    object-fit: cover;
    transition: transform .5s ease;
  }
  .ig-post:hover img{ transform: scale(1.06) }
  .ig-post .ig-overlay{
    position:absolute; inset:0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.72));
    opacity: 0;
    transition: opacity .2s;
    display:flex; flex-direction: column; justify-content: flex-end;
    padding: 14px;
  }
  .ig-post:hover .ig-overlay{opacity: 1}
  .ig-post .cap{
    color: #fff; font-size: 13px; font-weight: 600; line-height:1.35;
  }
  .ig-post .type{
    position: absolute; top: 10px; right: 10px;
    color:#fff;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
  }
  .ig-post .type svg{ width: 22px; height: 22px }

  #mobiliza{
    background:
      linear-gradient(140deg, var(--vermelho) 0%, #C4020F 60%, var(--roxo-esc) 100%);
    color:#fff;
    text-align:center;
    position: relative;
    overflow: hidden;
  }
  #quem{position: relative; overflow-x: clip;}
  #quem .wrap{position: relative; z-index: 1}
  #quem .bg-star{
    position:absolute;
    opacity: .028;
    color: var(--roxo);
  }
  #quem .bg-star.a{
    left: 23%;
    top: 60%;
    width: 340px;
    transform: translateX(-50%);
  }

  #mobiliza .wrap{position: relative; z-index: 1}
  #mobiliza .bg-star{
    position:absolute; opacity:.08; color:#fff;
  }
  #mobiliza .bg-star.a{ left:-60px; top: 40px; width: 260px}
  #mobiliza .bg-star.b{ right:-80px; bottom: 20px; width: 340px; transform: rotate(20deg)}

  #mobiliza .eyebrow::before{ background: #fff; }

  #mobiliza h2{
    font-family: var(--f-display);
    font-size: clamp(38px, 5.5vw, 68px);
    line-height: .95;
    margin: 0 0 20px;
    text-wrap: balance;
  }
  #mobiliza h2 .hl{
    display: inline-block;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    padding: 0.06em 0.22em 0.08em;
    border-radius: 0.42em;
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: none;
    font-weight: inherit;
    letter-spacing: .01em;
  }
  #mobiliza p.lead{
    font-size: 19px; line-height: 1.5;
    max-width: 640px; margin: 0 auto 40px;
    opacity: .92;
  }
  .contact-row{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    justify-items: stretch;
    margin: 0 auto 32px;
    max-width: 900px;
  }
  .contact-row .btn{ width: 100%; }
  @media (max-width: 820px){
    .contact-row{ grid-template-columns: minmax(0, 1fr); max-width: 520px; gap: 12px;}
  }
  .btn-white{
    background: #fff; color: var(--roxo);
    box-shadow: 0 3px 0 rgba(0,0,0,.15);
  }
  .btn-white:hover{transform: translateY(-2px); background: var(--creme)}
  .btn-outline-white{
    border: 2px solid #fff; color:#fff;
  }
  .btn-outline-white:hover{background: #fff; color: var(--vermelho)}

  .socials{
    display:flex; gap: 20px; justify-content:center; flex-wrap:wrap;
    padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);
    max-width: 600px; margin: 0 auto;
  }
  .socials a{
    display:inline-flex; align-items:center; gap: 8px;
    font-weight: 700; font-size: 15px;
    padding: 6px 4px;
    border-bottom: 2px solid transparent;
  }
  .socials a:hover{border-bottom-color: #fff}
  .socials svg{width: 20px; height: 20px}

  .foot-num{
    background-color: #FFFFFF;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.20) 55%, rgba(255,255,255,.32) 100%),
      url('../img/FUNDO-SP-cp2.jpg');
    background-size: cover;
    background-position: center 42%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 124px 0 160px;
    text-align:center;
    position: relative;
    overflow: hidden;
  }
  .foot-num .wrap{
    position: relative;
    z-index: 3;
    display: grid;
    justify-items: center;
    max-width: var(--maxw);
    padding: 0 32px;
  }
  .foot-num .num-card{
    position: relative;
    background-color: #ffffff;
    backdrop-filter: none;
    padding: 50px 44px 42px;
    border-radius: 24px;
    box-shadow:
      0 22px 60px -24px rgba(74, 30, 102, 0.28),
      0 2px 0 rgba(107, 44, 145, 0.06);
    border: 1px solid rgba(107, 44, 145, 0.18);
    display: grid;
    justify-items: center;
    gap: 12px;
    width: 100%;
    overflow: visible;
  }
  .foot-num .num-card::before{
    content: "";
    position: absolute;
    right: 0; bottom: 0;
    width: 72%;
    height: 72%;
    overflow: hidden;
    pointer-events: none;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0.76) 0%, rgba(255,255,255,0.975) 55%, rgba(255,255,255,0.996) 100%),
      url('../img/sp-flag.svg');
    background-size: auto 56%;
    background-repeat: no-repeat;
    background-position: calc(100% + 120px) calc(100% + 90px);
    z-index: 1;
  }
  .foot-num .num-card > *{ position: relative; z-index: 2; }

  .foot-num .label{
    display: inline-flex; align-items: center; gap: 10px;
    padding: 8px 22px;
    background: rgba(14,11,16,0.06);
    border: 1px solid rgba(14,11,16,0.14);
    color: #0e0b10;
    font-family: var(--f-title);
    font-weight: 800;
    font-size: clamp(14px, 1.3vw, 18px);
    letter-spacing: .16em;
    text-transform: uppercase;
    border-radius: 100px;
  }

  .foot-num .n{
    font-family: var(--f-display);
    font-size: clamp(96px, 17vw, 210px);
    background: linear-gradient(180deg, #4A1F70 0%, #6B2C91 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    line-height: .88;
    letter-spacing: -0.03em;
    margin: 2px 0 4px;
    position: relative;
    filter: drop-shadow(0 10px 30px rgba(107, 44, 145, 0.14));
    width: 100%;
    text-align: center;
    word-spacing: 0;
    white-space: nowrap;
  }

  .foot-num .name{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--f-title);
    font-size: clamp(20px, 2.6vw, 34px);
    color: var(--roxo);
    margin: 0;
    letter-spacing: .01em;
    font-weight: 900;
    padding: 6px 20px;
    background: rgba(107, 44, 145, 0.07);
    border: 1px solid rgba(107, 44, 145, 0.14);
    border-radius: 100px;
  }
  .foot-num .name svg{
    width: 18px; height: 18px; color: var(--vermelho);
  }
  .foot-num .state-line{
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--f-title);
    font-size: 13px;
    letter-spacing: .30em;
    color: var(--roxo);
    opacity: .82;
    font-weight: 800;
  }
  .foot-num .state-line i{
    font-size: 14px;
    color: var(--vermelho);
    background: rgba(227,6,19,0.10);
    width: 26px; height: 26px;
    border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .foot-num .state-line::before,
  .foot-num .state-line::after{
    content:"";
    width: 48px;
    height: 1px;
    background: var(--roxo);
    opacity: .4;
  }
  @media (max-width: 860px){
    .foot-num{ background-attachment: scroll; padding: 88px 0; }
    .foot-num .wrap{ padding: 0 10px; }
    .foot-num .num-card{
      padding: 40px 16px 32px;
      border-radius: 20px;
      width: min(98%, 100%);
    }
    .foot-num .num-card::before{
      width: 82%; height: 82%;
      background-image:
        linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.94) 55%, rgba(255,255,255,0.992) 100%),
        url('../img/sp-flag.svg');
      background-size: auto 40%;
      background-position: calc(100% + 44px) calc(100% + 34px);
    }
    .foot-num .label{ padding: 6px 14px; letter-spacing: .12em; font-size: 12px; }
    .foot-num .n{ font-size: clamp(72px, 20vw, 140px); }
    .foot-num .name{ gap: 10px; padding: 5px 14px; font-size: clamp(18px, 4.2vw, 26px); }
    .foot-num .name svg{ width: 13px; height: 13px; }
    .foot-num .state-line{ font-size: 10px; letter-spacing: .20em; gap: 10px; margin-top: 14px; }
    .foot-num .state-line i{ width: 20px; height: 20px; font-size: 11px; }
    .foot-num .state-line::before,
    .foot-num .state-line::after{ width: 22px; }
  }

  footer.foot{
    background: var(--texto);
    color: rgba(255,255,255,.75);
    padding: 100px 0 30px;
    font-size: 14px;
    line-height: 1.55;
    position: relative;
    overflow-x: clip;
  }
  .foot-grid{
    display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px;
    margin-bottom: 28px;
  }
  @media (max-width: 780px){ .foot-grid{grid-template-columns: 1fr; gap: 28px} }
  .foot h5{
    font-family: var(--f-title);
    font-weight: 800; font-size: 13px;
    text-transform: uppercase; letter-spacing: .12em;
    color:#fff; margin: 0 0 12px;
  }
  .foot a{color: rgba(255,255,255,.75); display:block; padding: 3px 0}
  .foot a:hover{color:#fff}
  .foot .brand{display:flex; align-items:center; gap: 12px; margin-bottom: 14px}
  .foot .brand img{height: auto; width: clamp(180px, 24vw, 320px); background:#fff; padding: 8px 16px; border-radius: 14px}
  .foot-legal{
    border-top: 1px solid rgba(255,255,255,.14);
    padding-top: 18px;
    font-size: 12px; color: rgba(255,255,255,.5);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 16px;
  }
  .foot-legal .fl-left{ text-align: left; }
  .foot-legal .fl-right{ text-align: right; }
  @media (max-width: 900px){
    .foot-legal{
      grid-template-columns: 1fr;
      gap: 8px;
    }
    .foot-legal .fl-left,
    .foot-legal .fl-right{ text-align: center; }
  }

  .star-icon{
    display:inline-block; vertical-align: middle;
  }

  .reveal{opacity:0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1; transform: translateY(0)}
