.tb-proposals-page {
    --tbpp-red: #d20a2e;
    --tbpp-wine: #650017;
    --tbpp-dark: #280008;
    --tbpp-yellow: #ffd100;
    --tbpp-cream: #fff8e9;
    background: var(--tbpp-cream);
}

.tb-proposals-page__hero {
    position: relative;
    min-height: 940px;
    background:
        radial-gradient(circle at 80% 31%, rgba(255, 209, 0, .22), transparent 27%),
        linear-gradient(133deg, #30000a 0%, var(--tbpp-wine) 60%, #8d001f 100%);
    isolation: isolate;
    overflow: hidden;
}

.tb-proposals-page__hero::before {
    content: "06";
    position: absolute;
    z-index: -1;
    right: -10px;
    bottom: 54px;
    color: transparent;
    font-size: clamp(330px, 45vw, 680px);
    font-weight: 950;
    line-height: .66;
    letter-spacing: -.12em;
    -webkit-text-stroke: 1px rgba(255, 209, 0, .09);
}

.tb-proposals-page__hero-noise {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .16;
    background-image:
        repeating-linear-gradient(135deg, transparent 0 25px, rgba(255, 255, 255, .04) 25px 26px),
        repeating-radial-gradient(circle at 0 0, rgba(255, 255, 255, .12) 0 .6px, transparent .8px 6px);
    background-size: auto, 10px 10px;
}

.tb-proposals-page__hero-inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr);
    align-items: center;
    gap: clamp(55px, 7vw, 115px);
    width: min(1370px, calc(100% - 64px));
    min-height: 890px;
    margin: 0 auto;
    padding: 155px 0 100px;
}

.tb-proposals-page__breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, .5);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.tb-proposals-page__breadcrumb a { color: rgba(255, 255, 255, .72); }
.tb-proposals-page__breadcrumb i { color: var(--tbpp-yellow); font-style: normal; }

.tb-proposals-page__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin-bottom: 25px;
    padding: 0 5px 0 12px;
    border: 1px solid rgba(255, 209, 0, .48);
    border-radius: 999px;
    color: rgba(255, 255, 255, .82);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.tb-proposals-page__eyebrow > i {
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--tbpp-yellow);
}

.tb-proposals-page__eyebrow > b {
    display: grid;
    place-items: center;
    align-self: stretch;
    min-width: 42px;
    margin-left: 12px;
    border-radius: 999px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
}

.tb-proposals-page__hero h1 {
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-size: clamp(70px, 7.3vw, 112px);
    font-weight: 950;
    line-height: .86;
    letter-spacing: -.076em;
    text-wrap: balance;
}

.tb-proposals-page__hero-copy > p {
    max-width: 650px;
    margin: 34px 0 0;
    color: rgba(255, 255, 255, .73);
    font-size: 14px;
    line-height: 1.7;
}

.tb-proposals-page__hero-index {
    display: grid;
    gap: 9px;
}

.tb-proposals-page__hero-index > a {
    display: grid;
    grid-template-columns: 32px 45px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 13px;
    min-height: 76px;
    padding: 10px 12px 10px 16px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    background: rgba(255, 255, 255, .075);
    color: #fff;
    backdrop-filter: blur(12px);
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.tb-proposals-page__hero-index > a:hover {
    border-color: rgba(255, 209, 0, .55);
    background: rgba(255, 255, 255, .13);
    transform: translateX(-7px);
}

.tb-proposals-page__hero-index > a > span {
    color: rgba(255, 255, 255, .48);
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .1em;
}

.tb-proposals-page__hero-index > a > i {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 14px 4px 14px 4px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
    font-size: 16px;
    font-style: normal;
}

.tb-proposals-page__hero-index > a:nth-child(odd) > i {
    background: var(--tbpp-red);
    color: #fff;
}

.tb-proposals-page__hero-index > a > b {
    min-width: 0;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.tb-proposals-page__hero-index > a > em {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    color: var(--tbpp-yellow);
    font-style: normal;
}

.tb-proposals-page__ticker {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(22px, 4vw, 65px);
    min-height: 50px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tb-proposals-page__ticker i { color: var(--tbpp-red); font-style: normal; }

.tb-proposals-page__content {
    position: relative;
    background:
        radial-gradient(circle at 6% 15%, rgba(255, 209, 0, .17), transparent 25%),
        var(--tbpp-cream);
    color: var(--tbpp-dark);
    overflow: hidden;
}

.tb-proposals-page__content::before {
    content: "PROPOSTAS";
    position: absolute;
    top: 80px;
    right: -20px;
    color: transparent;
    font-size: clamp(95px, 16vw, 250px);
    font-weight: 950;
    line-height: .8;
    letter-spacing: -.09em;
    -webkit-text-stroke: 1px rgba(101, 0, 23, .055);
}

.tb-proposals-page__content-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(285px, .62fr) minmax(0, 1.38fr);
    align-items: start;
    gap: clamp(45px, 7vw, 110px);
    width: min(1360px, calc(100% - 64px));
    margin: 0 auto;
    padding: 125px 0 145px;
}

.tb-proposals-page__aside {
    position: sticky;
    top: 32px;
}

.tb-proposals-page__aside > span {
    color: var(--tbpp-red);
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tb-proposals-page__aside h2 {
    margin: 24px 0 22px;
    color: var(--tbpp-wine);
    font-size: clamp(43px, 4.3vw, 64px);
    font-weight: 950;
    line-height: .92;
    letter-spacing: -.065em;
}

.tb-proposals-page__aside > p {
    margin: 0;
    color: rgba(40, 0, 8, .62);
    font-size: 12px;
    line-height: 1.7;
}

.tb-proposals-page__aside nav {
    display: grid;
    gap: 5px;
    margin-top: 30px;
}

.tb-proposals-page__aside nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 41px;
    padding: 5px 12px 5px 7px;
    border-radius: 12px;
    color: rgba(101, 0, 23, .67);
    font-size: 9px;
    font-weight: 850;
    transition: background .2s ease, color .2s ease;
}

.tb-proposals-page__aside nav a:hover,
.tb-proposals-page__aside nav a.is-active {
    background: rgba(210, 10, 46, .08);
    color: var(--tbpp-red);
}

.tb-proposals-page__aside nav i {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 9px 3px 9px 3px;
    background: var(--tbpp-wine);
    color: #fff;
    font-size: 7px;
    font-style: normal;
}

.tb-proposals-page__validation {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid rgba(210, 10, 46, .18);
    border-radius: 20px;
    background: rgba(255, 255, 255, .64);
}

.tb-proposals-page__validation b {
    color: var(--tbpp-red);
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tb-proposals-page__validation p {
    margin: 10px 0 0;
    color: rgba(40, 0, 8, .58);
    font-size: 9px;
    line-height: 1.6;
}

.tb-proposals-page__list {
    display: grid;
    gap: 13px;
}

.tb-proposals-page__proposal {
    border: 1px solid rgba(101, 0, 23, .14);
    border-radius: 28px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 17px 43px rgba(58, 0, 14, .05);
    overflow: hidden;
    scroll-margin-top: 30px;
}

.tb-proposals-page__proposal > summary {
    display: grid;
    grid-template-columns: 40px 55px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 17px;
    min-height: 118px;
    padding: 18px 22px;
    cursor: pointer;
    list-style: none;
}

.tb-proposals-page__proposal > summary::-webkit-details-marker { display: none; }
.tb-proposals-page__proposal > summary:focus-visible { outline: 3px solid var(--tbpp-yellow); outline-offset: -4px; }

.tb-proposals-page__proposal-number {
    color: rgba(101, 0, 23, .42);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .12em;
}

.tb-proposals-page__proposal > summary > i {
    display: grid;
    place-items: center;
    width: 53px;
    height: 53px;
    border-radius: 17px 5px 17px 5px;
    background: var(--tbpp-red);
    color: #fff;
    font-size: 19px;
    font-style: normal;
}

.tb-proposals-page__proposal:nth-child(even) > summary > i {
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
}

.tb-proposals-page__proposal-heading {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.tb-proposals-page__proposal-heading b {
    color: var(--tbpp-wine);
    font-size: clamp(27px, 2.6vw, 38px);
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.05em;
    overflow-wrap: anywhere;
}

.tb-proposals-page__proposal-heading em {
    color: rgba(40, 0, 8, .59);
    font-size: 10px;
    font-weight: 750;
    font-style: normal;
    overflow-wrap: anywhere;
}

.tb-proposals-page__proposal-toggle {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border: 1px solid rgba(101, 0, 23, .15);
    border-radius: 50%;
    color: var(--tbpp-red);
    font-size: 24px;
    font-weight: 400;
    transition: background .25s ease, color .25s ease, transform .3s ease;
}

.tb-proposals-page__proposal[open] .tb-proposals-page__proposal-toggle {
    background: var(--tbpp-wine);
    color: #fff;
    transform: rotate(45deg);
}

.tb-proposals-page__proposal-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 17px 17px;
    animation: tb-proposals-page-open .35s ease both;
}

@keyframes tb-proposals-page-open {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.tb-proposals-page__field {
    min-height: 210px;
    padding: 25px;
    border: 1px solid rgba(101, 0, 23, .1);
    border-radius: 20px;
    background: var(--tbpp-cream);
}

.tb-proposals-page__field > span {
    color: var(--tbpp-red);
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.tb-proposals-page__field h3 {
    margin: 15px 0 12px;
    color: var(--tbpp-wine);
    font-size: 21px;
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.tb-proposals-page__field p {
    margin: 0;
    color: rgba(40, 0, 8, .64);
    font-size: 11px;
    line-height: 1.68;
}

.tb-proposals-page__field--problem,
.tb-proposals-page__field--commitment {
    grid-column: 1 / -1;
    min-height: 0;
}

.tb-proposals-page__field--commitment {
    border: 0;
    background: linear-gradient(135deg, var(--tbpp-wine), #8a001e);
}

.tb-proposals-page__field--commitment > span { color: var(--tbpp-yellow); }
.tb-proposals-page__field--commitment h3 { color: #fff; font-size: 25px; }
.tb-proposals-page__field--commitment p { max-width: 740px; color: rgba(255, 255, 255, .78); font-size: 12px; }

.tb-proposals-page__field--reference {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: start;
    gap: 30px;
    min-height: 0;
    border-style: dashed;
    background: rgba(255, 209, 0, .1);
}

.tb-proposals-page__field--reference b {
    display: inline-flex;
    margin-bottom: 9px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tb-proposals-page__cta {
    position: relative;
    min-height: 610px;
    background:
        radial-gradient(circle at 87% 60%, rgba(255, 209, 0, .14), transparent 25%),
        linear-gradient(135deg, var(--tbpp-dark), var(--tbpp-wine));
    overflow: hidden;
}

.tb-proposals-page__cta::before {
    content: "PARTICIPE";
    position: absolute;
    right: -20px;
    bottom: -20px;
    color: transparent;
    font-size: clamp(105px, 18vw, 275px);
    font-weight: 950;
    line-height: .8;
    letter-spacing: -.09em;
    -webkit-text-stroke: 1px rgba(255, 255, 255, .07);
}

.tb-proposals-page__cta-inner {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: min(980px, calc(100% - 50px));
    margin: 0 auto;
    padding: 125px 0 120px;
    text-align: center;
}

.tb-proposals-page__cta-inner > span {
    color: var(--tbpp-yellow);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tb-proposals-page__cta h2 {
    margin: 24px 0;
    color: #fff;
    font-size: clamp(59px, 7vw, 102px);
    font-weight: 950;
    line-height: .88;
    letter-spacing: -.073em;
    text-wrap: balance;
}

.tb-proposals-page__cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    line-height: 1.7;
}

.tb-proposals-page__cta a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    min-width: 270px;
    min-height: 60px;
    margin-top: 32px;
    padding: 7px 8px 7px 25px;
    border-radius: 999px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-wine);
    font-size: 10px;
    font-weight: 950;
}

.tb-proposals-page__cta a b {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--tbpp-red);
    color: #fff;
    font-size: 18px;
}

.tb-proposals-page__cta-star {
    position: absolute;
    top: 70px;
    left: 9%;
    display: grid;
    place-items: center;
    width: 75px;
    height: 75px;
    border-radius: 25px 7px 25px 7px;
    background: var(--tbpp-yellow);
    color: var(--tbpp-red);
    font-size: 25px;
    animation: tb-proposals-page-star 7s ease-in-out infinite;
}

@keyframes tb-proposals-page-star {
    50% { transform: translateY(18px) rotate(22deg); }
}

.tb-proposals-page--motion .tb-proposals-page-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .76s cubic-bezier(.2, .7, .2, 1), transform .76s cubic-bezier(.2, .7, .2, 1);
}

.tb-proposals-page--motion .tb-proposals-page__proposal.tb-proposals-page-reveal {
    transition-delay: var(--tb-proposal-page-delay);
}

.tb-proposals-page--motion .tb-proposals-page-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1000px) {
    .tb-proposals-page__hero-inner { grid-template-columns: minmax(0, 1fr); padding-top: 160px; }
    .tb-proposals-page__hero-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tb-proposals-page__content-inner { grid-template-columns: minmax(0, 1fr); }
    .tb-proposals-page__aside { position: relative; top: auto; }
    .tb-proposals-page__aside nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .tb-proposals-page__hero-inner { width: calc(100% - 30px); padding: 132px 0 100px; }
    .tb-proposals-page__hero h1 { font-size: clamp(53px, 15vw, 73px); }
    .tb-proposals-page__hero-copy > p { font-size: 13px; }
    .tb-proposals-page__hero-index { grid-template-columns: minmax(0, 1fr); }
    .tb-proposals-page__hero-index > a { min-height: 68px; }
    .tb-proposals-page__ticker { gap: 11px; font-size: 7px; letter-spacing: .06em; }
    .tb-proposals-page__content-inner { width: calc(100% - 30px); padding: 90px 0 105px; }
    .tb-proposals-page__aside h2 { font-size: 49px; }
    .tb-proposals-page__aside nav { grid-template-columns: minmax(0, 1fr); }
    .tb-proposals-page__proposal > summary { grid-template-columns: 29px 45px minmax(0, 1fr) 38px; gap: 11px; min-height: 100px; padding: 14px 13px; }
    .tb-proposals-page__proposal > summary > i { width: 43px; height: 43px; border-radius: 14px 4px 14px 4px; }
    .tb-proposals-page__proposal-heading b { font-size: 26px; }
    .tb-proposals-page__proposal-heading em { font-size: 8.5px; line-height: 1.4; }
    .tb-proposals-page__proposal-toggle { width: 36px; height: 36px; font-size: 20px; }
    .tb-proposals-page__proposal-body { grid-template-columns: minmax(0, 1fr); padding: 0 10px 10px; }
    .tb-proposals-page__field { min-height: 0; padding: 22px; }
    .tb-proposals-page__field--problem,
    .tb-proposals-page__field--commitment,
    .tb-proposals-page__field--reference { grid-column: auto; }
    .tb-proposals-page__field--reference { grid-template-columns: minmax(0, 1fr); gap: 13px; }
    .tb-proposals-page__cta-inner { width: calc(100% - 30px); padding: 100px 0 115px; }
    .tb-proposals-page__cta h2 { font-size: clamp(52px, 15vw, 70px); }
}

@media (prefers-reduced-motion: reduce) {
    .tb-proposals-page *,
    .tb-proposals-page *::before,
    .tb-proposals-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .tb-proposals-page--motion .tb-proposals-page-reveal { opacity: 1 !important; transform: none !important; }
}
