:root{
      --navy:#072d5c;
      --navy-deep:#041d3e;
      --blue:#0d4f96;
      --red:#d32034;
      --red-dark:#b7192a;
      --white:#ffffff;
      --off:#f7f9fc;
      --ink:#122033;
      --muted:#69788b;
      --line:#dfe6ee;
      --shadow:0 24px 70px rgba(4,29,62,.16);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"DM Sans",Arial,sans-serif;
      color:var(--ink);
      background:#fff;
      overflow-x:hidden;
    }
    a{text-decoration:none;color:inherit}
    img{display:block;max-width:100%}
    .container{width:min(1220px,calc(100% - 44px));margin:auto}

    /* HEADER */
    .site-header{
      position:fixed;
      inset:0 0 auto 0;
      z-index:1000;
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(7,45,92,.08);
    }
    .header-inner{
      height:86px;
      display:flex;
      align-items:center;
      gap:32px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:13px;
      min-width:max-content;
    }
    .brand-line{
      width:5px;
      height:40px;
      background:var(--red);
      border-radius:99px;
    }
    .brand-text{line-height:1}
    .brand-text strong{
      display:block;
      font-family:"Montserrat",Arial,sans-serif;
      color:var(--navy);
      font-size:17px;
      font-weight:900;
      letter-spacing:-.3px;
    }
    .brand-text span{
      display:block;
      color:var(--red);
      font-size:13px;
      font-weight:800;
      margin-top:6px;
      letter-spacing:.6px;
    }

    .nav{
      margin-left:auto;
      display:flex;
      align-items:center;
      gap:26px;
    }
    .nav a{
      color:var(--navy);
      font-size:14px;
      font-weight:700;
      position:relative;
      padding:34px 0;
    }
    .nav a::after{
      content:"";
      position:absolute;
      left:0;
      right:100%;
      bottom:25px;
      height:2px;
      background:var(--red);
      transition:.25s ease;
    }
    .nav a:hover::after{right:0}

    .header-cta{
      min-height:46px;
      padding:0 20px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:var(--navy);
      color:#fff;
      border-radius:999px;
      font-size:13px;
      font-weight:800;
      transition:.25s ease;
      box-shadow:0 10px 24px rgba(7,45,92,.12);
    }
    .header-cta:hover{background:var(--red);transform:translateY(-2px)}
    .menu-button{
      display:none;
      margin-left:auto;
      border:0;
      background:none;
      color:var(--navy);
      font-size:28px;
      cursor:pointer;
    }

    /* HERO */
    .hero{
      min-height:100vh;
      padding-top:86px;
      background:
        radial-gradient(circle at 92% 18%,rgba(13,79,150,.12),transparent 26%),
        linear-gradient(120deg,#fff 0%,#fff 59%,#f3f6fa 59%,#f8fafc 100%);
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      width:540px;
      height:540px;
      border:1px solid rgba(7,45,92,.08);
      border-radius:50%;
      right:-250px;
      top:80px;
    }
    .hero::after{
      content:"";
      position:absolute;
      width:280px;
      height:280px;
      border-radius:50%;
      background:var(--red);
      right:-210px;
      bottom:40px;
      opacity:.9;
    }

    .hero-inner{
      min-height:calc(100vh - 86px);
      display:grid;
      grid-template-columns:1.03fr .97fr;
      align-items:center;
      gap:60px;
      padding:54px 0 42px;
      position:relative;
      z-index:2;
    }

    .kicker{
      display:flex;
      align-items:center;
      gap:12px;
      color:var(--navy);
      font-size:12px;
      font-weight:800;
      letter-spacing:1.5px;
      text-transform:uppercase;
      margin-bottom:24px;
    }
    .kicker::before{
      content:"";
      width:42px;
      height:3px;
      border-radius:4px;
      background:var(--red);
    }

    .hero-title{
      font-family:"Montserrat",Arial,sans-serif;
      line-height:.86;
      letter-spacing:-5px;
      margin-bottom:24px;
    }
    .hero-title .first{
      display:block;
      color:var(--navy);
      font-size:clamp(66px,7.9vw,118px);
      font-weight:900;
    }
    .hero-title .last{
      display:block;
      color:var(--red);
      font-size:clamp(66px,7.9vw,118px);
      font-weight:900;
    }

    .identity-row{
      display:flex;
      align-items:end;
      gap:22px;
      margin-bottom:24px;
    }
    .number{
      font-family:"Montserrat",Arial,sans-serif;
      color:var(--navy);
      font-size:clamp(66px,7vw,104px);
      line-height:.8;
      font-weight:900;
      letter-spacing:-5px;
    }
    .role{
      border-left:1px solid var(--line);
      padding-left:20px;
      margin-bottom:2px;
    }
    .role strong{
      display:block;
      color:var(--navy);
      font-size:14px;
      text-transform:uppercase;
      letter-spacing:1px;
    }
    .role span{
      display:block;
      color:var(--muted);
      font-size:13px;
      margin-top:5px;
    }

    .tagline{
      max-width:650px;
      color:#243953;
      font-size:21px;
      line-height:1.45;
      font-weight:600;
      margin-bottom:30px;
    }
    .tagline strong{color:var(--red);font-weight:800}

    .actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-bottom:38px;
    }
    .btn{
      min-height:52px;
      padding:0 24px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:14px;
      font-weight:800;
      transition:.25s ease;
    }
    .btn-primary{
      background:var(--red);
      color:#fff;
      box-shadow:0 12px 28px rgba(211,32,52,.18);
    }
    .btn-primary:hover{background:var(--red-dark);transform:translateY(-2px)}
    .btn-secondary{
      border:1px solid var(--navy);
      color:var(--navy);
      background:#fff;
    }
    .btn-secondary:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}

    /* COUNTDOWN */
    .countdown-shell{
      max-width:760px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      box-shadow:0 16px 42px rgba(7,45,92,.08);
    }
    .countdown-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:14px 20px;
      background:var(--navy-deep);
      color:#fff;
    }
    .countdown-head span{
      font-size:11px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:1.2px;
      opacity:.86;
    }
    .countdown-head strong{
      font-size:13px;
      letter-spacing:.4px;
    }
    .countdown-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      background:#fff;
    }
    .count-unit{
      min-height:92px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      position:relative;
    }
    .count-unit:not(:last-child)::after{
      content:"";
      position:absolute;
      right:0;
      top:22%;
      bottom:22%;
      width:1px;
      background:var(--line);
    }
    .count-unit strong{
      font-family:"Montserrat",Arial,sans-serif;
      font-size:34px;
      line-height:1;
      color:var(--navy);
      font-weight:900;
    }
    .count-unit span{
      margin-top:8px;
      color:var(--muted);
      font-size:10px;
      letter-spacing:1px;
      text-transform:uppercase;
      font-weight:800;
    }
    .count-unit:first-child strong{color:var(--red)}

    /* PHOTO SIDE */
    .visual{
      position:relative;
      min-height:650px;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .visual-shape{
      position:absolute;
      width:92%;
      height:88%;
      right:-8%;
      top:6%;
      background:linear-gradient(145deg,var(--navy),var(--blue));
      border-radius:48% 18% 42% 14%;
      transform:rotate(-3deg);
      box-shadow:0 28px 80px rgba(7,45,92,.18);
    }
    .visual-line{
      position:absolute;
      width:70%;
      height:70%;
      border:1px solid rgba(255,255,255,.22);
      border-radius:50%;
      right:-3%;
      top:17%;
      z-index:1;
    }
    .portrait-card{
      position:relative;
      z-index:2;
      width:86%;
      background:#fff;
      padding:10px;
      border-radius:30px 30px 10px 30px;
      box-shadow:var(--shadow);
    }
    .portrait-card img{
      width:100%;
      height:auto;
      border-radius:22px 22px 8px 22px;
    }

    .pdt-card{
      position:absolute;
      z-index:4;
      right:3%;
      bottom:8%;
      min-width:210px;
      background:#fff;
      border-radius:18px;
      padding:16px 18px 15px;
      box-shadow:0 20px 55px rgba(4,29,62,.2);
      border-top:4px solid var(--red);
    }
    .pdt-card strong{
      display:block;
      font-family:"Montserrat",Arial,sans-serif;
      color:var(--navy);
      font-size:25px;
      font-weight:900;
    }
    .pdt-card span{
      display:block;
      color:var(--muted);
      font-size:11px;
      margin-top:4px;
    }
    .pdt-card small{
      display:block;
      color:#9aa5b3;
      font-size:9px;
      margin-top:8px;
    }

    /* QUEM É LILIAN */
    .next-section{
      padding:66px 0 76px;
      background:var(--off);
      text-align:center;
    }
    .next-section .eyebrow{
      color:var(--red);
      font-size:11px;
      font-weight:900;
      letter-spacing:1.5px;
      text-transform:uppercase;
      margin-bottom:10px;
    }
    .next-section h2{
      font-family:"Montserrat",Arial,sans-serif;
      color:var(--navy);
      font-size:clamp(34px,4vw,54px);
      letter-spacing:-2px;
      line-height:1;
    }
    .next-section p{
      max-width:680px;
      margin:18px auto 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.55;
    }

    /* RODAPÉ INSTITUCIONAL */
    .site-footer{
      background:var(--navy-deep);
      color:#fff;
      border-top:4px solid var(--red);
    }
    .footer-inner{
      min-height:94px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:30px;
      padding:20px 0;
    }
    .footer-brand strong{
      display:block;
      font-family:"Montserrat",Arial,sans-serif;
      font-size:15px;
      font-weight:900;
      letter-spacing:.2px;
    }
    .footer-brand span{
      display:block;
      margin-top:6px;
      font-size:11px;
      color:rgba(255,255,255,.66);
    }
    .footer-legal{
      text-align:right;
      font-size:11px;
      line-height:1.55;
      color:rgba(255,255,255,.72);
    }
    .footer-legal strong{
      color:#fff;
      font-weight:800;
    }

    /* MOBILE */
    @media(max-width:1000px){
      .nav,.header-cta{display:none}
      .menu-button{display:block}
      .nav.open{
        display:flex;
        position:absolute;
        top:86px;
        left:0;
        right:0;
        background:#fff;
        flex-direction:column;
        align-items:flex-start;
        padding:16px 22px 26px;
        border-bottom:1px solid var(--line);
        box-shadow:0 18px 38px rgba(4,29,62,.08);
      }
      .nav.open a{padding:9px 0}

      .hero-inner{
        grid-template-columns:1fr;
        gap:32px;
        padding-top:46px;
      }
      .visual{min-height:auto}
      .visual-shape{inset:8% -8% 3% 12%}
      .portrait-card{width:min(720px,90%)}
      .pdt-card{right:8%;bottom:2%}
    }

    @media(max-width:640px){
      .container{width:min(100% - 28px,1220px)}
      .header-inner{height:74px}
      .site-header{position:sticky}
      .hero{padding-top:0;min-height:auto;background:linear-gradient(#fff,#f5f8fb)}
      .hero-inner{min-height:auto;padding:38px 0 48px}
      .hero-title{letter-spacing:-3px}
      .hero-title .first,.hero-title .last{font-size:60px}
      .identity-row{align-items:center;gap:14px}
      .number{font-size:64px;letter-spacing:-3px}
      .role{padding-left:14px}
      .role strong{font-size:11px}
      .role span{font-size:11px}
      .tagline{font-size:18px}
      .actions{flex-direction:column}
      .btn{width:100%}
      .countdown-head{flex-direction:column;align-items:flex-start;gap:3px}
      .count-unit{min-height:78px}
      .count-unit strong{font-size:26px}
      .visual{padding-bottom:16px}
      .portrait-card{width:94%;padding:7px}
      .pdt-card{position:relative;right:auto;bottom:auto;margin:-18px auto 0;width:86%}

      .footer-inner{
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
        padding:24px 0;
      }
      .footer-legal{text-align:left}
    }

    /* subtle entrance animation */
    @keyframes rise{
      from{opacity:0;transform:translateY(16px)}
      to{opacity:1;transform:translateY(0)}
    }
    .hero-copy > *{animation:rise .7s ease both}
    .hero-copy > *:nth-child(2){animation-delay:.05s}
    .hero-copy > *:nth-child(3){animation-delay:.1s}
    .hero-copy > *:nth-child(4){animation-delay:.15s}
    .hero-copy > *:nth-child(5){animation-delay:.2s}
    .hero-copy > *:nth-child(6){animation-delay:.25s}
    .portrait-card{animation:rise .85s .12s ease both}


/* QUEM É LILIAN — BIOGRAFIA */
.biography-section{text-align:left}
.biography-section .eyebrow,
.biography-section h2{text-align:center}
.biography-text{
  max-width:900px;
  margin:34px auto 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:38px 42px;
  box-shadow:0 16px 42px rgba(7,45,92,.07);
}
.biography-text p{
  max-width:none;
  margin:0 0 20px;
  color:#415269;
  font-size:16px;
  line-height:1.75;
}
.biography-text p:last-child{margin-bottom:0}
.biography-text strong{color:var(--navy);font-weight:800}
@media(max-width:640px){
  .biography-text{margin-top:26px;padding:26px 20px;border-radius:18px}
  .biography-text p{font-size:15px;line-height:1.7}
}

/* PLAYER OFICIAL — MÚSICA DA CAMPANHA */
.campaign-player{
  width:min(650px,100%);
  min-height:78px;
  margin:2px 0 24px;
  padding:13px 14px 13px 18px;
  display:grid;
  grid-template-columns:auto 1fr 52px;
  align-items:center;
  gap:18px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(112deg,#061f42 0%,#082f62 58%,#0d4f96 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 15px 34px rgba(7,45,92,.18);
  color:#fff;
}

.campaign-player::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#d32034;
}

.campaign-player::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-72px;
  top:-76px;
  border:22px solid rgba(255,255,255,.045);
  border-radius:50%;
  pointer-events:none;
}

.player-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  position:relative;
  z-index:1;
}

.player-note{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d32034;
  color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:20px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(211,32,52,.25);
}

.player-copy{
  min-width:0;
}

.player-copy span,
.player-copy strong{
  display:block;
  white-space:nowrap;
}

.player-copy span{
  margin-bottom:4px;
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.1px;
}

.player-copy strong{
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.player-copy b{
  color:#d32034;
  padding:0 2px;
}

.player-center{
  min-width:90px;
  position:relative;
  z-index:1;
}

.player-progress{
  width:100%;
  height:18px;
  display:flex;
  align-items:center;
  cursor:pointer;
  outline:none;
}

.player-progress::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}

.player-progress-fill{
  position:relative;
  z-index:1;
  width:0;
  height:3px;
  border-radius:999px;
  background:#fff;
  pointer-events:none;
}

.player-progress-fill::after{
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  width:8px;
  height:8px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.12);
}

.player-progress:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
  border-radius:8px;
}

.player-time{
  margin-top:-2px;
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.5);
  font-size:9px;
  font-variant-numeric:tabular-nums;
}

.player-button{
  width:50px;
  height:50px;
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  background:#fff;
  color:#072d5c;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
  transition:transform .2s ease,background .2s ease,color .2s ease;
}

.player-button:hover{
  transform:scale(1.05);
}

.player-button.is-playing{
  background:#d32034;
  border-color:#d32034;
  color:#fff;
}

.player-button:focus-visible{
  outline:3px solid rgba(211,32,52,.35);
  outline-offset:3px;
}

@media(max-width:640px){
  .campaign-player{
    min-height:auto;
    grid-template-columns:1fr 50px;
    gap:12px 14px;
    padding:14px 14px 14px 17px;
  }

  .player-brand{
    grid-column:1;
  }

  .player-button{
    grid-column:2;
    grid-row:1;
  }

  .player-center{
    grid-column:1/-1;
    grid-row:2;
  }

  .player-copy strong{
    font-size:12px;
  }
}



/* PLAYER NO TOPO DA HOME */
.campaign-player-top{
  position:relative;
  z-index:5;
  padding-top:22px;
}

.campaign-player-top .campaign-player{
  width:min(760px,100%);
  margin:0;
}

@media(max-width:640px){
  .campaign-player-top{
    padding-top:14px;
  }
}
