.brand-logo { width: 340px; height: 66px; overflow: hidden; }
.brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.campaign-content[hidden] { display: none; }
.consent-box { margin: 22px 0; padding: 16px 18px; border: 1px solid rgba(226,182,76,.42); border-radius: 14px; background: rgba(226,182,76,.055); }
.consent-box .consent { margin: 0 0 8px; color: #f5f7f8; }
.consent-box p { margin: 0 0 0 28px; color: #9eb0bf; font-size: 12px; line-height: 1.55; }
.consent-box a { color: #e2b64c; font-weight: 700; }
.general-experience { padding: 100px clamp(24px,12vw,220px); background: linear-gradient(180deg,#071727,#050d16); }
.general-experience h2 { max-width: 900px; margin: 16px 0 24px; color: var(--gold-2); font: clamp(42px,6vw,72px)/1.08 Georgia,serif; }
.general-experience p { max-width: 900px; color: #c6d2dc; font-size: 19px; line-height: 1.8; white-space: pre-line; }
.general-experience .primary-button { margin-top: 18px; }
.campaign-hero {
  min-height: 760px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #050b10 url('./assets/altiora-global-markets-hero.png') center/cover no-repeat;
}
body[data-campaign-image="conservador"] .campaign-hero { background-image: linear-gradient(90deg,rgba(2,8,13,.94) 0%,rgba(2,8,13,.58) 52%,rgba(2,8,13,.18) 100%),url('./assets/perfil-conservador.png'); }
body[data-campaign-image="moderado"] .campaign-hero { background-image: linear-gradient(90deg,rgba(2,8,13,.94) 0%,rgba(2,8,13,.58) 52%,rgba(2,8,13,.18) 100%),url('./assets/perfil-moderado.png'); }
body[data-campaign-image="agressivo"] .campaign-hero { background-image: linear-gradient(90deg,rgba(2,8,13,.94) 0%,rgba(2,8,13,.58) 52%,rgba(2,8,13,.18) 100%),url('./assets/perfil-agressivo.png'); }
.campaign-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(3,10,16,.12) 0%, rgba(3,10,16,.02) 48%, rgba(3,10,16,.02) 100%);
}
.campaign-hero h1 { max-width: 790px; text-shadow: 0 3px 25px #000; }
.campaign-hero .hero-copy > p { color: #d4dee5; text-shadow: 0 2px 15px #000; }
.hero-visual-caption { align-self: end; justify-self: end; text-align: right; padding: 18px 0; text-shadow: 0 2px 14px #000; }
.hero-visual-caption span { display: block; color: var(--gold-2); font-size: 10px; letter-spacing: .24em; }
.hero-visual-caption strong { font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.profile-section { padding: 105px clamp(24px,7vw,115px); background: linear-gradient(180deg,#071727,#050d16); }
.profile-heading { text-align: center; max-width: 900px; margin: 0 auto 50px; }
.profile-heading h2 { font-family: Georgia,serif; color: var(--gold-2); font-size: clamp(46px,7vw,82px); font-weight: 400; margin: 12px 0; }
.profile-heading p { color: var(--muted); font-size: 17px; }
.profile-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; max-width: 1280px; margin: auto; }
.profile-card { position: relative; isolation: isolate; min-height: 560px; text-align: left; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); border-radius: 22px; padding: 30px; background-color: #081624; background-position: center; background-size: cover; color: var(--text); cursor: pointer; overflow: hidden; transition: .25s transform,.25s border-color,.25s box-shadow; }
.profile-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(4,12,20,.03) 0%,rgba(4,12,20,.22) 28%,rgba(4,12,20,.9) 59%,rgba(4,12,20,.99) 100%); }
.profile-card:hover,.profile-card.selected { transform: translateY(-8px); border-color: var(--gold); box-shadow: 0 25px 65px rgba(0,0,0,.38); }
.profile-card.conservative { background-image: url('./assets/perfil-conservador.png'); }
.profile-card.moderate { background-image: url('./assets/perfil-moderado.png'); }
.profile-card.aggressive { background-image: url('./assets/perfil-agressivo.png'); }
.profile-card.aggressive::before { background: linear-gradient(180deg,rgba(4,8,13,.02) 0%,rgba(4,8,13,.14) 27%,rgba(25,4,8,.34) 54%,rgba(4,8,13,.82) 78%,rgba(4,8,13,.98) 100%); }
.profile-card.conservative::after,.profile-card.moderate::after,.profile-card.aggressive::after { content: ''; position: absolute; inset: 0; z-index: -2; background: inherit; background-position: center; background-size: cover; transition: transform .6s ease; }
.profile-card.aggressive::after { background-position: 50% 70%; background-size: cover; filter: saturate(1.12) brightness(1.08) contrast(1.03); }
.profile-card:hover::after { transform: scale(1.04); }
.profile-number { color: #6f8598; font-size: 12px; }
.profile-kicker { margin-top: auto; padding-top: 210px; color: var(--gold-2); font-size: 10px; letter-spacing: .22em; font-weight: 900; }
.profile-card strong { font-family: Georgia,serif; font-size: 38px; margin: 8px 0 14px; }
.profile-card p { color: var(--muted); font: 14px/1.7 Inter,Segoe UI,sans-serif; }
.profile-action { margin-top: auto; color: var(--gold-2); font-size: 12px; font-weight: 800; }
.profile-result { max-width: 760px; margin: 35px auto 0; padding: 30px; border: 1px solid var(--gold); border-radius: 18px; background: rgba(223,178,72,.07); text-align: center; }
.profile-result > span,.selected-profile span { display: block; color: var(--muted); font-size: 9px; letter-spacing: .2em; }
.profile-result > strong { display: block; color: var(--gold-2); font: 42px Georgia,serif; margin: 6px; }
.profile-result p { color: var(--muted); }
.selected-profile { border: 1px solid rgba(223,178,72,.4); border-radius: 10px; padding: 12px; margin-bottom: 18px; background: rgba(223,178,72,.06); }
.selected-profile strong { display: block; color: var(--gold-2); margin-top: 3px; }
.turnstile-container { display: flex; justify-content: center; margin: 18px 0; }
.turnstile-container[hidden] { display: none; }
@media (max-width:800px) {
  .brand-logo { width: 250px; height: 58px; }
  .campaign-hero { min-height: 760px; background-position: 64% center; }
  .campaign-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(2,8,13,.48); }
  .hero-visual-caption { display: none; }
  .profile-section { padding: 70px 20px; }
  .profile-grid { grid-template-columns: 1fr; }
  .profile-card { min-height: 520px; }
  .profile-kicker { padding-top: 190px; }
}
