:root {
    --green: #064C3F;
    --green-2: #034034;
    --green-3: #0A5648;
    --gold: #B8924F;
    --cream: #EFE3CB;
    --muted: #BBA78E;
    --site-max: 2700px;
}

* {
    box-sizing: border-box;
}

html,body {
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Hanken Grotesk",Arial,sans-serif;
    background: #032f29;
    color: var(--green);
    -webkit-font-smoothing: antialiased;
}

body.nav-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,input,textarea {
    font: inherit;
}

.site-shell {
    width: min(100%,var(--site-max));
    margin: 0 auto;
    overflow: hidden;
    background: var(--green);
}

.stage-1440 {
    width: min(100%,1440px);
    margin-inline: auto;
    position: relative;
    container-type: inline-size;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: 1.92px;
    text-transform: uppercase;
    white-space: nowrap;
    transition: filter .15s ease,transform .15s ease;
}

.btn:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.btn-gold {
    background: var(--gold);
    color: var(--green);
}

.btn-outline {
    background: transparent;
    border-color: var(--gold);
    color: var(--cream);
}

.btn-green {
    background: var(--green);
    color: var(--cream);
}

/* Header: exact 1440 reference positions, proportional through the 1920 hero stage. */

.site-header {
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;
    right: 0;
    height: clamp(78px,6.3889vw,122.6667px);
    background: var(--green);
    color: var(--cream);
    pointer-events: none;
    overflow: hidden;
}

.header-stage {
    width: min(100%,1920px);
    height: 100%;
    margin-inline: auto;
    position: relative;
    container-type: inline-size;
    pointer-events: auto;
}

.brand {
    position: absolute;
    left: 5.9028%;
    top: 14.1304%;
    width: 12.0139%;
    height: 73.913%;
    overflow: hidden;
}

.brand img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.primary-nav {
    position: absolute;
    left: 36.944%;
    top: 38.04%;
    width: 35.208%;
    height: 22.83%;
    display: flex;
    align-items: flex-start;
    gap: 2.361cqw;
    font-size: 1.111cqw;
    line-height: 1.458cqw;
    font-weight: 400;
}

.primary-nav a {
    color: var(--cream);
}

.primary-nav a:hover,.primary-nav a.is-active {
    color: var(--gold);
}

.header-register {
    position: absolute;
    left: 88.056%;
    top: 28.261%;
    width: 8.056%;
    height: 43.478%;
    padding: 0;
    font-size: .833cqw;
    line-height: 1.111cqw;
    letter-spacing: .1333cqw;
}

.nav-toggle {
    display: none;
}

/* Hero */

.hero-section {
    background: var(--green);
    position: relative;
    z-index: 2;
    overflow: visible;
}

.hero-stage {
    width: min(100%,1920px);
    aspect-ratio: 1440/853;
    margin-inline: auto;
    position: relative;
    overflow: visible;
    container-type: inline-size;
    background: var(--green);
}

.hero-art {
    position: absolute;
    z-index: 1;
    left: 30.3472%;
    top: 6.754%;
    width: 71.05%;
    height: 99.225%;
    max-width: none;
    object-fit: fill;
}

.hero-title {
    position: absolute;
    z-index: 3;
    left: 6.8056%;
    top: 20.047%;
    width: 24.861%;
    height: 37.515%;
    margin: 0;
    /* Match the Sponsors hero title scale, including its 1440px cap. */
    font-size: min(4.4444cqw, 64px);
    line-height: min(4.8611cqw, 70px);
    letter-spacing: max(-.2431cqw, -3.5px);
    font-weight: 900;
    color: var(--cream);
}

.hero-title span {
    display: block;
}

.hero-title span+span {
    color: var(--gold);
}

.hero-lower-copy {
    position: absolute;
    z-index: 4;
    left: 6.8056%;
    top: 64.947%;
    width: 41.458%;
    height: 25.908%;
}

.hero-lower-copy p {
    width: 27.431cqw;
    height: 6.667cqw;
    margin: 0;
    color: var(--cream);
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
}

.hero-actions {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    gap: 1.25cqw;
    height: 2.7778cqw;
}

.hero-actions .btn:first-child {
    width: 13.542cqw;
}

.hero-actions .btn:last-child {
    width: 8.194cqw;
}

.hero-actions .btn {
    height: 2.7778cqw;
    padding: 0;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    letter-spacing: .1333cqw;
}

.countdown {
    position: absolute;
    z-index: 8;
    left: 55.4861%;
    top: 64.947%;
    width: 40.2083%;
    height: 25.9086%;
    padding: 2.5cqw;
    background: var(--cream);
    border-left: .2083cqw solid var(--gold);
    color: var(--green);
}

.countdown-kicker {
    height: 1.1111cqw;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.countdown-units {
    display: flex;
    width: 30cqw;
    height: 6.0417cqw;
    justify-content: space-between;
    align-items: center;
    margin-top: .9722cqw;
}

.countdown-units>div {
    width: 6.3889cqw;
    height: 6.0417cqw;
    display: flex;
    flex-direction: column;
    gap: .5556cqw;
}

.countdown-units strong {
    height: 4.375cqw;
    font-size: 3.3333cqw;
    line-height: 4.375cqw;
    font-weight: 800;
    color: var(--green);
}

.countdown-units strong.gold {
    color: var(--gold);
}

.countdown-units span {
    height: 1.1111cqw;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 400;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--green-3);
}

.countdown-rule {
    width: 35cqw;
    border-top: .0694cqw solid rgba(187,167,142,.45);
    margin-top: .9722cqw;
}

.countdown-date {
    margin-top: .9722cqw;
    font-size: .9722cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
    letter-spacing: .2083cqw;
    white-space: nowrap;
}

/* Gold banner */

.summit-banner {
    background: var(--gold);
    position: relative;
    z-index: 1;
}

.banner-stage {
    height: 189px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 42px;
    gap: 42px;
}

.banner-kicker {
    width: 38.75cqw;
    white-space: nowrap;
    height: 1.8056cqw;
    font-size: 1.3889cqw;
    line-height: 1.8056cqw;
    font-weight: 900;
    letter-spacing: .5556cqw;
    text-transform: uppercase;
    color: var(--cream);
    text-align: center;
}

.banner-words {
    width: 75.8333cqw;
    height: 1.6667cqw;
    padding: 0 1.6667cqw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--green-2);
}

.banner-words strong {
    font-size: 2.7778cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
    letter-spacing: .0097cqw;
}

.banner-words span {
    font-size: 1.6667cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
}

/* About */

.about-home {
    background: var(--cream);
}

.about-stage {
    height: 694px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 146px;
}

.about-visual {
    width: 37.5cqw;
    height: 35.8417cqw;
    position: relative;
    flex: 0 0 auto;
}

.about-photo {
    position: absolute;
    left: 2.6389cqw;
    top: 0;
    width: 34.8611cqw;
    height: 34.3056cqw;
    object-fit: fill;
}

.about-ribbon {
    position: absolute;
    left: 0;
    top: 32.7861cqw;
    width: 12.9861cqw;
    height: 3.0556cqw;
}

.about-ribbon img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.about-ribbon span {
    position: absolute;
    left: 2.5cqw;
    top: .9722cqw;
    width: 7.9167cqw;
    height: 1.0417cqw;
    font-size: .7639cqw;
    line-height: 1.0417cqw;
    font-weight: 700;
    letter-spacing: .12cqw;
    text-transform: uppercase;
    color: var(--green);
    white-space: nowrap;
}

.about-copy {
    width: 35.3472cqw;
    height: 20.6944cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
    flex: 0 0 auto;
}

.about-copy h2 {
    width: 100%;
    white-space: nowrap;
    height: 9.0278cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
}

.about-copy h2 span {
    color: var(--gold);
}

.about-copy p {
    width: 100%;
    height: 6.6667cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
    color: var(--green);
}

.about-copy .btn {
    width: 9.6528cqw;
    height: 2.7778cqw;
    padding: 0;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    letter-spacing: .1333cqw;
}

/* Built Around What Matters */

.matters-section {
    background: var(--green);
}

.matters-stage {
    height: 652px;
    padding-top: 56px;
}

.matters-stage h2 {
    width: 43.5417cqw;
    height: 4.5139cqw;
    margin: 0 auto 3.8889cqw;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    text-align: center;
    color: var(--cream);
}

.matters-grid {
    width: 95cqw;
    height: 27.0139cqw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(4,22.0833cqw);
    gap: 2.2222cqw;
}

.matter-card {
    width: 22.0833cqw;
    height: 27.0139cqw;
    background: var(--green-2);
    position: relative;
    padding: .8333cqw;
    display: flex;
    flex-direction: column;
    gap: .8333cqw;
}

.matter-photo {
    width: 20.4167cqw;
    height: 20cqw;
    position: relative;
    overflow: visible;
}

.matter-main-image {
    width: 100%;
    height: 100%;
    object-fit: fill;
    border-radius: 2px;
}

.matter-corner {
    position: absolute;
    left: 15.4167cqw;
    top: -.8333cqw;
    width: 5.8333cqw;
    height: 5.0521cqw;
    max-width: none;
}

.matter-card h3 {
    width: 20.4167cqw;
    height: 2.1528cqw;
    margin: 0;
    font-size: 1.6667cqw;
    line-height: 2.1528cqw;
    font-weight: 900;
    color: var(--cream);
}

/* Speakers */

.speakers-home {
    background: var(--cream);
}

.speakers-stage {
    height: 800px;
    position: relative;
    overflow: hidden;
}

.speakers-mark {
    position: absolute;
    left: 0;
    top: .5208cqw;
    width: 83.9583cqw;
    height: 70.1528cqw;
    max-width: none;
    opacity: .08;
}

.speakers-content {
    position: absolute;
    z-index: 2;
    left: 6.8056cqw;
    top: 3.8889cqw;
    width: 86.3889cqw;
    height: 49.3056cqw;
    display: flex;
    flex-direction: column;
    gap: 3.8889cqw;
}

.speakers-heading {
    width: 86.3889cqw;
    height: 7.2917cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.speakers-heading>div {
    width: 43.5417cqw;
    height: 7.2917cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.section-kicker {
    height: 1.2639cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.speakers-heading h2 {
    height: 4.5139cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
    white-space: nowrap;
}

.speakers-heading>p {
    width: 23.4028cqw;
    height: 3.3333cqw;
    margin: 0 0 .2778cqw;
    font-size: .9722cqw;
    line-height: 1.6667cqw;
    text-align: right;
    letter-spacing: .0097cqw;
    color: var(--green);
}

.speaker-grid {
    width: 86.3889cqw;
    height: 32.8472cqw;
    display: grid;
    grid-template-columns: repeat(4,19.5139cqw);
    gap: 2.7778cqw;
}

.speaker-card {
    width: 19.5139cqw;
    height: 32.8472cqw;
    display: flex;
    flex-direction: column;
    gap: 1.6667cqw;
}

.speaker-photo {
    display: block;
    width: 19.5139cqw;
    height: 25cqw;
    overflow: hidden;
    clip-path: polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);
    background: #dbcaa8;
}

.speaker-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.speaker-meta {
    width: 19.5139cqw;
    height: 6.1806cqw;
    display: flex;
    flex-direction: column;
    gap: .5556cqw;
}

.speaker-meta h3,.speaker-meta p,.speaker-meta span {
    margin: 0;
    width: 100%;
}

.speaker-meta h3 {
    height: 2.1528cqw;
    font-size: 1.6667cqw;
    line-height: 2.1528cqw;
    font-weight: 900;
    color: var(--green);
}

.speaker-meta p,.speaker-meta span {
    height: 1.4583cqw;
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 400;
}

.speaker-meta p {
    color: var(--green-3);
}

.speaker-meta span {
    color: var(--gold);
}

.speakers-button {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 11.25cqw;
    height: 2.7778cqw;
    padding: 0;
    font-size: .8333cqw;
    letter-spacing: .1333cqw;
}

.speakers-button:hover {
    transform: translateX(-50%) translateY(-1px);
}

/* Sponsors */

.sponsors-home {
    background: var(--green);
    position: relative;
    padding-bottom: 3px;
}

.sponsors-mark-continuation {
    position: absolute;
    z-index: 0;
    left: 0;
    top: -55.0347cqw;
    width: 83.9583cqw;
    height: 70.1528cqw;
    max-width: none;
    opacity: .08;
    pointer-events: none;
}

.sponsors-stage {
    height: 341px;
    padding-top: 56px;
    display: flex;
    flex-direction: column;
    gap: 56px;
    overflow: hidden;
}

.sponsors-heading {
    width: 92.7778cqw;
    height: 4.5139cqw;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 1;
}

.sponsors-heading h2 {
    width: 47.7083cqw;
    white-space: nowrap;
    height: 4.5139cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--cream);
}

.sponsors-heading .btn {
    width: 13.5417cqw;
    height: 2.6389cqw;
    padding: 0;
    font-size: .8333cqw;
    letter-spacing: .1333cqw;
}

.sponsor-grid {
    width: 92.7778cqw;
    height: 7.5cqw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(5,17.2222cqw);
    gap: 1.6667cqw;
    position: relative;
    z-index: 1;
}

.sponsor-box {
    width: 17.2222cqw;
    height: 7.5cqw;
    background: #fff;
    overflow: hidden;
}

.sponsor-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Newsletter */

.newsletter-section {
    height: min(19.7917vw,285px);
    min-height: 285px;
    background: var(--green-2) url("../images/home/newsletter-bg.png") center/cover no-repeat;
    color: var(--cream);
}

.newsletter-stage {
    height: 285px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 98px;
}

.newsletter-copy {
    width: 43.5417cqw;
    height: 8.9583cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.newsletter-copy h2 {
    width: 100%;
    white-space: nowrap;
    height: 4.5139cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--cream);
}

.newsletter-copy p {
    width: 37.3611cqw;
    height: 3.3333cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    color: var(--cream);
}

.newsletter-form {
    width: 26.3194cqw;
    height: 2.6389cqw;
    display: grid;
    grid-template-columns: 17.5694cqw 8.75cqw;
}

.newsletter-form input {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 2px 0 0 2px;
    background: var(--cream);
    color: var(--green);
    padding: 0 1.6667cqw;
    font-size: .9722cqw;
    line-height: 1;
    color-scheme: light;
    outline: none;
}

.newsletter-form input::placeholder {
    color: var(--muted);
}

.newsletter-form button {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0 2px 2px 0;
    background: var(--gold);
    color: var(--green);
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 700;
    letter-spacing: .1333cqw;
    text-transform: uppercase;
    cursor: pointer;
}

/* Footer */

.site-footer {
    height: auto;
    background: var(--green);
    color: var(--cream);
}

.footer-stage {
    height: auto;
    padding: 47px 0;
}

.footer-main {
    width: 87.3611cqw;
    height: 12.0139cqw;
    margin-left: 6.6667cqw;
    display: grid;
    grid-template-columns: 14.375cqw 9.7222cqw .0694cqw 32.9167cqw 8.0556cqw;
    justify-content: space-between;
    align-items: center;
}

.footer-brand {
    width: 14.375cqw;
    height: 12.0139cqw;
    display: flex;
    flex-direction: column;
    gap: .5556cqw;
    align-items: flex-start;
}

.footer-brand img {
    width: 14.375cqw;
    height: 6.25cqw;
    object-fit: contain;
    object-position: left center;
}

.footer-brand strong {
    width: 14.375cqw;
    height: 1.25cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    color: var(--cream);
}

.footer-nav {
    width: 9.7222cqw;
    height: 6.5278cqw;
    display: grid;
    grid-template-columns: 3.2639cqw 4.0972cqw;
    gap: 2.3611cqw;
}

.footer-nav>div {
    display: flex;
    flex-direction: column;
    gap: .9722cqw;
}

.footer-nav a {
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 400;
    color: var(--cream);
}

.footer-divider {
    width: .0694cqw;
    height: 8.8194cqw;
    background: rgba(187,167,142,.6);
}

.footer-legal {
    width: 32.9167cqw;
    height: 6.6667cqw;
    margin: 0;
    font-size: .9722cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
    color: var(--cream);
}

.footer-register {
    width: 8.0556cqw;
    height: 2.6389cqw;
    padding: 0;
    font-size: .8333cqw;
    letter-spacing: .1333cqw;
}

.footer-bottom {
    width: 87.3611cqw;
    height: 1.6667cqw;
    margin-left: 6.6667cqw;
    margin-top: 1.6667cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: .9722cqw;
    line-height: 1.6667cqw;
}

.footer-policy {
    display: flex;
    gap: 1.6667cqw;
}

.footer-bottom p {
    width: 29.7222cqw;
    margin: 0;
    text-align: center;
}

/* Inner pages use the same include structure and active menu behavior. */

.inner-hero {
    background: var(--green);
    color: var(--cream);
    padding: 180px max(6.8vw,32px) 100px;
}

.inner-hero .inner-wrap,.inner-content .inner-wrap {
    width: min(1244px,100%);
    margin-inline: auto;
}

.inner-hero h1 {
    font-size: 72px;
    line-height: .95;
    letter-spacing: -4px;
    margin: 0 0 24px;
    font-weight: 900;
}

.inner-hero p {
    max-width: 700px;
    font-size: 18px;
    line-height: 1.55;
    margin: 0;
}

.inner-content {
    background: var(--cream);
    padding: 90px max(6.8vw,32px) 120px;
}

.inner-content h2 {
    font-size: 48px;
    line-height: 1.1;
    letter-spacing: -3px;
    margin: 0 0 28px;
}

.inner-content p {
    font-size: 17px;
    line-height: 1.65;
}

.speaker-directory {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 50px 32px;
}

.speaker-directory .speaker-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 281/360;
}

.speaker-directory .speaker-meta {
    width: 100%;
    height: auto;
}

.speaker-directory .speaker-bio {
    font-size: 14px;
    line-height: 1.55;
    margin-top: 12px;
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 440px;
    gap: 70px;
}

.contact-layout img {
    width: 100%;
    max-height: 650px;
    object-fit: cover;
}

.contact-form {
    display: grid;
    gap: 14px;
}

.contact-form input,.contact-form textarea {
    width: 100%;
    border: 1px solid rgba(6,76,63,.25);
    padding: 14px 16px;
    background: #fff8e9;
    color: var(--green);
}

/* Keep the 1440 design proportional on desktop/tablet. At 1440px, the values above are the Figma values exactly. */

@media (min-width:769px) and (max-width:1439px) {
    .banner-stage {
        height: 13.125vw;
        padding-top: 2.9167vw;
        gap: 2.9167vw;
    }

    .about-stage {
        height: 48.1944vw;
        gap: 10.1389vw;
    }

    .matters-stage {
        height: 45.2778vw;
        padding-top: 3.8889vw;
    }

    .speakers-stage {
        height: 55.5556vw;
    }

    .sponsors-stage {
        height: 23.6806vw;
        padding-top: 3.8889vw;
        gap: 3.8889vw;
    }

    .newsletter-section {
        min-height: 0;
        height: 19.7917vw;
    }

    .newsletter-stage {
        height: 19.7917vw;
        padding: 0 6.8056vw;
    }

    .site-footer {
        height: auto;
    }

    .footer-stage {
        height: auto;
        padding: 3.2639vw 0;
    }
}

/* Mobile/tablet reflow */

@media (max-width:768px) {
    .site-header {
        height: 78px;
        position: absolute;
    }

    .header-stage {
        width: 100%;
        height: 78px;
        aspect-ratio: auto;
    }

    .brand {
        left: 20px;
        top: 10px;
        width: 150px;
        height: 60px;
    }

    .header-register {
        left: auto;
        right: 72px;
        top: 20px;
        width: auto;
        height: 38px;
        padding: 0 15px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .nav-toggle {
        display: flex;
        position: absolute;
        right: 20px;
        top: 20px;
        width: 40px;
        height: 38px;
        border: 0;
        background: transparent;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        z-index: 101;
    }

    .nav-toggle span {
        display: block;
        width: 24px;
        height: 2px;
        background: var(--cream);
    }

    .primary-nav {
        position: fixed;
        inset: 0;
        z-index: 100;
        width: auto;
        height: auto;
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 28px;
        background: var(--green);
        font-size: 24px;
        line-height: 1.2;
    }

    .primary-nav.is-open {
        display: flex;
    }

    .hero-stage {
        width: 100%;
        height: auto;
        min-height: 940px;
        aspect-ratio: auto;
        padding: 118px 24px 30px;
    }

    .hero-art {
        left: auto;
        right: -390px;
        top: 85px;
        width: 850px;
        height: auto;
        opacity: .52;
        object-fit: contain;
    }

    .hero-title {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        font-size: 58px;
        line-height: 58px;
        letter-spacing: -3px;
    }

    .hero-lower-copy {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        margin-top: 52px;
    }

    .hero-lower-copy p {
        width: min(100%,410px);
        height: auto;
        font-size: 15px;
        line-height: 23px;
    }

    .hero-actions {
        position: relative;
        left: auto;
        bottom: auto;
        height: auto;
        margin-top: 36px;
        gap: 12px;
        flex-wrap: wrap;
    }

    .hero-actions .btn,.hero-actions .btn:first-child,.hero-actions .btn:last-child {
        width: auto;
        height: 40px;
        padding: 0 18px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .countdown {
        left: 24px;
        right: 24px;
        top: auto;
        bottom: 28px;
        width: auto;
        height: 190px;
        padding: 24px;
        border-left: 3px solid var(--gold);
    }

    .countdown-kicker {
        height: auto;
        font-size: 10px;
        line-height: 14px;
        letter-spacing: 2.4px;
    }

    .countdown-units {
        width: 100%;
        height: auto;
        margin-top: 12px;
        gap: 10px;
    }

    .countdown-units>div {
        width: auto;
        flex: 1;
        height: auto;
        gap: 4px;
    }

    .countdown-units strong {
        height: auto;
        font-size: 35px;
        line-height: 42px;
    }

    .countdown-units span {
        height: auto;
        font-size: 9px;
        line-height: 12px;
        letter-spacing: 2px;
    }

    .countdown-rule {
        width: 100%;
        margin-top: 10px;
        border-width: 1px;
    }

    .countdown-date {
        margin-top: 10px;
        font-size: 10px;
        line-height: 14px;
        letter-spacing: 1.4px;
        white-space: normal;
    }

    .banner-stage {
        height: auto;
        padding: 32px 22px;
        gap: 26px;
    }

    .banner-kicker {
        width: 100%;
        height: auto;
        font-size: 12px;
        line-height: 17px;
        letter-spacing: 4px;
    }

    .banner-words {
        width: 100%;
        height: auto;
        padding: 0;
        display: grid;
        gap: 12px;
        text-align: center;
    }

    .banner-words strong {
        font-size: 28px;
        line-height: 32px;
    }

    .banner-words span {
        display: none;
    }

    .about-stage {
        height: auto;
        padding: 65px 24px 80px;
        display: grid;
        gap: 55px;
    }

    .about-visual {
        width: min(100%,540px);
        height: auto;
        aspect-ratio: 540/516;
        margin: auto;
    }

    .about-photo {
        left: 7%;
        top: 0;
        width: 93%;
        height: 95.7%;
    }

    .about-ribbon {
        left: 0;
        top: 91.5%;
        width: 34.6%;
        height: 8.5%;
    }

    .about-ribbon span {
        left: 19%;
        top: 31%;
        width: auto;
        height: auto;
        font-size: 8px;
        line-height: 11px;
        letter-spacing: 1.2px;
    }

    .about-copy {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    .about-copy h2 {
        width: 100%;
        white-space: normal;
        height: auto;
        font-size: 42px;
        line-height: 48px;
        letter-spacing: -2.5px;
    }

    .about-copy p {
        width: 100%;
        height: auto;
        font-size: 15px;
        line-height: 23px;
    }

    .about-copy .btn {
        width: auto;
        height: 40px;
        align-self: flex-start;
        padding: 0 20px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .matters-stage {
        height: auto;
        padding: 58px 20px 70px;
    }

    .matters-stage h2 {
        width: 100%;
        height: auto;
        margin: 0 0 42px;
        font-size: 38px;
        line-height: 44px;
        letter-spacing: -2px;
    }

    .matters-grid {
        width: 100%;
        height: auto;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }

    .matter-card {
        width: 100%;
        height: auto;
        padding: 18px 10px 14px;
        gap: 10px;
    }

    .matter-photo {
        width: 100%;
        height: auto;
        aspect-ratio: 294/288;
    }

    .matter-corner {
        left: auto;
        right: -10px;
        top: -18px;
        width: 29%;
        height: auto;
    }

    .matter-card h3 {
        width: 100%;
        height: auto;
        font-size: 17px;
        line-height: 23px;
    }

    .speakers-stage {
        height: auto;
        padding: 58px 24px 72px;
    }

    .speakers-mark {
        top: 0;
        width: 1200px;
        height: auto;
        left: -450px;
    }

    .speakers-content {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        gap: 42px;
    }

    .speakers-heading {
        width: 100%;
        height: auto;
        display: grid;
        gap: 18px;
    }

    .speakers-heading>div {
        width: 100%;
        height: auto;
        gap: 10px;
    }

    .section-kicker {
        height: auto;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .speakers-heading h2 {
        height: auto;
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2.5px;
        white-space: normal;
    }

    .speakers-heading>p {
        width: 100%;
        height: auto;
        margin: 0;
        font-size: 13px;
        line-height: 20px;
        text-align: left;
    }

    .speaker-grid {
        width: 100%;
        height: auto;
        grid-template-columns: 1fr 1fr;
        gap: 38px 20px;
    }

    .speaker-card {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    .speaker-photo {
        width: 100%;
        height: auto;
        aspect-ratio: 281/360;
    }

    .speaker-meta {
        width: 100%;
        height: auto;
        gap: 5px;
    }

    .speaker-meta h3 {
        height: auto;
        font-size: 19px;
        line-height: 25px;
    }

    .speaker-meta p,.speaker-meta span {
        height: auto;
        font-size: 13px;
        line-height: 18px;
    }

    .speakers-button {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: auto;
        height: 40px;
        align-self: center;
        padding: 0 20px;
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .speakers-button:hover {
        transform: translateY(-1px);
    }

    .sponsors-home {
        padding-bottom: 0;
    }

    .sponsors-mark-continuation {
        display: none;
    }

    .sponsors-stage {
        height: auto;
        padding: 55px 24px 65px;
        gap: 36px;
    }

    .sponsors-heading {
        width: 100%;
        height: auto;
        align-items: flex-start;
        gap: 26px;
    }

    .sponsors-heading h2 {
        width: auto;
        height: auto;
        white-space: normal;
        font-size: 38px;
        line-height: 44px;
        letter-spacing: -2px;
    }

    .sponsors-heading .btn {
        width: auto;
        height: 40px;
        padding: 0 16px;
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .sponsor-grid {
        width: 100%;
        height: auto;
        grid-template-columns: repeat(2,1fr);
        gap: 14px;
    }

    .sponsor-box {
        width: 100%;
        height: auto;
        aspect-ratio: 248/108;
    }

    .newsletter-section {
        height: auto;
        min-height: 0;
        background-position: center;
    }

    .newsletter-stage {
        height: auto;
        padding: 54px 24px;
        display: grid;
        gap: 34px;
    }

    .newsletter-copy {
        width: 100%;
        height: auto;
        gap: 12px;
    }

    .newsletter-copy h2 {
        width: 100%;
        white-space: normal;
        height: auto;
        font-size: 38px;
        line-height: 44px;
        letter-spacing: -2px;
    }

    .newsletter-copy p {
        width: 100%;
        height: auto;
        font-size: 14px;
        line-height: 21px;
    }

    .newsletter-form {
        width: 100%;
        height: 42px;
        grid-template-columns: 1fr 120px;
    }

    .newsletter-form input {
        font-size: 14px;
        padding: 0 16px;
    }

    .newsletter-form button {
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.4px;
    }

    .site-footer {
        height: auto;
    }

    .footer-stage {
        height: auto;
        padding: 52px 24px;
    }

    .footer-main {
        width: 100%;
        height: auto;
        margin: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .footer-brand {
        width: 100%;
        height: auto;
        gap: 8px;
    }

    .footer-brand img {
        width: 190px;
        height: auto;
    }

    .footer-brand strong {
        width: auto;
        height: auto;
        font-size: 12px;
        line-height: 16px;
    }

    .footer-nav {
        width: 220px;
        height: auto;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .footer-nav>div {
        gap: 12px;
    }

    .footer-nav a {
        font-size: 13px;
        line-height: 18px;
    }

    .footer-divider {
        width: 100%;
        height: 1px;
    }

    .footer-legal {
        width: 100%;
        height: auto;
        font-size: 13px;
        line-height: 21px;
    }

    .footer-register {
        width: auto;
        height: 40px;
        justify-self: start;
        padding: 0 20px;
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .footer-bottom {
        width: 100%;
        height: auto;
        margin: 45px 0 0;
        display: grid;
        gap: 24px;
        font-size: 12px;
        line-height: 19px;
    }

    .footer-policy {
        gap: 22px;
        flex-wrap: wrap;
    }

    .footer-bottom p {
        width: 100%;
        text-align: left;
    }

    .inner-hero {
        padding: 135px 24px 70px;
    }

    .inner-hero h1 {
        font-size: 52px;
        line-height: .98;
        letter-spacing: -3px;
    }

    .inner-content {
        padding: 65px 24px 90px;
    }

    .speaker-directory {
        grid-template-columns: 1fr 1fr;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width:500px) {
    .hero-title {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }

    .matters-grid,.speaker-grid {
        grid-template-columns: 1fr;
    }

    .sponsors-heading {
        flex-direction: column;
    }

    .sponsor-grid {
        grid-template-columns: 1fr 1fr;
    }

    .newsletter-form {
        grid-template-columns: 1fr;
    }

    .newsletter-form {
        height: auto;
        gap: 8px;
    }

    .newsletter-form input,.newsletter-form button {
        height: 42px;
        border-radius: 2px;
    }

    .header-register {
        display: none;
    }
}

/* =========================================================
   ABOUT PAGE
   1440px Figma reference. Hero scales proportionally to 1920px;
   all following content stages cap at 1440px.
   ========================================================= 
*/

.page-about main {
    background: var(--green);
}

.page-about .about-kicker {
    display: block;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--gold);
}

/* About hero: Figma 1440 x 706, scalable through 1920. */

.about-hero {
    position: relative;
    background: var(--green);
    overflow: hidden;
}

.about-hero-stage {
    position: relative;
    width: min(100%,1920px);
    aspect-ratio: 1440/706;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--green);
    overflow: hidden;
}


.about-hero-photo {
    position: absolute;
    z-index: 2;
    left: 48.125cqw;
    top: 6.3889cqw;
    width: 51.9444cqw;
    height: 42.6389cqw;
    max-width: none;
    object-fit: fill;
}

.about-hero-copy {
    position: absolute;
    z-index: 3;
    left: 6.8056cqw;
    top: 13.4028cqw;
    width: 39.0278cqw;
    height: 30.4861cqw;
    display: flex;
    flex-direction: column;
    gap: 4.4444cqw;
}

.about-hero-heading {
    width: 39.0278cqw;
    height: 18.8194cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.about-hero-heading .about-kicker {
    width: 100%;
    height: 1.25cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    letter-spacing: .2083cqw;
}

.about-hero-heading h1 {
    width: 100%;
    height: 16.4583cqw;
    margin: 0;
    font-size: 5.9722cqw;
    line-height: 5.4861cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--cream);
}

.about-hero-heading h1 span {
    color: var(--gold);
}

.about-hero-lower {
    width: 28.3333cqw;
    height: 7.2222cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.about-hero-lower p {
    width: 28.3333cqw;
    height: 3.3333cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--cream);
}

.about-hero-actions {
    width: 22.9861cqw;
    height: 2.7778cqw;
    display: flex;
    align-items: center;
    gap: 1.25cqw;
}

.about-hero-actions .btn {
    height: 2.7778cqw;
    padding: 0 1.6667cqw;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    letter-spacing: .1333cqw;
}

.about-hero-actions .btn:first-child {
    width: 8.0556cqw;
}

.about-hero-actions .btn:last-child {
    width: 13.6806cqw;
}

/* Multifamily / Industrial / Commercial */

.about-market-banner {
    background: var(--cream);
    border-top: 1px solid var(--gold);
    border-bottom: 1px solid var(--gold);
}

.about-market-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/108;
    margin-inline: auto;
    container-type: inline-size;
}

.about-market-words {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.9306cqw;
    height: 1.6667cqw;
    color: var(--green-2);
    white-space: nowrap;
}

.about-market-words strong {
    font-size: 1.6667cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
    letter-spacing: .0097cqw;
}

.about-market-words span {
    font-size: 1.6667cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
}

/* Cream About section: 1440 x 660. */

.about-intro-section {
    background: var(--cream);
}

.about-intro-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/786;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--cream);
}

.about-intro-top {
    position: absolute;
    left: 6.8056cqw;
    top: 7.3611cqw;
    width: 86.3889cqw;
    height: 16.8056cqw;
    display: flex;
    align-items: flex-start;
    gap: 3.6111cqw;
}

.about-intro-title {
    width: 37.7778cqw;
    height: 16.8056cqw;
    display: flex;
    align-items: flex-start;
}

.about-intro-title h2 {
    width: 37.7778cqw;
    height: 11.0417cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 3.6806cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--green);
}

.about-intro-title h2 span {
    color: var(--gold);
}

.about-intro-copy {
    width: 45cqw;
    height: 15.1389cqw;
    display: flex;
    flex-direction: column;
    gap: 1.8056cqw;
}

.about-intro-copy>p:first-child {
    width: 38.8889cqw;
    height: 11.6667cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    text-align: justify;
    color: var(--green);
}

.about-intro-copy>p:first-child strong {
    font-weight: 700;
}

.about-intro-emphasis {
    width: 45cqw;
    height: 1.6667cqw;
    margin: 0;
    font-size: 1.3889cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 700;
    color: var(--gold);
}

.about-room-card {
    position: absolute;
    left: 6.8056cqw;
    top: 31.5278cqw;
    width: 86.3889cqw;
    height: 15.6944cqw;
    padding: 3.3333cqw 3.8889cqw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--green);
    overflow: hidden;
}

.about-room-card h2 {
    width: 32.2222cqw;
    height: auto;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: .925;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--cream);
    flex: 0 0 auto;
}

.about-room-card p {
    width: 36.4583cqw;
    height: 5cqw;
    margin: 0;
    font-size: 1.25cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--cream);
    flex: 0 0 auto;
}

.about-room-corner {
    position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
    width: 5.625cqw;
    height: 5.6944cqw;
    object-fit: fill;
}

/* Who we are: 613px green interval, content starts 83px down. */

.about-who-section {
    background: var(--green);
}

.about-who-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/613;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--green);
}

.about-who-grid {
    position: absolute;
    left: 6.8056cqw;
    top: 5.7639cqw;
    width: 86.3889cqw;
    height: 32.9167cqw;
    display: flex;
    align-items: flex-start;
    gap: 11.25cqw;
}

.about-who-copy {
    width: 39.0278cqw;
    height: 22.5cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
    color: var(--cream);
}

.about-who-copy .about-kicker,.about-unites>.about-kicker {
    height: 1.25cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    letter-spacing: .2083cqw;
}

.about-who-copy h2 {
    width: 39.0278cqw;
    height: 9.0278cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--cream);
}

.about-who-copy p {
    width: 36.3194cqw;
    height: 10cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    text-align: justify;
    color: var(--cream);
}

.about-unites {
    width: 36.1806cqw;
    height: 32.9167cqw;
    display: flex;
    flex-direction: column;
    gap: 1.6667cqw;
}

.about-unites>.about-kicker {
    width: 36.1806cqw;
    white-space: nowrap;
}

.about-unites ul {
    width: 36.1111cqw;
    height: 30cqw;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.about-unites li {
    position: relative;
    width: 100%;
    height: 3.75cqw;
    padding-left: 2.1528cqw;
    display: flex;
    align-items: center;
    border-bottom: .0694cqw solid rgba(187,167,142,.6);
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--cream);
}

.about-unites li::before {
    content: "·";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-56%);
    font-size: 1.6667cqw;
    line-height: 1.3889cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    color: var(--gold);
}

/* Gold quote: 1440 x 222. */

.about-quote-section {
    background: var(--gold);
}

.about-quote-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/222;
    margin-inline: auto;
    container-type: inline-size;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gold);
}

.about-quote-stage blockquote {
    width: 54.375cqw;
    height: 7.6389cqw;
    margin: 0;
    font-size: 2.9167cqw;
    line-height: 3.8194cqw;
    letter-spacing: -.1389cqw;
    font-weight: 700;
    text-align: center;
    color: var(--green);
}

/* Advisory board: 1440 x 912. */

.about-advisory-section {
    background: var(--cream);
}

.about-advisory-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/912;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--cream);
}

.about-advisory-heading {
    position: absolute;
    left: 6.8056cqw;
    top: 4.375cqw;
    width: 86.3889cqw;
    height: 11.3889cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 9.0278cqw;
}

.about-advisory-heading>div {
    width: 47.1528cqw;
    height: 11.3889cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.about-advisory-heading .about-kicker {
    width: 47.1528cqw;
    height: 1.25cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    letter-spacing: .2083cqw;
}

.about-advisory-heading h2 {
    width: 31.1111cqw;
    height: 9.0278cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--green);
}

.about-advisory-heading h2 span {
    color: var(--gold);
}

.about-advisory-heading>p {
    width: 32.8472cqw;
    height: 6.6667cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    text-align: justify;
    color: var(--green);
}

.about-advisory-grid {
    position: absolute;
    left: 6.8056cqw;
    top: 19.6528cqw;
    width: 86.3889cqw;
    height: 36.3194cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2.0833cqw;
}

.about-advisor-card {
    width: 19.5139cqw;
    height: 36.3194cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6667cqw;
    flex: 0 0 auto;
}

.about-advisor-photo {
    display: block;
    width: 19.5139cqw;
    height: 25cqw;
    overflow: hidden;
}

.about-advisor-photo img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.about-advisor-meta {
    width: 19.5139cqw;
    height: 9.6528cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5556cqw;
}

.about-advisor-meta h3 {
    width: 100%;
    height: 2.1528cqw;
    margin: 0;
    font-size: 1.6667cqw;
    line-height: 2.1528cqw;
    font-weight: 900;
    color: var(--green);
}

.about-advisor-meta p {
    width: 100%;
    height: 1.4583cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 400;
    color: var(--green-3);
}

.about-advisor-meta span {
    display: block;
    width: 100%;
    height: 1.4583cqw;
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 400;
    color: var(--gold);
}

.about-advisor-bio {
    width: 100%;
    height: 2.9167cqw;
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 400;
    color: var(--green-3);
}

/* Page-ending banner: 1440 x 109. Footer include begins immediately after. */

.about-bottom-banner {
    background: var(--gold);
}

.about-bottom-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/109;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--gold);
}

.about-bottom-words {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 72.5cqw;
    height: 1.6667cqw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--green-2);
    white-space: nowrap;
}

.about-bottom-words strong {
    font-size: 2.7778cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
    letter-spacing: .0097cqw;
}

.about-bottom-words span {
    font-size: 1.6667cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
}

/* About page responsive reflow. */

@media (max-width:768px) {
    .about-hero-stage {
        width: 100%;
        aspect-ratio: auto;
        min-height: 760px;
        padding: 118px 24px 54px;
        overflow: hidden;
    }

    .about-hero-photo {
        left: 35%;
        top: 78px;
        width: 820px;
        height: auto;
        opacity: .38;
        object-fit: contain;
    }

    
    .about-hero-copy {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        gap: 42px;
    }

    .about-hero-heading {
        width: 100%;
        height: auto;
        gap: 12px;
    }

    .about-hero-heading .about-kicker {
        width: 100%;
        height: auto;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .about-hero-heading h1 {
        width: 100%;
        height: auto;
        font-size: 58px;
        line-height: 54px;
        letter-spacing: -3px;
    }

    .about-hero-lower {
        width: 100%;
        height: auto;
        gap: 24px;
    }

    .about-hero-lower p {
        width: min(100%,410px);
        height: auto;
        font-size: 15px;
        line-height: 23px;
    }

    .about-hero-actions {
        width: 100%;
        height: auto;
        gap: 12px;
        flex-wrap: wrap;
    }

    .about-hero-actions .btn,.about-hero-actions .btn:first-child,.about-hero-actions .btn:last-child {
        width: auto;
        height: 40px;
        padding: 0 18px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .about-market-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 28px 22px;
    }

    .about-market-words {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        height: auto;
        display: flex;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
    }

    .about-market-words strong {
        font-size: 18px;
        line-height: 24px;
    }

    .about-market-words span {
        font-size: 18px;
        line-height: 24px;
    }

    .about-intro-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 62px 24px;
        display: grid;
        gap: 62px;
    }

    .about-intro-top {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        display: grid;
        gap: 30px;
    }

    .about-intro-title,.about-intro-copy {
        width: 100%;
        height: auto;
    }

    .about-intro-title h2 {
        width: 100%;
        height: auto;
        font-size: 44px;
        line-height: 43px;
        letter-spacing: -2.5px;
    }

    .about-intro-copy {
        gap: 20px;
    }

    .about-intro-copy>p:first-child {
        width: 100%;
        height: auto;
        font-size: 15px;
        line-height: 23px;
        text-align: left;
    }

    .about-intro-emphasis {
        width: 100%;
        height: auto;
        font-size: 18px;
        line-height: 25px;
    }

    .about-room-card {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        min-height: 270px;
        padding: 42px 30px;
        display: grid;
        justify-content: stretch;
        gap: 24px;
    }

    .about-room-card h2 {
        width: 100%;
        height: auto;
        font-size: 40px;
        line-height: .925;
        letter-spacing: -2px;
    }

    .about-room-card p {
        width: 100%;
        height: auto;
        font-size: 16px;
        line-height: 24px;
    }

    .about-room-corner {
        width: 82px;
        height: 83px;
    }

    .about-who-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 64px 24px 72px;
    }

    .about-who-grid {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        display: grid;
        gap: 56px;
    }

    .about-who-copy,.about-unites {
        width: 100%;
        height: auto;
        gap: 15px;
    }

    .about-who-copy .about-kicker,.about-unites>.about-kicker {
        width: 100%;
        height: auto;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
        white-space: normal;
    }

    .about-who-copy h2 {
        width: 100%;
        height: auto;
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2px;
    }

    .about-who-copy p {
        width: 100%;
        height: auto;
        font-size: 15px;
        line-height: 23px;
        text-align: left;
    }

    .about-unites {
        gap: 22px;
    }

    .about-unites ul {
        width: 100%;
        height: auto;
    }

    .about-unites li {
        height: auto;
        min-height: 48px;
        padding: 10px 0 10px 28px;
        border-bottom: 1px solid rgba(187,167,142,.6);
        font-size: 14px;
        line-height: 21px;
    }

    .about-unites li::before {
        font-size: 22px;
        line-height: 20px;
        letter-spacing: 2px;
    }

    .about-quote-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 54px 24px;
    }

    .about-quote-stage blockquote {
        width: 100%;
        height: auto;
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -1px;
    }

    .about-quote-stage blockquote br {
        display: none;
    }

    .about-advisory-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 60px 24px 72px;
    }

    .about-advisory-heading {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        display: grid;
        gap: 26px;
    }

    .about-advisory-heading>div {
        width: 100%;
        height: auto;
        gap: 10px;
    }

    .about-advisory-heading .about-kicker {
        width: 100%;
        height: auto;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .about-advisory-heading h2 {
        width: 100%;
        height: auto;
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2px;
    }

    .about-advisory-heading>p {
        width: 100%;
        height: auto;
        font-size: 15px;
        line-height: 23px;
        text-align: left;
    }

    .about-advisory-grid {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        margin-top: 46px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 38px 20px;
    }

    .about-advisor-card {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    .about-advisor-photo {
        width: 100%;
        height: auto;
        aspect-ratio: 281/360;
    }

    .about-advisor-meta {
        width: 100%;
        height: auto;
        gap: 5px;
    }

    .about-advisor-meta h3 {
        height: auto;
        font-size: 19px;
        line-height: 25px;
    }

    .about-advisor-meta p,.about-advisor-meta span {
        height: auto;
        font-size: 13px;
        line-height: 18px;
    }

    .about-advisor-bio {
        height: auto;
        font-size: 13px;
        line-height: 18px;
    }

    .about-bottom-stage {
        width: 100%;
        aspect-ratio: auto;
        padding: 30px 22px;
    }

    .about-bottom-words {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: space-between;
        gap: 10px;
    }

    .about-bottom-words strong {
        font-size: 20px;
        line-height: 26px;
    }

    .about-bottom-words span {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (max-width:500px) {
    .about-hero-stage {
        min-height: 720px;
    }

    .about-hero-heading h1 {
        font-size: 52px;
        line-height: 49px;
    }

    .about-hero-photo {
        left: 18%;
        top: 85px;
        opacity: .32;
    }

    .about-market-words strong {
        font-size: 15px;
    }

    .about-market-words span {
        font-size: 14px;
    }

    .about-advisory-grid {
        grid-template-columns: 1fr;
    }

    .about-bottom-words {
        display: grid;
        text-align: center;
        gap: 8px;
    }

    .about-bottom-words span {
        display: none;
    }

    .about-bottom-words strong {
        font-size: 24px;
        line-height: 30px;
    }
}

/* =========================================================
   AGENDA PAGE
   1440px reference proportions. Header and footer are shared.
   ========================================================= 
*/

.page-agenda main {
    background: var(--cream);
}

.agenda-page {
    background: var(--cream);
}

.agenda-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/1838;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--cream);
}

.agenda-kicker {
    display: block;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.agenda-hero-copy {
    position: absolute;
    left: 9.7222cqw;
    top: 13.4722cqw;
    width: 46.5278cqw;
    color: var(--green);
}

.agenda-hero-copy h1 {
    width: 46.5278cqw;
    margin: 1.6667cqw 0 1.5278cqw;
    font-size: 5.9722cqw;
    line-height: 5.5556cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--green);
}

.agenda-hero-copy h1 span {
    color: var(--gold);
}

.agenda-hero-copy p {
    width: 43.0556cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--green);
}

.agenda-event-meta {
    position: absolute;
    left: 70.4861cqw;
    top: 24.5139cqw;
    width: 23.6111cqw;
    color: var(--green);
}

.agenda-event-meta p {
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
}

.agenda-event-meta p+p {
    margin-top: .2778cqw;
}

.agenda-calendar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12.5cqw;
    height: 2.7778cqw;
    margin-top: 1.3889cqw;
    border: .0694cqw solid var(--green);
    border-radius: 2px;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 700;
    letter-spacing: .1333cqw;
    text-transform: uppercase;
    color: var(--green);
    background: transparent;
    transition: background .15s ease,color .15s ease;
}

.agenda-calendar-btn:hover {
    background: var(--green);
    color: var(--cream);
}

.agenda-schedule-heading {
    position: absolute;
    left: 12.8472cqw;
    top: 37.3611cqw;
    width: 74.3056cqw;
}

.agenda-schedule-heading h2 {
    margin: 1.4583cqw 0 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--green);
    white-space: nowrap;
}

.agenda-timeline {
    position: absolute;
    left: 12.8472cqw;
    top: 48.2639cqw;
    width: 74.375cqw;
    display: flex;
    flex-direction: column;
    gap: 2.7778cqw;
}

.agenda-timeline::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 9.9306cqw;
    top: 0;
    bottom: 0;
    width: .0694cqw;
    background: #efefef;
}

.agenda-row {
    position: relative;
    z-index: 1;
    width: 74.375cqw;
    height: 10cqw;
    display: grid;
    grid-template-columns: 8.3333cqw 60.4861cqw;
    column-gap: 5.5556cqw;
    align-items: center;
}

.agenda-time {
    width: 8.3333cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .6944cqw;
    color: var(--green);
}

.agenda-time strong {
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    white-space: nowrap;
}

.agenda-time span {
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 400;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    white-space: nowrap;
}

.agenda-dot {
    position: absolute;
    z-index: 2;
    left: 9.5833cqw;
    top: 50%;
    transform: translateY(-50%);
    width: .6944cqw;
    height: .6944cqw;
    background: var(--gold);
}

.agenda-card {
    grid-column: 2;
    width: 60.4861cqw;
    height: 10cqw;
    padding: 1.6667cqw 2.0833cqw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    clip-path: polygon(0 0,100% 0,100% calc(100% - 1.5278cqw),calc(100% - 1.5278cqw) 100%,0 100%);
}

.agenda-card-light {
    background: #fff;
    color: var(--green);
}

.agenda-card-dark {
    background: var(--green);
    color: var(--cream);
}

.agenda-card-category {
    display: block;
    margin-bottom: .625cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.agenda-card h3 {
    margin: 0 0 .4167cqw;
    font-size: 1.6667cqw;
    line-height: 2.1528cqw;
    font-weight: 900;
    letter-spacing: -.0556cqw;
    color: inherit;
}

.agenda-card p {
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: inherit;
}

@media (min-width:769px) and (max-width:1439px) {
    .agenda-stage {
        height: 127.6389vw;
        aspect-ratio: auto;
    }
}

@media (max-width:768px) {
    .agenda-stage {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        padding: 128px 24px 82px;
        container-type: normal;
    }

    .agenda-kicker {
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .agenda-hero-copy,.agenda-event-meta,.agenda-schedule-heading,.agenda-timeline {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
    }

    .agenda-hero-copy h1 {
        width: 100%;
        margin: 18px 0 22px;
        font-size: 58px;
        line-height: 54px;
        letter-spacing: -3px;
    }

    .agenda-hero-copy p {
        width: min(100%,560px);
        font-size: 15px;
        line-height: 23px;
    }

    .agenda-event-meta {
        margin-top: 44px;
    }

    .agenda-event-meta p {
        font-size: 14px;
        line-height: 22px;
    }

    .agenda-event-meta p+p {
        margin-top: 2px;
    }

    .agenda-calendar-btn {
        width: auto;
        height: 40px;
        margin-top: 22px;
        padding: 0 20px;
        border-width: 1px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .agenda-schedule-heading {
        margin-top: 74px;
    }

    .agenda-schedule-heading h2 {
        margin: 15px 0 0;
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2px;
        white-space: normal;
    }

    .agenda-timeline {
        margin-top: 42px;
        gap: 28px;
    }

    .agenda-timeline::before {
        display: none;
    }

    .agenda-row {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .agenda-time {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 14px;
    }

    .agenda-time strong {
        font-size: 13px;
        line-height: 18px;
        letter-spacing: 2px;
    }

    .agenda-time span {
        font-size: 10px;
        line-height: 14px;
        letter-spacing: 2px;
    }

    .agenda-dot {
        display: none;
    }

    .agenda-card {
        grid-column: auto;
        width: 100%;
        height: auto;
        min-height: 148px;
        padding: 24px 22px;
        clip-path: polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
    }

    .agenda-card-category {
        margin-bottom: 8px;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .agenda-card h3 {
        margin: 0 0 6px;
        font-size: 21px;
        line-height: 27px;
        letter-spacing: -.5px;
    }

    .agenda-card p {
        font-size: 14px;
        line-height: 21px;
    }
}

@media (max-width:500px) {
    .agenda-stage {
        padding-top: 116px;
    }

    .agenda-hero-copy h1 {
        font-size: 50px;
        line-height: 48px;
        letter-spacing: -2.5px;
    }

    .agenda-schedule-heading h2 {
        font-size: 36px;
        line-height: 41px;
    }
}

/* =========================================================
   SPEAKERS PAGE
   1440px Figma reference. Header/footer remain shared.
   Hero scales proportionally through 1920px; roster caps at 1440px.
   ========================================================= 
*/

.page-speakers main {
    background: var(--green);
}

.page-speakers .speakers-page-kicker {
    display: block;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--gold);
    font-size: .9722cqw;
    line-height: 1.25cqw;
    letter-spacing: .2083cqw;
}

/* Hero: 1440 x 611 at reference size, including the shared absolute header overlay. */

.speakers-page-hero {
    position: relative;
    background: var(--green);
    overflow: hidden;
}

.speakers-page-hero-stage {
    position: relative;
    width: min(100%,1920px);
    aspect-ratio: 1440/611;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--green);
    overflow: hidden;
}

.speakers-page-hero-copy {
    position: absolute;
    z-index: 3;
    left: 6.8056cqw;
    top: 14.6528cqw;
    width: 37.5cqw;
}

.speakers-page-hero-copy h1 {
    width: 37.5cqw;
    margin: 1.1111cqw 0 0;
    font-size: 5.9722cqw;
    line-height: 5.5556cqw;
    letter-spacing: -.2778cqw;
    font-weight: 900;
    color: var(--cream);
}

.speakers-page-hero-copy h1 span {
    color: var(--gold);
}

.speakers-page-hero-art {
    position: absolute;
    z-index: 1;
    left: 44.7917cqw;
    top: 6.3889cqw;
    width: 55.2083cqw;
    height: 43.75cqw;
    max-width: none;
    object-fit: fill;
}

.speakers-page-hero-detail {
    position: absolute;
    z-index: 4;
    left: 55.6944cqw;
    top: 24.6528cqw;
    width: 37.5cqw;
    color: var(--cream);
}

.speakers-page-hero-detail>p {
    width: 37.5cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--cream);
}

.speakers-page-stats {
    display: flex;
    align-items: flex-start;
    gap: 3.2639cqw;
    margin-top: 1.5278cqw;
    width: 23.6111cqw;
}

.speakers-page-stats>div {
    width: 5.6944cqw;
    display: flex;
    flex-direction: column;
    gap: .3472cqw;
}

.speakers-page-stats strong {
    font-size: 2.7778cqw;
    line-height: 3.2639cqw;
    font-weight: 800;
    color: var(--gold);
}

.speakers-page-stats span {
    font-size: .6944cqw;
    line-height: .9722cqw;
    font-weight: 700;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--cream);
}

/* Roster: exact 4 x 281px cards with 40px gutters at 1440px. */

.speakers-roster-section {
    background: var(--cream);
}

.speakers-roster-stage {
    width: min(100%,1440px);
    margin-inline: auto;
    padding: 4.8611cqw 6.8056cqw 4.375cqw;
    container-type: inline-size;
    background: var(--cream);
}

.speakers-roster-heading {
    width: 86.3889cqw;
    height: 6.875cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.speakers-roster-heading>div {
    width: 47.2222cqw;
    display: flex;
    flex-direction: column;
    gap: 1.1111cqw;
}

.speakers-roster-heading h2 {
    height: 4.5139cqw;
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
    white-space: nowrap;
}

.speakers-roster-heading>p {
    width: 27.7778cqw;
    margin: 0 0 .2778cqw;
    font-size: .9722cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    text-align: right;
    color: var(--green);
}

.speakers-page-grid {
    width: 86.3889cqw;
    margin-top: 3.2639cqw;
    display: grid;
    grid-template-columns: repeat(4,19.5139cqw);
    column-gap: 2.7778cqw;
    row-gap: 2.7778cqw;
}

.speakers-page-card {
    width: 19.5139cqw;
    min-height: 32.5694cqw;
    display: flex;
    flex-direction: column;
    gap: 1.6667cqw;
}

.speakers-page-photo {
    display: block;
    width: 19.5139cqw;
    height: 25cqw;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    clip-path: polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);
    cursor: pointer;
}

.speakers-page-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.speakers-page-photo:hover img,.speakers-page-photo:focus-visible img {
    transform: scale(1.015);
}

.speakers-page-photo:focus-visible {
    outline: .1389cqw solid var(--gold);
    outline-offset: .2083cqw;
}

.speakers-page-meta {
    width: 19.5139cqw;
    display: flex;
    flex-direction: column;
    gap: .4167cqw;
}

.speakers-page-name {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    font-size: 1.6667cqw;
    line-height: 2.1528cqw;
    font-weight: 900;
    color: var(--green);
    cursor: pointer;
}

.speakers-page-name:hover,.speakers-page-name:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: .0694cqw;
    text-underline-offset: .2083cqw;
}

.speakers-page-meta p,.speakers-page-meta span {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.4583cqw;
    font-weight: 400;
}

.speakers-page-meta p {
    color: var(--green-3);
}

.speakers-page-meta span {
    color: var(--gold);
}

/* Speaker inquiries card: 1244 x 226 at the reference width. */

.speakers-inquiry-card {
    position: relative;
    width: 86.3889cqw;
    height: 15.6944cqw;
    margin-top: 4.3056cqw;
    padding: 3.3333cqw 3.8889cqw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--green);
    overflow: hidden;
    clip-path: polygon(0 0,93.4722% 0,100% 28.7611%,100% 100%,0 100%);
}

.speakers-inquiry-card h2 {
    width: 34.7222cqw;
    margin: 0;
    font-size: 3.1944cqw;
    line-height: 4.0278cqw;
    letter-spacing: -.2083cqw;
    font-weight: 900;
    color: var(--cream);
}

.speakers-inquiry-card>div {
    width: 36.4583cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.8056cqw;
}

.speakers-inquiry-card p {
    width: 36.4583cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    letter-spacing: .0097cqw;
    font-weight: 400;
    color: var(--cream);
}

.speakers-inquiry-button {
    width: 13.75cqw;
    height: 2.7778cqw;
    padding: 0;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    letter-spacing: .1333cqw;
}

/* Speaker modal: Figma 1131 x 596. */

body.speaker-modal-open {
    overflow: hidden;
}

.speaker-modal[hidden] {
    display: none;
}

.speaker-modal {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.speaker-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1,41,35,.68);
}

.speaker-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(1131px,calc(100vw - 48px));
    aspect-ratio: 1131/596;
    container-type: inline-size;
    filter: drop-shadow(.7073cqw .7073cqw .6189cqw rgba(0,0,0,.12));
    display: flex;
    overflow: visible;
}

.speaker-modal-photo-wrap {
    width: 42.5287cqw;
    height: 52.6967cqw;
    flex: 0 0 auto;
    background: #111;
    overflow: hidden;
}

.speaker-modal-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.speaker-modal-panel {
    position: relative;
    width: 57.4713cqw;
    height: 52.6967cqw;
    flex: 0 0 auto;
    background: var(--cream);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 4.7745cqw),calc(100% - 4.7745cqw) 100%,0 100%);
}

.speaker-modal-content {
    position: absolute;
    left: 5.7471cqw;
    top: 4.9514cqw;
    width: 45.977cqw;
    height: 42.794cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.183cqw;
    color: var(--green);
}

.speaker-modal-top {
    width: 45.977cqw;
    height: 15.7383cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5915cqw;
}

.speaker-modal-row {
    width: 45.977cqw;
    height: 2.9178cqw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2.122cqw;
}

.speaker-modal-industry {
    height: 1.5915cqw;
    font-size: 1.2378cqw;
    line-height: 1.5915cqw;
    font-weight: 900;
    letter-spacing: .2653cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.speaker-modal-close {
    position: relative;
    width: 2.9178cqw;
    height: 2.9178cqw;
    padding: 0;
    border: .0442cqw solid rgba(10,86,72,.8);
    border-radius: 2px;
    background: transparent;
    cursor: pointer;
}

.speaker-modal-close span::before,.speaker-modal-close span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: .9726cqw;
    height: .0884cqw;
    background: var(--green);
    transform-origin: center;
}

.speaker-modal-close span::before {
    transform: translate(-50%,-50%) rotate(45deg);
}

.speaker-modal-close span::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}

.speaker-modal-top h2 {
    width: 29.1777cqw;
    height: 5.7471cqw;
    margin: 0;
    font-size: 4.9514cqw;
    line-height: 5.7471cqw;
    font-weight: 900;
    letter-spacing: -.3537cqw;
    color: var(--green);
    white-space: nowrap;
}

.speaker-modal-meta {
    width: 45.977cqw;
    height: 3.8904cqw;
    display: flex;
    flex-direction: column;
    gap: .7073cqw;
}

.speaker-modal-meta p,.speaker-modal-meta span {
    width: 45.977cqw;
    height: 1.5915cqw;
    margin: 0;
    font-size: 1.2378cqw;
    line-height: 1.5915cqw;
    font-weight: 400;
}

.speaker-modal-meta p {
    color: var(--green-3);
}

.speaker-modal-meta span {
    color: var(--gold);
}

.speaker-modal-bio {
    width: 45.977cqw;
    height: 6.366cqw;
    margin: 0;
    font-size: 1.4147cqw;
    line-height: 2.122cqw;
    font-weight: 400;
    letter-spacing: .0124cqw;
    color: var(--green);
}

.speaker-modal-rule {
    width: 45.977cqw;
    height: 0;
    border-top: .0884cqw solid rgba(10,86,72,.6);
}

.speaker-modal-session {
    width: 45.977cqw;
    height: 4.4209cqw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0;
}

.speaker-modal-session>div {
    width: 9.2838cqw;
    height: 4.4209cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .7073cqw;
    flex: 0 0 auto;
}

.speaker-modal-session span {
    height: 1.5915cqw;
    font-size: 1.2378cqw;
    line-height: 1.5915cqw;
    font-weight: 300;
    letter-spacing: .2653cqw;
    text-transform: uppercase;
    color: var(--green-3);
}

.speaker-modal-session strong {
    height: 2.122cqw;
    font-size: 1.5915cqw;
    line-height: 2.122cqw;
    font-weight: 700;
    letter-spacing: .0124cqw;
    color: var(--green);
    white-space: nowrap;
}

.speaker-modal-actions {
    width: 25.1989cqw;
    height: 3.5367cqw;
    display: flex;
    align-items: center;
    gap: 1.5915cqw;
}

.speaker-modal-actions .btn {
    height: 3.5367cqw;
    padding: 0 2.122cqw;
    font-size: 1.061cqw;
    line-height: 1.4147cqw;
    letter-spacing: .1698cqw;
}

.speaker-modal-actions .btn:first-child {
    width: 13.351cqw;
}

.speaker-modal-linkedin {
    width: 10.2564cqw;
    border: .0884cqw solid var(--green-3);
    background: transparent;
    color: var(--green);
}

.speaker-modal-linkedin.is-disabled {
    opacity: .45;
    cursor: default;
}

@media (min-width:769px) and (max-width:1439px) {
    .speakers-roster-stage {
        padding-left: 6.8056cqw;
        padding-right: 6.8056cqw;
    }
}

@media (max-width:768px) {
    .page-speakers .speakers-page-kicker {
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .speakers-page-hero-stage {
        width: 100%;
        aspect-ratio: auto;
        min-height: 720px;
        padding: 125px 24px 62px;
        container-type: normal;
    }

    .speakers-page-hero-art {
        left: 24%;
        top: 90px;
        width: 860px;
        height: auto;
        opacity: .42;
    }

    .speakers-page-hero-copy {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
    }

    .speakers-page-hero-copy h1 {
        width: 100%;
        margin: 14px 0 0;
        font-size: 58px;
        line-height: 54px;
        letter-spacing: -3px;
    }

    .speakers-page-hero-detail {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        margin-top: 52px;
    }

    .speakers-page-hero-detail>p {
        width: min(100%,520px);
        font-size: 14px;
        line-height: 22px;
    }

    .speakers-page-hero-detail>p br {
        display: none;
    }

    .speakers-page-stats {
        width: 100%;
        gap: 34px;
        margin-top: 24px;
    }

    .speakers-page-stats>div {
        width: auto;
        min-width: 72px;
        gap: 2px;
    }

    .speakers-page-stats strong {
        font-size: 32px;
        line-height: 38px;
    }

    .speakers-page-stats span {
        font-size: 9px;
        line-height: 13px;
        letter-spacing: 2px;
    }

    .speakers-roster-stage {
        width: 100%;
        padding: 60px 24px 70px;
        container-type: normal;
    }

    .speakers-roster-heading {
        width: 100%;
        height: auto;
        display: grid;
        gap: 20px;
    }

    .speakers-roster-heading>div {
        width: 100%;
        gap: 10px;
    }

    .speakers-roster-heading h2 {
        height: auto;
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2.5px;
        white-space: normal;
    }

    .speakers-roster-heading>p {
        width: 100%;
        margin: 0;
        font-size: 13px;
        line-height: 20px;
        text-align: left;
    }

    .speakers-roster-heading>p br {
        display: none;
    }

    .speakers-page-grid {
        width: 100%;
        margin-top: 42px;
        grid-template-columns: 1fr 1fr;
        column-gap: 20px;
        row-gap: 38px;
    }

    .speakers-page-card {
        width: 100%;
        min-height: 0;
        gap: 16px;
    }

    .speakers-page-photo {
        width: 100%;
        height: auto;
        aspect-ratio: 281/360;
    }

    .speakers-page-photo:focus-visible {
        outline: 2px solid var(--gold);
        outline-offset: 3px;
    }

    .speakers-page-meta {
        width: 100%;
        gap: 4px;
    }

    .speakers-page-name {
        font-size: 19px;
        line-height: 25px;
    }

    .speakers-page-meta p,.speakers-page-meta span {
        font-size: 13px;
        line-height: 18px;
    }

    .speakers-inquiry-card {
        width: 100%;
        height: auto;
        min-height: 290px;
        margin-top: 58px;
        padding: 42px 30px;
        display: grid;
        gap: 28px;
        clip-path: polygon(0 0,calc(100% - 58px) 0,100% 58px,100% 100%,0 100%);
    }

    .speakers-inquiry-card h2 {
        width: 100%;
        font-size: 38px;
        line-height: 44px;
        letter-spacing: -2px;
    }

    .speakers-inquiry-card h2 br {
        display: none;
    }

    .speakers-inquiry-card>div {
        width: 100%;
        gap: 22px;
    }

    .speakers-inquiry-card p {
        width: 100%;
        font-size: 14px;
        line-height: 21px;
    }

    .speakers-inquiry-card p br {
        display: none;
    }

    .speakers-inquiry-button {
        width: auto;
        height: 40px;
        padding: 0 20px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .speaker-modal {
        padding: 16px;
        align-items: flex-start;
        overflow: auto;
    }

    .speaker-modal-dialog {
        width: min(100%,560px);
        height: auto;
        aspect-ratio: auto;
        margin: 24px auto;
        display: grid;
        container-type: normal;
        filter: drop-shadow(8px 8px 7px rgba(0,0,0,.12));
    }

    .speaker-modal-photo-wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 481/430;
    }

    .speaker-modal-panel {
        width: 100%;
        height: auto;
        min-height: 620px;
        padding: 42px 30px 52px;
        clip-path: polygon(0 0,100% 0,100% calc(100% - 42px),calc(100% - 42px) 100%,0 100%);
    }

    .speaker-modal-content {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        gap: 28px;
    }

    .speaker-modal-top {
        width: 100%;
        height: auto;
        gap: 14px;
    }

    .speaker-modal-row {
        width: 100%;
        height: 34px;
        gap: 20px;
    }

    .speaker-modal-industry {
        height: auto;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .speaker-modal-close {
        width: 34px;
        height: 34px;
        border-width: 1px;
    }

    .speaker-modal-close span::before,.speaker-modal-close span::after {
        width: 11px;
        height: 1px;
    }

    .speaker-modal-top h2 {
        width: 100%;
        height: auto;
        font-size: 44px;
        line-height: 49px;
        letter-spacing: -2.8px;
        white-space: normal;
    }

    .speaker-modal-meta {
        width: 100%;
        height: auto;
        gap: 5px;
    }

    .speaker-modal-meta p,.speaker-modal-meta span {
        width: 100%;
        height: auto;
        font-size: 14px;
        line-height: 18px;
    }

    .speaker-modal-bio {
        width: 100%;
        height: auto;
        font-size: 16px;
        line-height: 24px;
    }

    .speaker-modal-rule {
        width: 100%;
        border-top-width: 1px;
    }

    .speaker-modal-session {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 18px;
    }

    .speaker-modal-session>div {
        width: 100%;
        height: auto;
        gap: 6px;
    }

    .speaker-modal-session span {
        height: auto;
        font-size: 10px;
        line-height: 14px;
        letter-spacing: 2px;
    }

    .speaker-modal-session strong {
        height: auto;
        font-size: 16px;
        line-height: 22px;
        white-space: normal;
    }

    .speaker-modal-actions {
        width: 100%;
        height: auto;
        gap: 12px;
        flex-wrap: wrap;
    }

    .speaker-modal-actions .btn,.speaker-modal-actions .btn:first-child,.speaker-modal-linkedin {
        width: auto;
        height: 40px;
        padding: 0 20px;
        font-size: 10px;
        line-height: 12px;
        letter-spacing: 1.5px;
        border-width: 1px;
    }
}

@media (max-width:500px) {
    .speakers-page-hero-stage {
        min-height: 690px;
        padding-top: 115px;
    }

    .speakers-page-hero-copy h1 {
        font-size: 50px;
        line-height: 48px;
        letter-spacing: -2.5px;
    }

    .speakers-page-grid {
        grid-template-columns: 1fr;
    }

    .speakers-inquiry-card h2 {
        font-size: 34px;
        line-height: 40px;
    }

    .speaker-modal-photo-wrap {
        aspect-ratio: 481/360;
    }

    .speaker-modal-panel {
        padding: 34px 24px 48px;
    }

    .speaker-modal-top h2 {
        font-size: 38px;
        line-height: 43px;
    }

    .speaker-modal-session {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* =========================================================
   CONTACT PAGE
   1440px Figma reference. Header/footer remain shared.
   ========================================================= 
*/

.page-contact main {
    background: var(--cream);
}

.contact-page {
    background: var(--cream);
    overflow: hidden;
}

.contact-stage {
    position: relative;
    width: min(100%,1440px);
    aspect-ratio: 1440/1321;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--cream);
    overflow: hidden;
}

.contact-background-art {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: auto;
    max-width: none;
    pointer-events: none;
    user-select: none;
}

.contact-intro {
    position: absolute;
    z-index: 2;
    left: 6.8056cqw;
    top: 13.6806cqw;
    width: 56.25cqw;
    color: var(--green);
}

.contact-kicker {
    display: block;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.contact-intro h1 {
    margin: 1.3889cqw 0 1.25cqw;
    width: 56.25cqw;
    font-size: 5.2778cqw;
    line-height: 5.625cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
    white-space: nowrap;
}

.contact-intro h1 span {
    color: var(--gold);
}

.contact-intro p {
    width: 48.6111cqw;
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: var(--green);
}

.contact-form-card {
    position: absolute;
    z-index: 2;
    left: 6.8056cqw;
    top: 33.8194cqw;
    width: 53.1944cqw;
    height: 52.0833cqw;
    margin: 0;
    padding: 3.0556cqw 2.5cqw 2.4306cqw;
    background: #fff;
    clip-path: polygon(0 0,100% 0,100% calc(100% - 1.3889cqw),calc(100% - 1.3889cqw) 100%,0 100%);
    color: var(--green);
}

.contact-form-card h2 {
    margin: 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
}

.contact-field-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 3.75cqw;
    row-gap: 2.3611cqw;
    margin-top: 2.2222cqw;
}

.contact-field {
    display: flex;
    flex-direction: column;
    gap: .6944cqw;
    min-width: 0;
}

.contact-field>span,.contact-message-field>span,.contact-interest legend {
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--green);
}

.contact-field input {
    width: 100%;
    height: 2.7083cqw;
    padding: .3472cqw 0 .5556cqw;
    border: 0;
    border-bottom: .0694cqw solid rgba(10,86,72,.7);
    border-radius: 0;
    outline: 0;
    background: transparent;
    font: 400 1.1111cqw/1.6667cqw "Hanken Grotesk",sans-serif;
    color: var(--green);
}

.contact-field input:focus {
    border-bottom-color: var(--green);
    border-bottom-width: .1389cqw;
}

.contact-interest {
    margin: 2.2917cqw 0 0;
    padding: 0;
    border: 0;
}

.contact-interest legend {
    padding: 0;
    margin: 0 0 .8333cqw;
}

.contact-interest-options {
    display: flex;
    align-items: center;
    gap: 1.1806cqw;
    flex-wrap: nowrap;
}

.contact-interest-options label {
    position: relative;
    display: block;
    cursor: pointer;
}

.contact-interest-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.contact-interest-options span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.7778cqw;
    padding: 0 1.6667cqw;
    border: .0694cqw solid var(--green-3);
    border-radius: 2px;
    background: #fff;
    font-size: .6944cqw;
    line-height: .9722cqw;
    font-weight: 700;
    letter-spacing: .1389cqw;
    color: var(--green);
    white-space: nowrap;
    transition: background .15s ease,color .15s ease,border-color .15s ease;
}

.contact-interest-options input:checked+span {
    background: var(--green);
    border-color: var(--green);
    color: var(--cream);
}

.contact-interest-options input:focus-visible+span {
    outline: .1389cqw solid var(--gold);
    outline-offset: .2083cqw;
}

.contact-message-field {
    display: flex;
    flex-direction: column;
    gap: .7639cqw;
    margin-top: 2.2917cqw;
}

.contact-message-field textarea {
    width: 100%;
    height: 9.7222cqw;
    padding: .8333cqw;
    border: 0;
    border-bottom: .0694cqw solid rgba(10,86,72,.75);
    border-radius: 0;
    outline: 0;
    resize: none;
    background: #dfe7e7;
    font: 400 1.1111cqw/1.6667cqw "Hanken Grotesk",sans-serif;
    color: var(--green);
}

.contact-message-field textarea:focus {
    border-bottom-color: var(--green);
    border-bottom-width: .1389cqw;
}

.contact-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10.9722cqw;
    height: 2.7778cqw;
    margin-top: -3%;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: var(--green);
    font: 700 .6944cqw/.9722cqw "Hanken Grotesk",sans-serif;
    letter-spacing: .1389cqw;
    text-transform: uppercase;
    color: var(--cream);
    cursor: pointer;
}

.contact-submit:hover,.contact-submit:focus-visible {
    background: var(--green-3);
}

.contact-details {
    position: absolute;
    z-index: 2;
    left: 64.375cqw;
    top: 34.7917cqw;
    width: 31.5278cqw;
    color: var(--green);
}

.contact-detail-row {
    position: relative;
    width: 31.5278cqw;
    height: 9.0278cqw;
    padding: 0;
    border: 0;
}

.contact-detail-row:not(.contact-summit-detail)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2.7778cqw;
    height: .0694cqw;
    background: rgba(187,167,142,.45);
}

.contact-detail-row+.contact-detail-row {
    padding-top: 0;
}

.contact-detail-row h2 {
    margin: 0 0 1.25cqw;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.contact-detail-row a,.contact-detail-row p {
    margin: 0;
    font-size: 1.1111cqw;
    line-height: 1.6667cqw;
    font-weight: 700;
    letter-spacing: .0097cqw;
    color: var(--green);
}

.contact-detail-row a:hover {
    text-decoration: underline;
    text-underline-offset: .2083cqw;
}

.contact-summit-detail {
    height: 9.0278cqw;
    border-bottom: 0;
    padding-bottom: 0;
}

.contact-summit-detail p {
    font-weight: 700;
}

.contact-register-card {
    width: 31.5278cqw;
    height: 12.5cqw;
    margin-top: 1.9444cqw;
    background: var(--gold);
}

.contact-register-card-inner {
    width: 100%;
    height: 100%;
    padding: 2.2917cqw 2.5cqw;
    background: var(--green);
    clip-path: polygon(0 0,86.8132% 0,100% 36.612%,100% 100%,0 100%);
}

.contact-register-card h2 {
    margin: 0 0 1.9444cqw;
    font-size: 2.5cqw;
    line-height: 3.125cqw;
    font-weight: 900;
    letter-spacing: -.1389cqw;
    color: var(--cream);
    white-space: nowrap;
}

.contact-register-card .btn {
    width: 8.0556cqw;
    height: 2.7778cqw;
    padding: 0;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    letter-spacing: .1333cqw;
}

@media (max-width:768px) {
    .contact-stage {
        width: 100%;
        aspect-ratio: auto;
        min-height: 0;
        padding: 128px 24px 76px;
        container-type: normal;
        overflow: hidden;
    }

    .contact-background-art {
        left: 18%;
        top: 10px;
        width: 1320px;
        opacity: .8;
    }

    .contact-intro {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
    }

    .contact-kicker {
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .contact-intro h1 {
        width: 100%;
        margin: 14px 0 18px;
        font-size: 52px;
        line-height: 52px;
        letter-spacing: -3px;
        white-space: normal;
    }

    .contact-intro p {
        width: min(100%,560px);
        font-size: 15px;
        line-height: 23px;
    }

    .contact-desktop-break {
        display: none;
    }

    .contact-form-card {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        margin-top: 54px;
        padding: 40px 28px 36px;
        clip-path: polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
    }

    .contact-form-card h2 {
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -2.4px;
    }

    .contact-field-grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        row-gap: 26px;
        margin-top: 30px;
    }

    .contact-field {
        gap: 8px;
    }

    .contact-field>span,.contact-message-field>span,.contact-interest legend {
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.2px;
    }

    .contact-field input {
        height: 38px;
        padding: 4px 0 7px;
        border-bottom-width: 1px;
        font-size: 15px;
        line-height: 22px;
    }

    .contact-interest {
        margin-top: 30px;
    }

    .contact-interest legend {
        margin-bottom: 11px;
    }

    .contact-interest-options {
        gap: 10px;
        flex-wrap: wrap;
    }

    .contact-interest-options span {
        height: 40px;
        padding: 0 17px;
        border-width: 1px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 1.6px;
    }

    .contact-message-field {
        gap: 10px;
        margin-top: 30px;
    }

    .contact-message-field textarea {
        height: 160px;
        padding: 12px;
        border-bottom-width: 1px;
        font-size: 15px;
        line-height: 23px;
    }

    .contact-submit {
        width: auto;
        height: 40px;
        margin-top: 28px;
        padding: 0 20px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 1.6px;
    }

    .contact-details {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        margin-top: 52px;
    }

    .contact-detail-row {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 0 0 24px;
        border-bottom: 1px solid rgba(187,167,142,.45);
    }

    .contact-detail-row+.contact-detail-row {
        padding-top: 24px;
    }

    .contact-detail-row:not(.contact-summit-detail)::after {
        display: none;
    }

    .contact-detail-row h2 {
        margin-bottom: 12px;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .contact-detail-row a,.contact-detail-row p {
        font-size: 15px;
        line-height: 23px;
    }

    .contact-summit-detail {
        height: auto;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .contact-register-card {
        width: 100%;
        height: auto;
        min-height: 180px;
        margin-top: 38px;
    }

    .contact-register-card-inner {
        padding: 34px 30px;
        clip-path: polygon(0 0,calc(100% - 58px) 0,100% 58px,100% 100%,0 100%);
    }

    .contact-register-card h2 {
        margin-bottom: 26px;
        font-size: 34px;
        line-height: 40px;
        letter-spacing: -2px;
        white-space: normal;
    }

    .contact-register-card .btn {
        width: auto;
        height: 40px;
        padding: 0 20px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 1.6px;
    }
}

@media (max-width:500px) {
    .contact-stage {
        padding: 116px 20px 64px;
    }

    .contact-background-art {
        left: -8%;
        top: 35px;
        width: 1120px;
        opacity: .7;
    }

    .contact-intro h1 {
        font-size: 44px;
        line-height: 45px;
        letter-spacing: -2.5px;
    }

    .contact-form-card {
        margin-top: 44px;
        padding: 34px 22px 32px;
    }

    .contact-form-card h2 {
        font-size: 34px;
        line-height: 39px;
    }

    .contact-field-grid {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }

    .contact-interest-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .contact-interest-options label:last-child {
        grid-column: 1/-1;
        width: 50%;
    }

    .contact-interest-options span {
        width: 100%;
        padding: 0 10px;
    }

    .contact-details {
        margin-top: 44px;
    }

    .contact-register-card h2 {
        font-size: 30px;
        line-height: 36px;
    }
}

/* =========================================================
   SPONSORS PAGE
   1440px reference layout. Header/footer remain shared.
   ========================================================= 
*/

.page-sponsors main {
    background: var(--cream);
}

.sponsors-page-hero {
    position: relative;
    background: var(--green);
    overflow: hidden;
}

.sponsors-page-hero-stage {
    position: relative;
    width: min(100%,1440px);
    height: 765px;
    margin-inline: auto;
    container-type: inline-size;
    background: var(--green);
    overflow: hidden;
}

.sponsors-page-hero-photo {
    position: absolute;
    z-index: 1;
    left: 51.875cqw;
    top: 6.3889cqw;
    width: 48.125cqw;
    height: 46.7361cqw;
    max-width: none;
    object-fit: fill;
}

.sponsors-page-hero-copy {
    position: absolute;
    z-index: 2;
    left: 6.8056cqw;
    top: 13.6806cqw;
    width: 47.2222cqw;
    color: var(--cream);
}

.sponsors-page-kicker,.sponsors-section-kicker {
    display: block;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.sponsors-page-hero-copy h1 {
    width: 47.2222cqw;
    margin: 1.4583cqw 0 1.4583cqw;
    font-size: 4.4444cqw;
    line-height: 4.8611cqw;
    font-weight: 900;
    letter-spacing: -.2431cqw;
    color: var(--cream);
}

.sponsors-page-hero-copy h1 span {
    color: var(--gold);
}

.sponsors-page-hero-copy p {
    width: 42.5cqw;
    margin: 0;
    font-size: 1.0417cqw;
    line-height: 1.5278cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: var(--cream);
}

.sponsors-page-hero-actions {
    display: flex;
    gap: 1.25cqw;
    margin-top: 2.9167cqw;
}

.sponsors-page-hero-actions .btn {
    height: 2.7778cqw;
    padding: 0 1.6667cqw;
    font-size: .6944cqw;
    line-height: .9722cqw;
    letter-spacing: .1389cqw;
}

.sponsors-page-hero-actions .btn:first-child {
    min-width: 20.5556cqw;
}

.sponsors-page-hero-actions .btn:last-child {
    min-width: 13.125cqw;
}

.sponsors-partners {
    background: var(--cream);
}

.sponsors-partners-stage {
    position: relative;
    width: min(100%,1440px);
    height: 973px;
    margin-inline: auto;
    padding: 60px 98px 64px;
    container-type: inline-size;
    background: var(--cream);
}

.sponsors-partners-stage>h2 {
    margin: 1.4583cqw 0 4.0972cqw;
    font-size: 3.0556cqw;
    line-height: 3.6111cqw;
    font-weight: 900;
    letter-spacing: -.2083cqw;
    color: var(--green);
}

.sponsors-levels {
    display: flex;
    flex-direction: column;
    gap: 2.3611cqw;
}

.sponsors-level {
    margin: 0;
}

.sponsors-level h3 {
    margin: 0 0 1.4583cqw;
    font-size: .8333cqw;
    line-height: 1.1111cqw;
    font-weight: 700;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.sponsors-logo-grid {
    display: grid;
    width: 100%;
}

.sponsor-logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    overflow: hidden;
}

.sponsor-logo-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sponsors-level-one .sponsors-logo-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1.6667cqw;
}

.sponsors-level-one .sponsor-logo-card {
    height: 16.3889cqw;
}

.sponsors-level-two .sponsors-logo-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1.5278cqw;
}

.sponsors-level-two .sponsor-logo-card {
    height: 9.5139cqw;
}

.sponsors-level-three .sponsors-logo-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 1.3889cqw;
}

.sponsors-level-three .sponsor-logo-card {
    height: 8.75cqw;
}

.sponsors-why {
    background: var(--green);
}

.sponsors-why-stage {
    width: min(100%,1440px);
    height: 383px;
    margin-inline: auto;
    padding: 79px 98px 64px;
    display: grid;
    grid-template-columns: 31.25cqw 1fr;
    column-gap: 6.25cqw;
    container-type: inline-size;
    background: var(--green);
    color: var(--cream);
}

.sponsors-why-heading h2 {
    margin: 1.4583cqw 0 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--cream);
}

.sponsors-why-heading h2 span {
    color: var(--gold);
}

.sponsors-why-copy {
    padding-top: .625cqw;
    width: 49.3056cqw;
}

.sponsors-why-copy p {
    margin: 0 0 1.5278cqw;
    font-size: .9722cqw;
    line-height: 1.5278cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: var(--cream);
}

.sponsors-why-copy p:last-child {
    margin-bottom: 0;
}

.sponsors-why-copy strong {
    font-weight: 700;
}

.sponsors-opportunities {
    background: var(--cream);
}

.sponsors-opportunities-stage {
    position: relative;
    width: min(100%,1440px);
    height: auto;
    margin-inline: auto;
    padding: 108px 98px 105px;
    container-type: inline-size;
    background: var(--cream);
}

.sponsors-opportunities-heading {
    display: grid;
    grid-template-columns: 47.9167cqw 33.6111cqw;
    column-gap: 10.9722cqw;
    align-items: start;
}

.sponsors-opportunities-heading h2 {
    margin: 1.4583cqw 0 0;
    font-size: 3.8889cqw;
    line-height: 4.5139cqw;
    font-weight: 900;
    letter-spacing: -.2778cqw;
    color: var(--green);
}

.sponsors-opportunities-heading>p {
    margin: 2.3611cqw 0 0;
    font-size: .9722cqw;
    line-height: 1.5278cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: var(--green);
}

.sponsorship-tier-list {
    display: flex;
    flex-direction: column;
    gap: 1.5278cqw;
    margin-top: 4.0972cqw;
}

.sponsorship-tier {
    position: relative;
    width: 100%;
    height: 10.1389cqw;
    padding: 2.0833cqw 2.5cqw;
    display: grid;
    grid-template-columns: 19.4444cqw 1fr 10.625cqw;
    align-items: center;
    background: #fff;
    color: var(--green);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 1.6667cqw),calc(100% - 1.6667cqw) 100%,0 100%);
}

.sponsorship-tier.is-featured {
    background: var(--green);
    color: var(--cream);
}

.sponsorship-tier-name span {
    display: block;
    margin-bottom: .6944cqw;
    font-size: .6944cqw;
    line-height: .9722cqw;
    font-weight: 700;
    letter-spacing: .1736cqw;
    text-transform: uppercase;
    color: var(--gold);
}

.sponsorship-tier-name h3 {
    margin: 0;
    font-size: 1.25cqw;
    line-height: 1.6667cqw;
    font-weight: 900;
    color: inherit;
}

.sponsorship-tier ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4.1667cqw;
    row-gap: .6944cqw;
}

.sponsorship-tier li {
    font-size: .9028cqw;
    line-height: 1.25cqw;
    font-weight: 400;
    letter-spacing: .0097cqw;
    color: inherit;
}

.sponsorship-benefits-button {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9.5833cqw;
    height: 2.7778cqw;
    border: .0694cqw solid var(--green);
    border-radius: 2px;
    background: transparent;
    font-size: .6944cqw;
    line-height: .9722cqw;
    font-weight: 700;
    letter-spacing: .1389cqw;
    text-transform: uppercase;
    color: var(--green);
}

.sponsorship-tier.is-featured .sponsorship-benefits-button {
    border-color: var(--gold);
    color: var(--cream);
}

.sponsorship-benefits-button:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--green);
}

.sponsors-media-kit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.7778cqw;
    margin-top: 2.9167cqw;
    padding: 0 1.6667cqw;
    border-radius: 2px;
    background: var(--gold);
    font-size: .6944cqw;
    line-height: .9722cqw;
    font-weight: 700;
    letter-spacing: .1389cqw;
    text-transform: uppercase;
    color: var(--green);
}

.sponsors-final-cta {
    width: 100%;
    height: 14.3056cqw;
    margin-top: 4.0278cqw;
    background: var(--gold);
}

.sponsors-final-cta-inner {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 48.6111cqw 1fr;
    align-items: center;
    padding: 0 2.5cqw;
    background: var(--green);
    clip-path: polygon(0 0,93.975% 0,100% 29.611%,100% 100%,0 100%);
}

.sponsors-final-cta h2 {
    margin: 0;
    font-size: 3.0556cqw;
    line-height: 3.6111cqw;
    font-weight: 900;
    letter-spacing: -.2083cqw;
    color: var(--cream);
}

.sponsors-final-cta-inner>div {
    padding-left: 1.3889cqw;
}

.sponsors-final-cta p {
    margin: 0 0 1.7361cqw;
    font-size: .9722cqw;
    line-height: 1.5278cqw;
    font-weight: 400;
    color: var(--cream);
}

.sponsors-final-cta .btn {
    height: 2.7778cqw;
    padding: 0 1.6667cqw;
    font-size: .6944cqw;
    line-height: .9722cqw;
    letter-spacing: .1389cqw;
}

@media (max-width:900px) {
    .sponsors-page-hero-stage {
        height: auto;
        min-height: 720px;
        padding: 126px 28px 60px;
        container-type: normal;
    }

    .sponsors-page-hero-photo {
        position: absolute;
        left: 44%;
        top: 92px;
        width: 78%;
        height: auto;
        opacity: .34;
    }

    .sponsors-page-hero-copy {
        position: relative;
        left: auto;
        top: auto;
        width: min(100%,620px);
    }

    .sponsors-page-kicker,.sponsors-section-kicker {
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .sponsors-page-hero-copy h1 {
        width: 100%;
        margin: 18px 0;
        font-size: 58px;
        line-height: 58px;
        letter-spacing: -3px;
    }

    .sponsors-page-hero-copy p {
        width: min(100%,560px);
        font-size: 15px;
        line-height: 23px;
    }

    .sponsors-desktop-break {
        display: none;
    }

    .sponsors-page-hero-actions {
        gap: 14px;
        margin-top: 34px;
        flex-wrap: wrap;
    }

    .sponsors-page-hero-actions .btn {
        width: auto !important;
        min-width: 0 !important;
        height: 40px;
        padding: 0 18px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 1.6px;
    }

    .sponsors-partners-stage {
        width: 100%;
        height: auto;
        padding: 64px 28px 72px;
        container-type: normal;
    }

    .sponsors-partners-stage>h2 {
        margin: 18px 0 46px;
        font-size: 40px;
        line-height: 46px;
        letter-spacing: -2.5px;
    }

    .sponsors-levels {
        gap: 34px;
    }

    .sponsors-level h3 {
        margin-bottom: 14px;
        font-size: 11px;
        line-height: 15px;
        letter-spacing: 2.4px;
    }

    .sponsor-logo-card {
        min-height: 130px;
    }

    .sponsors-level-one .sponsor-logo-card,.sponsors-level-two .sponsor-logo-card,.sponsors-level-three .sponsor-logo-card {
        height: auto;
        aspect-ratio: 2.5/1;
    }

    .sponsors-level-one .sponsors-logo-grid {
        gap: 18px;
    }

    .sponsors-level-two .sponsors-logo-grid {
        gap: 16px;
    }

    .sponsors-level-three .sponsors-logo-grid {
        gap: 14px;
    }

    .sponsors-why-stage {
        width: 100%;
        height: auto;
        padding: 64px 28px;
        display: grid;
        grid-template-columns: 1fr 1.35fr;
        gap: 48px;
        container-type: normal;
    }

    .sponsors-why-heading h2 {
        margin-top: 16px;
        font-size: 44px;
        line-height: 49px;
        letter-spacing: -2.5px;
    }

    .sponsors-why-copy {
        width: 100%;
        padding-top: 0;
    }

    .sponsors-why-copy p {
        margin-bottom: 18px;
        font-size: 14px;
        line-height: 22px;
    }

    .sponsors-opportunities-stage {
        width: 100%;
        height: auto;
        padding: 72px 28px 82px;
        container-type: normal;
    }

    .sponsors-opportunities-heading {
        grid-template-columns: 1.2fr 1fr;
        gap: 48px;
    }

    .sponsors-opportunities-heading h2 {
        margin-top: 16px;
        font-size: 44px;
        line-height: 49px;
        letter-spacing: -2.5px;
    }

    .sponsors-opportunities-heading>p {
        margin-top: 28px;
        font-size: 14px;
        line-height: 22px;
    }

    .sponsorship-tier-list {
        gap: 16px;
        margin-top: 52px;
    }

    .sponsorship-tier {
        height: auto;
        min-height: 150px;
        padding: 28px 26px;
        grid-template-columns: 180px 1fr 130px;
        clip-path: polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
    }

    .sponsorship-tier-name span {
        margin-bottom: 8px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 2px;
    }

    .sponsorship-tier-name h3 {
        font-size: 18px;
        line-height: 24px;
    }

    .sponsorship-tier ul {
        gap: 10px 28px;
    }

    .sponsorship-tier li {
        font-size: 13px;
        line-height: 18px;
    }

    .sponsorship-benefits-button {
        width: 120px;
        height: 40px;
        border-width: 1px;
        font-size: 9px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .sponsors-media-kit {
        height: 40px;
        margin-top: 30px;
        padding: 0 18px;
        font-size: 9px;
        line-height: 12px;
        letter-spacing: 1.5px;
    }

    .sponsors-final-cta {
        height: auto;
        min-height: 210px;
        margin-top: 46px;
    }

    .sponsors-final-cta-inner {
        grid-template-columns: 1.2fr 1fr;
        padding: 36px 30px;
        clip-path: polygon(0 0,calc(100% - 58px) 0,100% 58px,100% 100%,0 100%);
    }

    .sponsors-final-cta h2 {
        font-size: 38px;
        line-height: 44px;
        letter-spacing: -2px;
    }

    .sponsors-final-cta-inner>div {
        padding-left: 18px;
    }

    .sponsors-final-cta p {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 22px;
    }

    .sponsors-final-cta .btn {
        height: 40px;
        padding: 0 18px;
        font-size: 10px;
        line-height: 13px;
        letter-spacing: 1.6px;
    }
}

@media (max-width:650px) {
    .sponsors-page-hero-stage {
        min-height: 680px;
        padding: 116px 20px 52px;
    }

    .sponsors-page-hero-photo {
        left: 35%;
        top: 92px;
        width: 100%;
        opacity: .3;
    }

    .sponsors-page-hero-copy h1 {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }

    .sponsors-page-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .sponsors-page-hero-actions .btn {
        width: auto !important;
    }

    .sponsors-partners-stage {
        padding: 56px 20px 64px;
    }

    .sponsors-partners-stage>h2 {
        font-size: 35px;
        line-height: 40px;
    }

    .sponsors-level-one .sponsors-logo-grid,.sponsors-level-two .sponsors-logo-grid,.sponsors-level-three .sponsors-logo-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sponsor-logo-card,.sponsors-level-one .sponsor-logo-card,.sponsors-level-two .sponsor-logo-card,.sponsors-level-three .sponsor-logo-card {
        min-height: 0;
        aspect-ratio: 2.65/1;
    }

    .sponsors-why-stage {
        padding: 58px 20px;
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .sponsors-why-heading h2 {
        font-size: 40px;
        line-height: 45px;
    }

    .sponsors-opportunities-stage {
        padding: 62px 20px 70px;
    }

    .sponsors-opportunities-heading {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sponsors-opportunities-heading h2 {
        font-size: 38px;
        line-height: 43px;
    }

    .sponsors-opportunities-heading>p {
        margin-top: 0;
    }

    .sponsorship-tier-list {
        margin-top: 42px;
    }

    .sponsorship-tier {
        grid-template-columns: 1fr;
        padding: 26px 22px;
        gap: 22px;
    }

    .sponsorship-tier ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .sponsorship-benefits-button {
        justify-self: start;
    }

    .sponsors-final-cta-inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 34px 24px 38px;
    }

    .sponsors-final-cta-inner>div {
        padding-left: 0;
    }

    .sponsors-final-cta h2 {
        font-size: 32px;
        line-height: 38px;
    }
}

/* =========================================================
   HOMEPAGE INTERACTIONS
   Subtle hover treatments without changing layout geometry.
   ========================================================= 
*/

@media (hover:hover) and (pointer:fine) {
    /* Hero CTAs */

    .page-home .hero-actions .btn-gold:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--cream);
        filter: none;
    }

    .page-home .hero-actions .btn-outline:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
        filter: none;
    }

    /* About section */

    .page-home .about-copy .btn:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
        filter: none;
    }

    /* Built Around What Matters cards */

    .page-home .matter-card {
        transition: transform .22s ease,box-shadow .22s ease;
        transform-origin: center center;
    }

    .page-home .matter-corner {
        transition: transform .28s cubic-bezier(.22,.61,.36,1);
        transform-origin: 100% 0;
        will-change: transform;
    }

    .page-home .matter-card:hover {
        transform: translateY(-4px) scale(1.015);
        box-shadow: 0 12px 24px rgba(0,0,0,.18);
    }

    .page-home .matter-card:hover .matter-corner {
        transform: rotate(9deg);
    }

    /* Featured speaker cards */

    .page-home .speaker-card {
        transition: transform .22s ease,filter .22s ease;
        transform-origin: center center;
    }

    .page-home .speaker-card:hover {
        transform: translateY(-4px) scale(1.015);
        filter: drop-shadow(0 10px 10px rgba(0,0,0,.14));
    }

    .page-home .speakers-button:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
        filter: none;
        transform: translateX(-50%) translateY(-1px);
    }

    /* Industry sponsor cards */

    .page-home .sponsor-box {
        transition: transform .22s ease,box-shadow .22s ease;
        transform-origin: center center;
    }

    .page-home .sponsor-box:hover {
        transform: translateY(-3px) scale(1.015);
        box-shadow: 0 10px 20px rgba(0,0,0,.16);
    }

    .page-home .sponsors-heading .btn:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--cream);
        filter: none;
    }
}

/* =========================================================
   ABOUT PAGE INTERACTIONS
   ========================================================= 
*/

@media (hover:hover) and (pointer:fine) {
    /* Hero CTAs */

    .page-about .about-hero-actions .btn:first-child:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
        filter: none;
    }

    .page-about .about-hero-actions .btn:last-child:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
        filter: none;
    }

    /* TRED Puts Them in One Room corner */

    .page-about .about-room-card {
        overflow: visible;
    }

    .page-about .about-room-corner {
        transition: transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;
        transform-origin: 100% 0;
        will-change: transform,filter;
    }

    .page-about .about-room-card:hover .about-room-corner {
        transform: rotate(9deg);
        filter: drop-shadow(0 7px 7px rgba(0,0,0,.24));
    }

    /* Advisory Board speaker cards */

    .page-about .about-advisor-card {
        transition: transform .22s ease,filter .22s ease;
        transform-origin: center center;
        will-change: transform,filter;
    }

    .page-about .about-advisor-card:hover {
        transform: translateY(-4px) scale(1.015);
        filter: drop-shadow(0 10px 10px rgba(0,0,0,.14));
    }
}

/* =========================================================
   FOOTER INTERACTIONS
   ========================================================= 
*/

.footer-adtrak-link {
    color: inherit;
    text-decoration: none;
}

@media (hover:hover) and (pointer:fine) {
    .site-footer .footer-policy a:hover,
    .site-footer .footer-adtrak-link:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .site-footer .footer-register:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
        filter: none;
    }
}

/* Footer navigation hover */

@media (hover:hover) and (pointer:fine) {
    .site-footer .footer-nav a {
        transition: color .2s ease;
    }

    .site-footer .footer-nav a:hover {
        color: var(--gold);
    }
}

/* Header register hover */

.header-register {
    transition: background-color .2s ease,border-color .2s ease,color .2s ease;
}

@media (hover:hover) and (pointer:fine) {
    .site-header .header-register:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
        filter: none;
        transform: none;
    }
}

/* =========================================================
   SPEAKERS PAGE INTERACTIONS
   ========================================================= 
*/

.page-speakers .speakers-inquiry-card {
    background: transparent;
    overflow: visible;
    clip-path: none;
    isolation: isolate;
}

.page-speakers .speakers-inquiry-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--green);
}

.page-speakers .speakers-inquiry-card::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 5.625cqw;
    height: 5.6944cqw;
    background: url("../images/about/room-corner.png") center/100% 100% no-repeat;
    transform-origin: 100% 0;
    transition: transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;
    pointer-events: none;
    will-change: transform,filter;
}

@media (hover:hover) and (pointer:fine) {
    .page-speakers .speakers-page-card {
        transition: transform .22s ease,filter .22s ease;
        transform-origin: center center;
        will-change: transform,filter;
    }

    .page-speakers .speakers-page-card:hover {
        transform: translateY(-4px) scale(1.015);
        filter: drop-shadow(0 10px 10px rgba(0,0,0,.14));
    }

    .page-speakers .speakers-page-card:hover .speakers-page-photo img {
        transform: none;
    }

    .page-speakers .speakers-inquiry-card:hover::after {
        transform: rotate(9deg);
        filter: drop-shadow(0 7px 7px rgba(0,0,0,.24));
    }
}

@media (max-width:900px) {
    .page-speakers .speakers-inquiry-card::after {
        width: 82px;
        height: 83px;
    }
}

/* Speakers hero artwork alignment to Figma prototype */

@media (min-width: 981px) {
    .page-speakers .speakers-page-hero-art {
        left: 44.5833cqw;
        top: 0;
        width: 55.4167cqw;
        height: 43.6111cqw;
    }
}

/* =========================================================
   CONTACT PAGE INTERACTIONS / CORNER FIX
   ========================================================= 
*/

.page-contact .contact-register-card {
    position: relative;
    background: var(--green);
    overflow: visible;
}

.page-contact .contact-register-card-inner {
    background: var(--green);
    clip-path: none;
}

.page-contact .contact-register-card::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    width: 5.625cqw;
    height: 5.6944cqw;
    background: url("../images/about/room-corner.png") center/100% 100% no-repeat;
    transform-origin: 100% 0;
    transition: transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;
    pointer-events: none;
    will-change: transform,filter;
}

.contact-submit {
    transition: background-color .2s ease,border-color .2s ease,color .2s ease;
}

@media (hover:hover) and (pointer:fine) {
    .page-contact .contact-register-card:hover::after {
        transform: rotate(9deg);
        filter: drop-shadow(0 7px 7px rgba(0,0,0,.24));
    }

    .page-contact .contact-submit:hover,
    .page-contact .contact-submit:focus-visible {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
        filter: none;
    }
}

@media (max-width:900px) {
    .page-contact .contact-register-card::after {
        width: 58px;
        height: 59px;
    }
}

/* Sponsors page hover interactions */

@media (hover: hover) and (pointer: fine) {
    .page-sponsors .sponsors-page-hero-actions .btn:first-child {
        transition: background-color .22s ease, border-color .22s ease, color .22s ease;
    }

    .page-sponsors .sponsors-page-hero-actions .btn:first-child:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
    }

    .page-sponsors .sponsors-page-hero-actions .btn:last-child {
        transition: background-color .22s ease, border-color .22s ease, color .22s ease;
    }

    .page-sponsors .sponsors-page-hero-actions .btn:last-child:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
    }

    .page-sponsors .sponsor-logo-card {
        transition: transform .24s ease;
        transform-origin: center center;
    }

    .page-sponsors .sponsor-logo-card:hover {
        transform: scale(1.006);
    }

    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button:hover {
        background: var(--gold);
        border-color: var(--gold);
        color: var(--green);
    }

    .page-sponsors .sponsorship-tier:not(.is-featured) .sponsorship-benefits-button:hover {
        background: var(--green);
        border-color: var(--green);
        color: var(--cream);
    }
}

/* =========================================================
   SPONSORS PAGE - MEDIA KIT + FINAL CTA CORNER
   ========================================================= 
*/

.page-sponsors .sponsors-media-kit {
    border: 1px solid transparent;
    transition: background-color .2s ease,border-color .2s ease,color .2s ease;
}

.page-sponsors .sponsors-final-cta {
    position: relative;
    background: var(--green);
    overflow: visible;
}

.page-sponsors .sponsors-final-cta-inner {
    position: relative;
    z-index: 1;
    background: var(--green);
    clip-path: none;
}

.page-sponsors .sponsors-final-cta::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    width: 5.625cqw;
    height: 5.6944cqw;
    background: url("../images/about/room-corner.png") center/100% 100% no-repeat;
    transform-origin: 100% 0;
    transition: transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;
    pointer-events: none;
    will-change: transform,filter;
}

@media (hover:hover) and (pointer:fine) {
    .page-sponsors .sponsors-media-kit:hover,
    .page-sponsors .sponsors-media-kit:focus-visible {
        background: var(--green);
        border-color: var(--green);
        color: var(--gold);
        filter: none;
    }

    .page-sponsors .sponsors-final-cta:hover::after {
        transform: rotate(9deg);
        filter: drop-shadow(0 7px 7px rgba(0,0,0,.24));
    }
}

@media (max-width:900px) {
    .page-sponsors .sponsors-final-cta::after {
        width: 58px;
        height: 59px;
    }
}

/* =========================================================
   GLOBAL SCROLL TO TOP
   ========================================================= 
*/

.scroll-to-top {
    position: fixed;
    right: 32px;
    bottom: 32px;
    z-index: 1200;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--gold);
    color: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(.94);
    box-shadow: 0 7px 18px rgba(0,0,0,.14);
    transition: opacity .22s ease,visibility .22s ease,transform .22s ease,box-shadow .22s ease;
}

.scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.scroll-to-top svg {
    width: 20px;
    height: 20px;
    display: block;
}

.scroll-to-top path {
    stroke: currentColor;
}

.scroll-to-top:focus-visible {
    outline: 2px solid var(--green);
    outline-offset: 3px;
}

@media (hover:hover) and (pointer:fine) {
    .scroll-to-top:hover {
        transform: translateY(-3px) scale(1.04);
        box-shadow: 0 10px 22px rgba(0,0,0,.2);
    }
}

@media (max-width:700px) {
    .scroll-to-top {
        right: 18px;
        bottom: 18px;
        width: 46px;
        height: 46px;
    }

    .scroll-to-top svg {
        width: 18px;
        height: 18px;
    }
}

/* =========================================================
   GLOBAL MOBILE NAVIGATION - COMPACT TOP SHEET
   ========================================================= 
*/

@media (max-width:768px) {
    .site-header {
        height: 70px;
        overflow: visible;
    }

    .header-stage {
        height: 70px;
    }

    .brand {
        left: 18px;
        top: 7px;
        width: 138px;
        height: 56px;
    }

    .header-register {
        right: 70px;
        top: 15px;
        height: 40px;
    }

    .nav-toggle {
        display: flex;
        right: 16px;
        top: 14px;
        width: 42px;
        height: 42px;
        padding: 0;
        gap: 5px;
        border: 1px solid rgba(239,227,203,.24);
        border-radius: 50%;
        background: rgba(3,64,52,.58);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 5px 18px rgba(0,0,0,.12);
        transition: background-color .22s ease,border-color .22s ease,transform .22s ease;
    }

    .nav-toggle span {
        width: 19px;
        height: 1.5px;
        border-radius: 999px;
        background: var(--cream);
        transform-origin: center;
        transition: transform .24s ease,opacity .18s ease,background-color .22s ease;
    }

    .nav-toggle[aria-expanded="true"] {
        background: var(--gold);
        border-color: var(--gold);
        transform: rotate(2deg);
    }

    .nav-toggle[aria-expanded="true"] span {
        background: var(--green);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6.5px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
        transform: scaleX(.2);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-6.5px) rotate(-45deg);
    }

    body.nav-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 98;
        background: rgba(1,35,30,.54);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
    }

    .primary-nav {
        position: fixed;
        z-index: 100;
        top: 62px;
        left: 14px;
        right: 14px;
        bottom: auto;
        width: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 4px;
        padding: 12px;
        border: 1px solid rgba(184,146,79,.34);
        border-radius: 16px;
        background: rgba(3,64,52,.965);
        box-shadow: 0 24px 60px rgba(0,0,0,.28);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        font-size: 18px;
        line-height: 1.2;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px) scale(.985);
        transform-origin: top center;
        transition: opacity .2s ease,visibility .2s ease,transform .24s cubic-bezier(.22,.61,.36,1);
    }

    .primary-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
    }

    .primary-nav a {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 0 16px;
        border-radius: 10px;
        color: var(--cream);
        font-weight: 600;
        letter-spacing: .15px;
        transition: background-color .18s ease,color .18s ease,padding-left .18s ease;
    }

    .primary-nav a::after {
        content: "";
        position: absolute;
        right: 16px;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--gold);
        opacity: 0;
        transform: scale(.5);
        transition: opacity .18s ease,transform .18s ease;
    }

    .primary-nav a.is-active {
        color: var(--gold);
        background: rgba(184,146,79,.11);
        padding-left: 20px;
    }

    .primary-nav a.is-active::after {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width:500px) {
    .site-header,
    .header-stage {
        height: 66px;
    }

    .brand {
        left: 16px;
        top: 7px;
        width: 126px;
        height: 52px;
    }

    .nav-toggle {
        top: 12px;
        right: 14px;
        width: 42px;
        height: 42px;
    }

    .primary-nav {
        top: 58px;
        left: 10px;
        right: 10px;
        padding: 10px;
        border-radius: 14px;
    }

    .primary-nav a {
        min-height: 46px;
        padding-inline: 14px;
        font-size: 17px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .nav-toggle,
    .nav-toggle span,
    .primary-nav,
    .primary-nav a,
    .primary-nav a::after {
        transition: none !important;
    }
}

/* Mobile navigation correction: keep the backdrop behind the header/menu. */

@media (max-width:768px) {
    body.nav-open::before {
        z-index: 40;
        background: rgba(1,35,30,.28);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .site-header {
        z-index: 50;
    }

    .primary-nav {
        top: 60px;
        left: 10px;
        right: 10px;
        padding: 10px;
        border: 1px solid rgba(184,146,79,.28);
        border-radius: 14px;
        background: #064C3F;
        box-shadow: 0 18px 45px rgba(0,0,0,.24);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .primary-nav a {
        min-height: 45px;
        padding: 0 14px;
        border-radius: 8px;
        background: transparent;
    }

    .primary-nav a.is-active {
        background: rgba(184,146,79,.10);
    }
}

@media (max-width:500px) {
    .primary-nav {
        top: 56px;
        left: 8px;
        right: 8px;
        padding: 9px;
    }
}


/* =========================================================
   HOME HERO REFINEMENTS - SEPT 2026
   ========================================================= */

.hero-title .type-line {
    display: block;
    min-height: 1.86em;
    white-space: pre-line;
}

.hero-title .type-line + .type-line {
    margin-top: 0;
}

.hero-title .type-line.gold {
    color: var(--gold);
}

.hero-title .type-line.is-typing::after {
    content: "";
    display: inline-block;
    width: .09em;
    height: .92em;
    margin-left: .08em;
    vertical-align: -.04em;
    background: currentColor;
    animation: heroCaret .65s steps(1,end) infinite;
}

@keyframes heroCaret {
    0%,49% { opacity: 1; }
    50%,100% { opacity: 0; }
}

.hero-media {
    overflow: hidden;
    background: url('../images/hero/hero-photo.png') center center / cover no-repeat;
    -webkit-mask-image: url('../images/hero/hero-shape-mask2.webp');
    mask-image: url('../images/hero/hero-shape-mask2.webp');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    pointer-events: none;
}

.hero-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

@media (min-width:769px) {
    .page-home .site-header {
        background: transparent;
        overflow: visible;
    }

    .page-home .header-stage {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: clamp(18px,1.8vw,34px);
        padding-inline: clamp(56px,5.9vw,113px) clamp(56px,4.2vw,82px);
    }

    .page-home .brand,
    .page-home .primary-nav,
    .page-home .header-register {
        position: relative;
        left: auto;
        top: auto;
        height: auto;
    }

    .page-home .brand {
        width: clamp(189px,13.25vw,254px);
        overflow: visible;
    }

    .page-home .brand img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .page-home .primary-nav {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: clamp(18px,1.85vw,35px);
        font-size: clamp(13px,.95vw,18px);
        line-height: 1;
        text-align: center;
    }

    .page-home .header-register {
        justify-self: end;
        width: auto;
        min-width: clamp(108px,8.05vw,154px);
        height: clamp(34px,2.42vw,46px);
        padding: 0 clamp(14px,1.08vw,22px);
        font-size: clamp(10px,.72vw,14px);
        line-height: 1;
        letter-spacing: .16em;
    }

    .page-home .hero-stage {
        overflow: visible;
    }

    .page-home .hero-media {
        z-index: 2;
        left: auto;
        right: 0;
        top: 1.1%;
        width: 71.05%;
        height: 103.6%;
        max-width: none;
    }

    .page-home .hero-title {
        z-index: 5;
    }

    .page-home .hero-lower-copy {
        top: 59.8%;
        height: auto;
    }

    .page-home .hero-lower-copy p {
        height: auto;
    }

    .page-home .hero-actions {
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: 1.25cqw;
    }

    .page-home .countdown {
        left: auto;
        right: 4.35%;
        top: 52.8%;
        width: 35.15%;
        height: auto;
        padding: 1.18cqw 1.45cqw 1.08cqw;
        border-left-width: .18cqw;
    }

    .page-home .countdown-units {
        width: 100%;
        height: auto;
        margin-top: .78cqw;
        gap: .75cqw;
    }

    .page-home .countdown-units > div {
        width: auto;
        flex: 1 1 0;
    }

    .page-home .countdown-rule {
        width: 100%;
        margin-top: .8cqw;
    }

    .page-home .countdown-date {
        margin-top: .8cqw;
        font-size: 1.1cqw;
        line-height: 1.45cqw;
        letter-spacing: .11cqw;
        font-weight: 900;
    }
}

@media (max-width:768px) {
    .hero-media {
        opacity: .52;
        background-position: center center;
    }

    .hero-video {
        object-fit: cover;
        object-position: center center;
    }
}


/* =========================================================
   HOME CONTENT REFINEMENTS - SEPT 2026
   ========================================================= */

.page-home .about-photo {
    transform: scale(1.018);
    transform-origin: 50% 55%;
    will-change: transform;
}

.page-home .about-ribbon {
    transform-origin: 28% 55%;
    will-change: transform;
}

.page-home .about-visual.is-visible .about-ribbon {
    animation: aboutRibbonWiggle 1.05s cubic-bezier(.36,.07,.19,.97) both;
}

.page-home .about-visual.is-visible .about-photo {
    animation: aboutPhotoLift 1.05s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes aboutRibbonWiggle {
    0% { transform: rotate(0deg) translate3d(0,0,0); }
    18% { transform: rotate(-3.2deg) translate3d(-.18cqw,.05cqw,0); }
    34% { transform: rotate(2.7deg) translate3d(.16cqw,-.04cqw,0); }
    50% { transform: rotate(-2deg) translate3d(-.11cqw,.03cqw,0); }
    66% { transform: rotate(1.25deg) translate3d(.08cqw,-.02cqw,0); }
    82% { transform: rotate(-.6deg) translate3d(-.03cqw,0,0); }
    100% { transform: rotate(0deg) translate3d(0,0,0); }
}

@keyframes aboutPhotoLift {
    0% { transform: scale(1.018); }
    45% { transform: scale(1.035); }
    100% { transform: scale(1.018); }
}

.page-home .matter-card h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .page-home .about-visual.is-visible .about-ribbon,
    .page-home .about-visual.is-visible .about-photo {
        animation: none;
    }
}


/* =========================================================
   HOME CONTENT REFINEMENTS V5 - SEPT 2026
   ========================================================= */

/* Stronger visible ribbon wiggle plus a slightly stronger photo lift. */
.page-home .about-visual.is-visible .about-ribbon {
    animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36,.07,.19,.97) both;
}

.page-home .about-visual.is-visible .about-photo {
    animation: aboutPhotoLiftStrong 1.45s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes aboutRibbonWiggleStrong {
    0%   { transform: rotate(0deg) translate3d(0,0,0) scale(1); }
    12%  { transform: rotate(-7deg) translate3d(-.38cqw,.12cqw,0) scale(1.025); }
    25%  { transform: rotate(6deg) translate3d(.34cqw,-.1cqw,0) scale(1.035); }
    38%  { transform: rotate(-5deg) translate3d(-.28cqw,.08cqw,0) scale(1.03); }
    51%  { transform: rotate(4deg) translate3d(.22cqw,-.06cqw,0) scale(1.025); }
    64%  { transform: rotate(-3deg) translate3d(-.16cqw,.04cqw,0) scale(1.018); }
    77%  { transform: rotate(2deg) translate3d(.1cqw,-.025cqw,0) scale(1.012); }
    89%  { transform: rotate(-1deg) translate3d(-.04cqw,0,0) scale(1.006); }
    100% { transform: rotate(0deg) translate3d(0,0,0) scale(1); }
}

@keyframes aboutPhotoLiftStrong {
    0%   { transform: scale(1.018); }
    22%  { transform: scale(1.045); }
    48%  { transform: scale(1.055); }
    72%  { transform: scale(1.04); }
    100% { transform: scale(1.018); }
}

@media (min-width:769px) {
    /* Keep the countdown's visual left/right spacing truly balanced. */
    .page-home .countdown {
        padding-left: 1.45cqw;
        padding-right: 1.45cqw;
        opacity: 0.9 !important;
    }

    .page-home .countdown-units > div:nth-child(1) {
        align-items: flex-start;
        text-align: left;
    }

    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3) {
        align-items: center;
        text-align: center;
    }

    .page-home .countdown-units > div:nth-child(4) {
        align-items: flex-end;
        text-align: right;
    }

    /* Align the right-side speaker copy with the top of the headline, not its baseline. */
    .page-home .speakers-heading {
        align-items: flex-start;
    }

    .page-home .speakers-heading > p {
        margin: 2.375cqw 0 0;
        height: auto;
    }
}

/* Infinite sponsor carousel, moving continuously from right to left. */
.page-home .sponsor-carousel {
    width: 92.7778cqw;
    height: 7.5cqw;
    margin-inline: auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.page-home .sponsor-track {
    display: flex;
    width: max-content;
    height: 100%;
    will-change: transform;
    animation: sponsorMarquee 24s linear infinite;
}

.page-home .sponsor-group {
    display: flex;
    flex: 0 0 auto;
    gap: 1.6667cqw;
    padding-right: 1.6667cqw;
}

.page-home .sponsor-box {
    flex: 0 0 17.2222cqw;
}

@keyframes sponsorMarquee {
    from { transform: translate3d(0,0,0); }
    to   { transform: translate3d(-50%,0,0); }
}

@media (max-width:768px) {
    .page-home .speakers-heading > p br {
        display: none;
    }

    .page-home .sponsor-carousel {
        width: calc(100% - 44px);
        height: 88px;
    }

    .page-home .sponsor-group {
        gap: 14px;
        padding-right: 14px;
    }

    .page-home .sponsor-box {
        flex-basis: 190px;
        width: 190px;
        height: 88px;
    }

    .page-home .sponsor-track {
        animation-duration: 20s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .about-visual.is-visible .about-ribbon,
    .page-home .about-visual.is-visible .about-photo,
    .page-home .sponsor-track {
        animation: none;
    }
}

/* =========================================================
   ABOUT HERO REFINEMENTS V7 FIXED - SEPT 2026
   ========================================================= */

/* Match the Sponsors hero title sizing exactly. */
.page-about .about-hero-heading h1 {
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 4.4444cqw;
    line-height: 4.8611cqw;
    font-weight: 900;
    letter-spacing: -.2431cqw;
    color: var(--cream);
}

.page-about .about-title-line {
    display: block;
    color: var(--cream);
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translate3d(0,.34em,0) scale(.97);
    transform-origin: left center;
    will-change: opacity, transform, clip-path, filter;
}

.page-about .about-title-line.is-revealed {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0);
}

.page-about .about-title-line.about-title-line-gold {
    color: var(--gold);
}

@media (min-width:769px) {
    /* Original hero is 706px tall at 1440px. This reduces it to about 530px. */
    .page-about .about-hero-stage {
        width: min(100%,1920px);
        height: 36.8056cqw;
        aspect-ratio: auto;
        margin-inline: auto;
        overflow: hidden;
    }

    /* Anchor artwork to the right and preserve its bottom edge, cropping from the top. */
    .page-about .about-hero-photo {
        left: auto;
        right: 0;
        top: -6.6cqw;
        width: 51.9444cqw;
        height: 42.6389cqw;
        max-width: none;
        object-fit: fill;
    }

    
    .page-about .about-hero-copy {
        left: 6.8056cqw;
        top: 9.55cqw;
        width: 39.0278cqw;
        height: auto;
        gap: 1.75cqw;
    }

    .page-about .about-hero-heading {
        width: 39.0278cqw;
        height: auto;
        gap: 1.1111cqw;
    }

    .page-about .about-hero-lower {
        width: 28.3333cqw;
        height: auto;
        gap: 0;
    }
}

@media (max-width:768px) {
    .page-about .about-hero-stage {
        min-height: 600px;
        padding: 105px 24px 38px;
    }

    .page-about .about-hero-copy {
        gap: 28px;
    }

    .page-about .about-hero-heading h1 {
        font-size: 58px;
        line-height: 58px;
        letter-spacing: -3px;
    }

    .page-about .about-hero-photo {
        left: auto;
        right: -330px;
        top: 48px;
    }

    .page-about .about-hero-lower {
        gap: 0;
    }
}

@media (max-width:500px) {
    .page-about .about-hero-stage {
        min-height: 560px;
        padding-top: 102px;
        padding-bottom: 32px;
    }

    .page-about .about-hero-heading h1 {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }

    .page-about .about-hero-photo {
        right: -405px;
        top: 42px;
    }
}


/* =========================================================
   ABOUT HERO SPACING V9
   ========================================================= */

.page-about .about-title-line,
.page-about .about-title-line.is-revealed {
    opacity: 1;
    clip-path: none;
    transform: none;
    filter: none;
    will-change: auto;
}


@media (min-width:769px) {
    /* Raise the image slightly while moving the text block lower. */
    .page-about .about-hero-photo {
        top: -7.8cqw;
    }

    .page-about .about-hero-copy {
        top: 10.7cqw;
    }

    }

/* =========================================================
   ABOUT HERO PHOTO BOTTOM ALIGNMENT V11
   Keep the existing top crop, but extend the image to the
   bottom edge of the hero so it touches the gold sector bar.
   ========================================================= */

@media (min-width:769px) {
    /*
     * IMPORTANT: the stage itself must not use cqw for its height.
     * On screens wider than the 1920px stage cap, cqw can resolve
     * against a wider ancestor and create green space below the image.
     *
     * 1440 / 530 keeps the requested squeezed hero proportion:
     * 530px high at 1440px, 706.67px high at the 1920px cap.
     */
    .page-about .about-hero-stage {
        height: auto;
        aspect-ratio: 1440 / 530;
    }

    /*
     * Keep the photo at its intended proportion/visual width and pin
     * its bottom edge to the hero bottom. The hero clips any excess
     * image at the top/right instead of scaling the photo larger.
     */
    .page-about .about-hero-photo {
        left: auto;
        right: 0;
        top: auto;
        bottom: 0;
        width: 51.9444%;
        height: auto;
        max-width: none;
        object-fit: initial;
    }
}


/* =========================================================
   ABOUT "WE UNITE" SCROLL REVEAL
   Initial state: heading + rules only.
   Rows reveal once as the section enters the viewport.
   ========================================================= */

.page-about .about-unites li > .about-unite-text {
    display: block;
    opacity: 0;
    transform: translateX(-.55cqw);
    clip-path: inset(0 100% 0 0);
    transition:
        opacity .14s ease-out,
        transform .20s cubic-bezier(.22,.76,.2,1),
        clip-path .22s cubic-bezier(.22,.76,.2,1);
    will-change: opacity, transform, clip-path;
}

.page-about .about-unites li::before {
    opacity: 0;
    transform: translateY(-56%) scale(.35);
    transform-origin: center;
    transition:
        opacity .12s ease-out,
        transform .20s cubic-bezier(.22,.76,.2,1);
}

.page-about .about-unites li.is-revealed > .about-unite-text {
    opacity: 1;
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
}

.page-about .about-unites li.is-revealed::before {
    opacity: 1;
    transform: translateY(-56%) scale(1);
}

@media (max-width:768px) {
    .page-about .about-unites li > .about-unite-text {
        transform: translateX(-8px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-about .about-unites li > .about-unite-text,
    .page-about .about-unites li::before {
        transition: none;
    }
}


/* =========================================================
   ABOUT ADVISORY HEADING ALIGNMENT V21
   ========================================================= */

@media (min-width:769px) {
    .page-about .about-advisory-heading {
        align-items: flex-start;
    }

    .page-about .about-advisory-heading > p {
        margin-top: 2.3611cqw;
    }
}


/* =========================================================
   AGENDA HERO + SCROLL THERMOMETER V22
   ========================================================= */

/* Match the Sponsors hero title sizing on desktop. */
.page-agenda .agenda-hero-copy h1 {
    font-size: 4.4444cqw;
    line-height: 4.8611cqw;
    letter-spacing: -.2431cqw;
}

/*
 * The muted vertical rule remains underneath.
 * This gold rule grows downward as the user scrolls,
 * and shrinks again when scrolling back up.
 */
.page-agenda .agenda-timeline {
    --agenda-line-fill: 0;
}

.page-agenda .agenda-timeline::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 9.9306cqw;
    top: 0;
    bottom: 0;
    width: .0694cqw;
    background: var(--gold);
    transform: scaleY(var(--agenda-line-fill));
    transform-origin: top center;
    will-change: transform;
    pointer-events: none;
}

@media (max-width:768px) {
    .page-agenda .agenda-timeline::after {
        display: none;
    }
}

/* Match Sponsors hero title sizing at the smaller mobile breakpoint too. */
@media (max-width:650px) {
    .page-agenda .agenda-hero-copy h1 {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }
}


/* =========================================================
   SPEAKERS HERO REFINEMENTS V24
   ========================================================= */

/* Match the Sponsors hero title typography. */
.page-speakers .speakers-page-hero-copy h1 {
    font-size: 4.4444cqw;
    line-height: 4.8611cqw;
    letter-spacing: -.2431cqw;
}

/* Slightly squeeze the desktop hero vertically. */
@media (min-width:981px) {
    .page-speakers .speakers-page-hero {
        position: relative;
        z-index: 4;
        overflow: visible;
    }

    .page-speakers .speakers-page-hero-stage {
        aspect-ratio: 1440 / 570;
        overflow: visible;
    }

    /*
     * Put the masked hero artwork above the shared header and above
     * the following cream section. This lets its sharp transparent
     * angles visibly cross both boundaries.
     */
    .page-speakers .speakers-page-hero-art {
        z-index: 55;
    }

    .page-speakers .speakers-page-hero-copy,
    .page-speakers .speakers-page-hero-detail {
        z-index: 60;
    }

    .page-speakers .speakers-roster-section {
        position: relative;
        z-index: 1;
    }
}

/* Keep the Speakers mobile title consistent with Sponsors as well. */
@media (max-width:900px) {
    .page-speakers .speakers-page-hero-copy h1 {
        font-size: 58px;
        line-height: 58px;
        letter-spacing: -3px;
    }
}

@media (max-width:650px) {
    .page-speakers .speakers-page-hero-copy h1 {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }
}


/* =========================================================
   SPEAKERS HERO OVERLAP + RIGHT ALIGNMENT V25
   ========================================================= */

@media (min-width:981px) {
    /*
     * Do not trap the hero artwork underneath the header in the
     * section's stacking context. The stage itself is transparent
     * and sits above the header, so only the actual sharp artwork
     * covers the menu where the image is visible.
     */
    .page-speakers .speakers-page-hero {
        z-index: auto;
        overflow: visible;
    }

    .page-speakers .speakers-page-hero-stage {
        z-index: 51;
        background: transparent;
        overflow: visible;
        pointer-events: none;
    }

    /*
     * Hard-anchor the artwork to the stage's right edge.
     * The stage fills the viewport through 1920px, then caps at
     * 1920px and centers, leaving green space outside it.
     */
    .page-speakers .speakers-page-hero-art {
        left: auto;
        right: 0;
        top: 0;
        width: 55.4167cqw;
        height: 43.6111cqw;
        max-width: none;
        z-index: 55;
        pointer-events: none;
    }

    .page-speakers .speakers-page-hero-copy,
    .page-speakers .speakers-page-hero-detail {
        z-index: 60;
        pointer-events: none;
    }
}


/* =========================================================
   SPEAKERS HEADER LAYER + ROSTER CENTERING V26
   ========================================================= */

@media (min-width:981px) {
    /*
     * The hero artwork still crosses into the header area, but the
     * actual header content is above it. The transparent header lets
     * the sharp artwork remain visible behind the navigation.
     */
    .page-speakers .site-header {
        z-index: 70;
        background: transparent;
        overflow: visible;
    }

    .page-speakers .header-stage {
        z-index: 71;
    }

    .page-speakers .brand,
    .page-speakers .primary-nav,
    .page-speakers .header-register {
        z-index: 72;
    }

    /*
     * Center the complete roster layout explicitly instead of relying
     * on the stage padding + cqw width combination.
     */
    .page-speakers .speakers-roster-stage {
        width: min(100%, 1440px);
        padding-left: 0;
        padding-right: 0;
        margin-inline: auto;
    }

    .page-speakers .speakers-roster-heading,
    .page-speakers .speakers-page-grid,
    .page-speakers .speakers-inquiry-card {
        width: 86.3889%;
        margin-left: auto;
        margin-right: auto;
    }

    .page-speakers .speakers-page-grid {
        grid-template-columns: repeat(4, 22.5884%);
        column-gap: 3.2154%;
    }
}


/* =========================================================
   SPEAKERS ROSTER COPY ALIGNMENT + INQUIRY BUTTON V27
   ========================================================= */

@media (min-width:901px) {
    .page-speakers .speakers-roster-heading {
        align-items: flex-start;
    }

    /*
     * 1.25cqw kicker line-height + 1.1111cqw gap.
     * This aligns the paragraph top with "On Stage in Texas."
     */
    .page-speakers .speakers-roster-heading > p {
        margin-top: 2.3611cqw;
        margin-bottom: 0;
    }
}

@media (hover:hover) and (pointer:fine) {
    .page-speakers .speakers-inquiry-button:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
        filter: none;
        transform: none;
    }
}


/* =========================================================
   SPONSORS PAGE REFINEMENTS V28
   ========================================================= */

@media (min-width:901px) {
    /* Slightly shorter top hero, cropping the artwork rather than scaling it. */
    .page-sponsors .sponsors-page-hero-stage {
        height: 720px;
    }

    /* Tight stacked title: Leadership. / Capital. / Opportunity. */
    .page-sponsors .sponsors-why-heading h2 {
        line-height: 1;
    }

    .page-sponsors .sponsors-why-stage {
        /*
         * Use percentages of the fixed 1440px stage content box here.
         * Do NOT use cqw on the container itself: above 1440px those
         * units resolve against an ancestor and collapse the copy column.
         */
        grid-template-columns: 36.1736% minmax(0, 1fr);
        column-gap: 7.2347%;
    }

    /*
     * Align the first paragraph with the top of "Leadership."
     * The copy also ends on the same right edge as the sponsorship
     * opportunity cards below: 1440px stage minus the 98px right inset.
     */
    .page-sponsors .sponsors-why-copy {
        padding-top: 2.7083cqw;
        width: auto;
        min-width: 0;
        max-width: none;
    }
}


/* =========================================================
   HOME HERO FINAL RESTORE + ALIGNMENT V31
   Homepage only.
   ========================================================= */

@media (min-width:769px) {
    /* Restore the original homepage/Figma hero title size. */
    .page-home .hero-title {
        font-size: 5.9722cqw;
        line-height: 5.5556cqw;
        letter-spacing: -.2778cqw;
    }

    /*
     * The hero stage caps at 1920px, while the site shell caps at 2700px.
     * Keep the video attached to the shell's RIGHT edge all the way to
     * 2700px. Above 2700px it stops moving and the outer green area grows.
     */
    .page-home .hero-media {
        left: auto;
        right: clamp(-390px, calc((1920px - min(100vw, 2700px)) / 2), 0px);
    }

    /*
     * Give the countdown equal outer padding and divide the four timer
     * groups into four equal columns. Every number/label is left-aligned
     * to its own column so the spacing reads evenly.
     */
    .page-home .countdown {
        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    .page-home .countdown-units {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        padding-inline: .18cqw;
        justify-content: stretch;
        align-items: start;
    }

    .page-home .countdown-units > div,
    .page-home .countdown-units > div:nth-child(1),
    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3),
    .page-home .countdown-units > div:nth-child(4) {
        width: 100%;
        min-width: 0;
        flex: none;
        align-items: flex-start;
        text-align: left;
    }

    .page-home .countdown-units strong,
    .page-home .countdown-units span {
        width: auto;
        text-align: left;
    }
}


/* =========================================================
   HOME COUNTDOWN BOTTOM + INNER PADDING FIX V32
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown {
        /*
         * JS now controls bottom directly so the countdown bottom edge
         * matches the hero buttons exactly.
         */
        top: auto;

        /*
         * Keep the gold left accent visually, but remove it from the
         * box model so left/right inner spacing is truly identical.
         */
        border-left: 0;
        box-shadow: inset .18cqw 0 0 var(--gold);

        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    .page-home .countdown-units {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .page-home .countdown-rule,
    .page-home .countdown-date,
    .page-home .countdown-kicker {
        width: 100%;
    }
}


/* =========================================================
   HOME COUNTDOWN ALIGNMENT V33
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown {
        top: auto !important;
        bottom: 13.1183cqw !important;

        border-left: 0;
        box-shadow: inset .18cqw 0 0 var(--gold);

        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    .page-home .countdown-units {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
    }
}


/* =========================================================
   SPONSORS OPPORTUNITIES ALIGNMENT + MEDIA KIT V34
   Built from current V33 site. Homepage styles untouched.
   ========================================================= */

@media (min-width:901px) {
    /* Align the paragraph top exactly with the H2 top. */
    .page-sponsors .sponsors-opportunities-heading > p {
        margin-top: 2.7083cqw;
    }

    /* Larger, centered Media Kit CTA. */
    .page-sponsors .sponsors-media-kit {
        display: flex;
        width: max-content;
        min-width: 18.75cqw;
        height: 3.6111cqw;
        margin: 2.9167cqw auto 0;
        padding: 0 2.2222cqw;
        gap: .8333cqw;
        font-size: .8333cqw;
        line-height: 1;
        letter-spacing: .1563cqw;
    }

    .page-sponsors .sponsors-media-kit-icon {
        width: 1.1806cqw;
        height: 1.1806cqw;
        flex: 0 0 auto;
    }
}

@media (max-width:900px) and (min-width:651px) {
    .page-sponsors .sponsors-opportunities-heading > p {
        margin-top: 31px;
    }

    .page-sponsors .sponsors-media-kit {
        display: flex;
        width: max-content;
        min-width: 260px;
        height: 50px;
        margin: 34px auto 0;
        padding: 0 26px;
        gap: 12px;
        font-size: 10px;
        line-height: 1;
        letter-spacing: 1.7px;
    }

    .page-sponsors .sponsors-media-kit-icon {
        width: 17px;
        height: 17px;
        flex: 0 0 auto;
    }
}

@media (max-width:650px) {
    .page-sponsors .sponsors-media-kit {
        display: flex;
        width: min(100%, 300px);
        height: 50px;
        margin: 32px auto 0;
        padding: 0 22px;
        gap: 11px;
        font-size: 10px;
        line-height: 1;
        letter-spacing: 1.5px;
    }

    .page-sponsors .sponsors-media-kit-icon {
        width: 17px;
        height: 17px;
        flex: 0 0 auto;
    }
}


/* =========================================================
   SPONSORS FINAL CTA HOVER V35
   ========================================================= */

@media (hover:hover) and (pointer:fine) {
    .page-sponsors .sponsors-final-cta .btn-gold {
        transition: background-color .22s ease, border-color .22s ease, color .22s ease;
    }

    .page-sponsors .sponsors-final-cta .btn-gold:hover {
        background: transparent;
        border-color: var(--gold);
        color: var(--gold);
        filter: none;
    }
}


/* =========================================================
   CONTACT HERO TITLE V36
   Match Sponsors hero title sizing.
   ========================================================= */

@media (min-width:901px) {
    .page-contact .contact-intro h1 {
        font-size: 4.4444cqw;
        line-height: 4.8611cqw;
        letter-spacing: -.2431cqw;
    }
}

@media (max-width:900px) {
    .page-contact .contact-intro h1 {
        font-size: 58px;
        line-height: 58px;
        letter-spacing: -3px;
    }
}

@media (max-width:650px) {
    .page-contact .contact-intro h1 {
        font-size: 46px;
        line-height: 47px;
        letter-spacing: -2.5px;
    }
}


/* =========================================================
   CURRENT-SITE REFINEMENTS - V37
   Source: public_html(20260911-001700).zip
   ========================================================= */

/* ---------- Global desktop header logo ---------- */

@media (min-width:769px) {
    /*
     * Slightly larger logo, with equal top/bottom breathing room.
     * 13.5% x 80% matches the logo's natural aspect ratio closely.
     */
    body:not(.page-home) .site-header .brand {
        left: 5.9028%;
        top: 10%;
        width: 13.5%;
        height: 80%;
    }

    body:not(.page-home) .site-header .brand img {
        object-fit: contain;
    }

    /*
     * Homepage uses grid positioning rather than absolute positioning.
     * Increase it slightly and let align-self center it vertically.
     */
    .page-home .site-header .brand {
        width: clamp(194px,13.5vw,259px);
        height: auto;
        top: auto;
        align-self: center;
    }

    .page-home .site-header .brand img {
        object-fit: contain;
    }
}


/* ---------- Homepage ---------- */

@media (min-width:769px) {
    /* Requested line-height for the static 4-line hero title. */
    .page-home .hero-title {
        line-height: 1;
    }

    .page-home .hero-title .type-line {
        min-height: 0;
    }

    /*
     * Keep the ORIGINAL full-size hero media dimensions.
     * It remains at that size from 2400px upward.
     * Below 2400px, it scales DOWN proportionally from that same size.
     */
    .page-home .hero-media {
        width: min(62.16875vw,1492.05px);
        height: min(53.69875vw,1288.77px);

        /*
         * Keep its right edge attached to the site shell through 2700px.
         * Above the 2700px shell cap, the outside area remains green.
         */
        right: clamp(-390px, calc((1920px - min(100vw,2700px)) / 2), 0px);
    }
}


/* ---------- About hero image: move image INSIDE fixed frame ---------- */

@media (min-width:769px) {
    /*
     * Frame keeps the current hero geometry exactly where it is.
     * Only the image pixels inside it are manipulated.
     */
    .page-about .about-hero-photo-frame {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 0;
        width: 51.9444%;
        height: 42.6389cqw;
        overflow: hidden;
        pointer-events: none;
    }

    /*
     * Slight internal enlargement gives us crop room.
     * The small negative top value moves the image visual downward
     * inside the fixed frame without moving/resizing the frame itself.
     */
    .page-about .about-hero-photo-frame .about-hero-photo {
        position: absolute;
        z-index: 1;
        left: -3%;
        right: auto;
        top: -.25cqw;
        bottom: auto;
        width: 106%;
        height: auto;
        max-width: none;
        opacity: 1;
        object-fit: initial;
    }
}

@media (max-width:768px) {
    /*
     * Preserve the existing mobile About image rules.
     */
    .page-about .about-hero-photo-frame {
        display: contents;
    }
}


/* ---------- About "We Unite" reveal ---------- */

/*
 * Rows still appear sequentially based on the existing scroll logic,
 * but each text + bullet now appears WHOLE and instantly.
 * No fade, clip, slide, or typewriter-like reveal.
 */
.page-about .about-unites li > .about-unite-text {
    visibility: hidden;
    opacity: 0;
    transform: none;
    clip-path: none;
    transition: none;
    will-change: auto;
}

.page-about .about-unites li::before {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-56%) scale(1);
    transition: none;
}

.page-about .about-unites li.is-revealed > .about-unite-text {
    visibility: visible;
    opacity: 1;
    transform: none;
    clip-path: none;
}

.page-about .about-unites li.is-revealed::before {
    visibility: visible;
    opacity: 1;
    transform: translateY(-56%) scale(1);
}


/* ---------- Agenda ---------- */

@media (min-width:769px) {
    /*
     * Align "December 3 · 2026" with the top of
     * "Agenda - TRED 2026".
     */
    .page-agenda .agenda-event-meta {
        top: 13.4722cqw;
    }
}


/* ---------- Sponsors "Why Sponsor TRED" stripe ---------- */

@media (min-width:901px) {
    /*
     * Less empty green space above and below this content.
     * Keep height content-driven so the right copy can never overflow.
     */
    .page-sponsors .sponsors-why-stage {
        height: auto;
        min-height: 0;
        padding-top: 52px;
        padding-bottom: 48px;
    }
}

@media (max-width:900px) {
    .page-sponsors .sponsors-why-stage {
        padding-top: 52px;
        padding-bottom: 52px;
    }
}

@media (max-width:650px) {
    .page-sponsors .sponsors-why-stage {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}


/* ---------- Reduced motion ---------- */

/* =========================================================
   ABOUT / SPEAKERS / SPONSORS HERO COPY ALIGNMENT - V40
   Keep all three hero text blocks on the same global left grid line.
   ========================================================= */

@media (min-width:901px) {
    /*
     * About and Speakers both use a 1920px-capped stage.
     * Lock them explicitly to the same 6.8056% stage inset.
     */
    .page-about .about-hero-copy,
    .page-speakers .speakers-page-hero-copy {
        left: 6.8056cqw;
    }

    /*
     * Sponsors uses a narrower 1440px-capped stage, so its normal
     * 6.8056cqw inset drifts right once the viewport is wider than 1440px.
     *
     * The translation below compensates for that difference so the
     * Sponsors kicker, title, paragraph and buttons stay on the EXACT
     * same global left grid line as About and Speakers:
     *   - no shift at 1440px and below
     *   - progressively shifts left between 1440px and 1920px
     *   - fixed correction from 1920px upward
     */
    .page-sponsors .sponsors-page-hero-stage {
        overflow: visible;
    }

    .page-sponsors .sponsors-page-hero-copy {
        left: 6.8056cqw;
        transform: translateX(
            clamp(-207.333px, calc(622px - 43.1944vw), 0px)
        );
    }
}


/* =========================================================
   HERO GRID + SPONSORS IMAGE MATCH - V41
   ========================================================= */

@media (min-width:901px) {
    /*
     * Keep About / Speakers / Sponsors on one identical left grid line,
     * moved 5px to the right from the previous alignment.
     */
    .page-about .about-hero-copy,
    .page-speakers .speakers-page-hero-copy,
    .page-sponsors .sponsors-page-hero-copy {
        left: calc(6.8056cqw + 5px);
        transform: none;
    }

    /*
     * Sponsors now uses the same desktop hero stage dimensions as About.
     */
    .page-sponsors .sponsors-page-hero-stage {
        width: min(100%,1920px);
        height: auto;
        aspect-ratio: 1440 / 530;
        margin-inline: auto;
        overflow: hidden;
    }

    /*
     * Match the About hero image footprint:
     * same right edge, same bottom edge, same width and same visible frame ratio.
     */
    .page-sponsors .sponsors-page-hero-photo {
        left: auto;
        right: 0;
        top: auto;
        bottom: 0;
        width: 51.9444%;
        height: 42.6389cqw;
        max-width: none;
        object-fit: fill;
    }
}


/* =========================================================
   ABOUT / SPEAKERS / SPONSORS HERO TOP ALIGNMENT - V42
   ========================================================= */

@media (min-width:901px) {
    /*
     * Align the kicker/text block on all three heroes to the
     * exact same vertical position as "ABOUT TRED".
     */
    .page-about .about-hero-copy,
    .page-speakers .speakers-page-hero-copy,
    .page-sponsors .sponsors-page-hero-copy {
        top: 9.55cqw;
    }
}

@media (min-width:769px) {
    /*
     * Move ONLY the About hero image down inside its existing frame.
     * The frame dimensions/position remain untouched.
     */
    .page-about .about-hero-photo-frame .about-hero-photo {
        top: 8cqw;
    }
}


/* =========================================================
   ABOUT / SPEAKERS / SPONSORS HERO TITLE LINE HEIGHT - V43
   ========================================================= */

@media (min-width:901px) {
    .page-about .about-hero-copy h1,
    .page-speakers .speakers-page-hero-copy h1,
    .page-sponsors .sponsors-page-hero-copy h1 {
        line-height: .95;
    }
}


/* =========================================================
   SPONSORS HERO IMAGE FIT - V44
   Preserve the existing hero frame/container geometry.
   Only change how the image is rendered INSIDE that frame.
   ========================================================= */

@media (min-width:901px) {
    .page-sponsors .sponsors-page-hero-photo {
        object-fit: cover;
        object-position: 50% 50%;
    }
}


/* =========================================================
   ABOUT + SPONSORS HERO HEIGHT +60PX - V45
   Extend only the bottom of the desktop hero.
   Existing top positioning, text alignment, and image/frame styling stay intact.
   ========================================================= */

@media (min-width:901px) {
    .page-about .about-hero-stage,
    .page-sponsors .sponsors-page-hero-stage {
        height: calc(36.8056cqw + 60px);
        aspect-ratio: auto;
    }

    /* Freeze About and Sponsors at their exact 1920px-wide hero height. */
    .page-about .about-hero-stage,
    .page-sponsors .sponsors-page-hero-stage {
        max-height: 766.6667px;
    }
}


/* =========================================================
   HOMEPAGE COUNTDOWN EDGE SPACING - V46
   CSS only. Equal visual space on the far left and far right.
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown {
        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    .page-home .countdown-units {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .page-home .countdown-units > div:nth-child(1) {
        align-items: flex-start;
        text-align: left;
    }

    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3) {
        align-items: center;
        text-align: center;
    }

    .page-home .countdown-units > div:nth-child(4) {
        align-items: flex-end;
        text-align: right;
    }

    .page-home .countdown-units > div:nth-child(1) strong,
    .page-home .countdown-units > div:nth-child(1) span {
        text-align: left;
    }

    .page-home .countdown-units > div:nth-child(2) strong,
    .page-home .countdown-units > div:nth-child(2) span,
    .page-home .countdown-units > div:nth-child(3) strong,
    .page-home .countdown-units > div:nth-child(3) span {
        text-align: center;
    }

    .page-home .countdown-units > div:nth-child(4) strong,
    .page-home .countdown-units > div:nth-child(4) span {
        text-align: right;
    }
}


/* =========================================================
   HOMEPAGE COUNTDOWN EVEN NUMBER SPACING - V47
   CURRENT V46 CSS ONLY.
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown {
        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    /*
     * Four equal columns, all centered the same way.
     * This gives:
     * - equal spacing between 83 / 00 / 33 / 44
     * - equal visual space at the far left and far right
     */
    .page-home .countdown-units {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .page-home .countdown-units > div,
    .page-home .countdown-units > div:nth-child(1),
    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3),
    .page-home .countdown-units > div:nth-child(4) {
        width: 100%;
        min-width: 0;
        align-items: center;
        text-align: center;
    }

    .page-home .countdown-units strong,
    .page-home .countdown-units span,
    .page-home .countdown-units > div:nth-child(1) strong,
    .page-home .countdown-units > div:nth-child(1) span,
    .page-home .countdown-units > div:nth-child(2) strong,
    .page-home .countdown-units > div:nth-child(2) span,
    .page-home .countdown-units > div:nth-child(3) strong,
    .page-home .countdown-units > div:nth-child(3) span,
    .page-home .countdown-units > div:nth-child(4) strong,
    .page-home .countdown-units > div:nth-child(4) span {
        width: 100%;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }
}


/* =========================================================
   HOMEPAGE COUNTDOWN NUMBER LEFT-EDGE ALIGNMENT - V48
   Built from current v47 only.
   Keep equal-width columns, but align each number group to a
   consistent inner left edge so the 4 numbers sit on matching
   vertical guide lines.
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown {
        padding-left: 1.70cqw;
        padding-right: 1.70cqw;
    }

    .page-home .countdown-units {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .page-home .countdown-units > div,
    .page-home .countdown-units > div:nth-child(1),
    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3),
    .page-home .countdown-units > div:nth-child(4) {
        width: 100%;
        min-width: 0;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
        padding-left: 1.05cqw;
        padding-right: 0;
        box-sizing: border-box;
    }

    .page-home .countdown-units strong,
    .page-home .countdown-units span,
    .page-home .countdown-units > div:nth-child(1) strong,
    .page-home .countdown-units > div:nth-child(1) span,
    .page-home .countdown-units > div:nth-child(2) strong,
    .page-home .countdown-units > div:nth-child(2) span,
    .page-home .countdown-units > div:nth-child(3) strong,
    .page-home .countdown-units > div:nth-child(3) span,
    .page-home .countdown-units > div:nth-child(4) strong,
    .page-home .countdown-units > div:nth-child(4) span {
        width: auto;
        text-align: left;
        font-variant-numeric: tabular-nums;
    }
}


/* =========================================================
   HOMEPAGE COUNTDOWN FINAL GUIDE ALIGNMENT - V49
   CURRENT V48 CSS ONLY.
   The four number/label groups start on four equally-spaced
   vertical guides matching the user's marked screenshot.
   ========================================================= */

@media (min-width:769px) {
    .page-home .countdown-units {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0 !important;

        /* First guide at 10%, then equal 22.5% steps:
           10% / 32.5% / 55% / 77.5% */
        width: 90% !important;
        margin-left: 10% !important;
        margin-right: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .page-home .countdown-units > div,
    .page-home .countdown-units > div:nth-child(1),
    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3),
    .page-home .countdown-units > div:nth-child(4) {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .page-home .countdown-units strong,
    .page-home .countdown-units span,
    .page-home .countdown-units > div:nth-child(1) strong,
    .page-home .countdown-units > div:nth-child(1) span,
    .page-home .countdown-units > div:nth-child(2) strong,
    .page-home .countdown-units > div:nth-child(2) span,
    .page-home .countdown-units > div:nth-child(3) strong,
    .page-home .countdown-units > div:nth-child(3) span,
    .page-home .countdown-units > div:nth-child(4) strong,
    .page-home .countdown-units > div:nth-child(4) span {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        font-variant-numeric: tabular-nums;
    }
}


/* =========================================================
   DESKTOP NEWSLETTER SUBSCRIBE HOVER - V50
   ========================================================= */

@media (min-width:769px) and (hover:hover) and (pointer:fine) {
    .newsletter-form button {
        transition: background-color .22s ease, border-color .22s ease, color .22s ease;
    }

    .newsletter-form button:hover {
        background: transparent;
        border: 1px solid var(--gold);
        color: var(--gold);
    }
}


/* =========================================================
   MOBILE HEADER LOGO PROPORTIONS - V52
   Mobile only. Desktop CSS is intentionally untouched.
   Native logo aspect ratio: 972 / 368.
   ========================================================= */

@media (max-width:768px) {
    .site-header .brand,
    .page-home .site-header .brand {
        width: 138px;
        height: auto;
        aspect-ratio: 972 / 368;
        top: 50%;
        transform: translateY(-50%);
        overflow: visible;
    }

    .site-header .brand img,
    .page-home .site-header .brand img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }
}

@media (max-width:500px) {
    .site-header .brand,
    .page-home .site-header .brand {
        width: 126px;
        height: auto;
        aspect-ratio: 972 / 368;
        top: 50%;
        transform: translateY(-50%);
    }
}


/* =========================================================
   MOBILE HEADER LOGO WIDTH CORRECTION - V53
   Mobile only.
   Keep the existing mobile logo HEIGHT, and derive WIDTH from
   the PNG's real 972:368 ratio so it is not squeezed.
   Desktop rules are untouched.
   ========================================================= */

@media (max-width:768px) {
    .site-header .brand,
    .page-home .site-header .brand {
        left: 18px;
        top: 7px;
        width: 147.91px;
        height: 56px;
        aspect-ratio: auto;
        transform: none;
        overflow: visible;
    }

    .site-header .brand img,
    .page-home .site-header .brand img {
        display: block;
        width: 147.91px;
        height: 56px;
        max-width: none;
        object-fit: fill;
    }
}

@media (max-width:500px) {
    .site-header .brand,
    .page-home .site-header .brand {
        left: 16px;
        top: 7px;
        width: 137.35px;
        height: 52px;
        aspect-ratio: auto;
        transform: none;
    }

    .site-header .brand img,
    .page-home .site-header .brand img {
        width: 137.35px;
        height: 52px;
    }
}


/* =========================================================
   MOBILE TOP MENU - V54
   Match the supplied closed/open mobile header references.
   MOBILE ONLY. Desktop is intentionally untouched.
   ========================================================= */

@media (max-width:768px) {
    :root {
        --tred-mobile-header-h: clamp(77px, 22.3vw, 103px);
    }

    body.nav-open {
        overflow: hidden;
    }

    body.nav-open::before {
        display: none !important;
        content: none !important;
    }

    .site-header,
    .page-home .site-header {
        position: absolute;
        z-index: 500;
        height: var(--tred-mobile-header-h);
        background: var(--green);
        overflow: visible;
    }

    body.nav-open .site-header {
        position: fixed;
    }

    .header-stage,
    .page-home .header-stage {
        width: 100%;
        height: var(--tred-mobile-header-h);
    }

    /* Logo proportions/position from supplied mobile reference. */
    .site-header .brand,
    .page-home .site-header .brand {
        z-index: 503;
        left: clamp(24px, 7vw, 32px);
        top: 50%;
        width: clamp(100px, 29vw, 134px);
        height: auto;
        aspect-ratio: 972 / 368;
        transform: translateY(-50%);
        overflow: visible;
    }

    .site-header .brand img,
    .page-home .site-header .brand img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    /* Register button scales with the mobile header, matching both refs. */
    .site-header .header-register,
    .page-home .site-header .header-register {
        z-index: 503;
        left: auto;
        right: clamp(60px, 17.75vw, 82px);
        top: 50%;
        width: clamp(100px, 29vw, 134px);
        height: clamp(35px, 10vw, 46px);
        padding: 0;
        transform: translateY(-50%);
        font-size: clamp(8px, 2.15vw, 10px);
        line-height: 1;
        letter-spacing: clamp(1.4px, .43vw, 2px);
    }

    /* Hamburger: no circle/background, just the three cream strokes. */
    .site-header .nav-toggle,
    .page-home .site-header .nav-toggle {
        z-index: 504;
        display: flex;
        position: absolute;
        right: clamp(20px, 6.7vw, 31px);
        top: 50%;
        width: clamp(25px, 6.5vw, 30px);
        height: clamp(26px, 7vw, 32px);
        padding: 0;
        gap: clamp(5px, 1.3vw, 6px);
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: translateY(-50%);
    }

    .site-header .nav-toggle span,
    .page-home .site-header .nav-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        border-radius: 0;
        background: var(--cream);
        transform-origin: center;
    }

    /* Open state: simple cream X, exactly in the hamburger position. */
    .site-header .nav-toggle[aria-expanded="true"],
    .page-home .site-header .nav-toggle[aria-expanded="true"] {
        background: transparent;
        border: 0;
        box-shadow: none;
        transform: translateY(-50%);
    }

    .site-header .nav-toggle[aria-expanded="true"] span,
    .page-home .site-header .nav-toggle[aria-expanded="true"] span {
        background: var(--cream);
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
        transform: none;
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    /*
     * Open menu: full solid green sheet, no card, no blur, no rounded box.
     * Header remains visible above it.
     */
    .site-header .primary-nav,
    .page-home .site-header .primary-nav {
        position: fixed;
        z-index: 501;
        inset: 0;
        width: 100%;
        height: 100dvh;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
        padding: calc(var(--tred-mobile-header-h) + 6px) 20px 24px;
        border: 0;
        border-radius: 0;
        background: var(--green);
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        transition: opacity .16s ease, visibility .16s ease;
        font-size: 14px;
        line-height: 1.2;
    }

    .site-header .primary-nav.is-open,
    .page-home .site-header .primary-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .site-header .primary-nav a,
    .page-home .site-header .primary-nav a {
        position: relative;
        display: flex;
        align-items: center;
        width: auto;
        min-height: 42px;
        padding: 0;
        border-radius: 0;
        background: transparent;
        color: var(--cream);
        font-size: 14px;
        line-height: 1.2;
        font-weight: 400;
        letter-spacing: 0;
    }

    .site-header .primary-nav a::after,
    .page-home .site-header .primary-nav a::after {
        display: none;
        content: none;
    }

    .site-header .primary-nav a.is-active,
    .page-home .site-header .primary-nav a.is-active {
        padding: 0;
        background: transparent;
        color: var(--gold);
    }

    /* Mobile order shown in the supplied open-menu reference. */
    .site-header .primary-nav a:nth-child(1),
    .page-home .site-header .primary-nav a:nth-child(1) { order: 1; } /* Home */

    .site-header .primary-nav a:nth-child(2),
    .page-home .site-header .primary-nav a:nth-child(2) { order: 2; } /* About */

    .site-header .primary-nav a:nth-child(5),
    .page-home .site-header .primary-nav a:nth-child(5) { order: 3; } /* Agenda */

    .site-header .primary-nav a:nth-child(3),
    .page-home .site-header .primary-nav a:nth-child(3) { order: 4; } /* Speakers */

    .site-header .primary-nav a:nth-child(4),
    .page-home .site-header .primary-nav a:nth-child(4) { order: 5; } /* Sponsors */

    .site-header .primary-nav a:nth-child(6),
    .page-home .site-header .primary-nav a:nth-child(6) { order: 6; } /* Contact */
}

@media (max-width:500px) {
    .site-header .primary-nav,
    .page-home .site-header .primary-nav {
        padding-left: 20px;
        padding-right: 20px;
    }

    .site-header .primary-nav a,
    .page-home .site-header .primary-nav a {
        min-height: 42px;
        font-size: 14px;
    }
}

@media (max-width:768px) and (prefers-reduced-motion:reduce) {
    .site-header .primary-nav,
    .page-home .site-header .primary-nav {
        transition: none !important;
    }
}


/* =========================================================
   MOBILE HEADER FIGMA MATCH - V55
   Phone layout only. Desktop/tablet CSS is untouched.
   Reference proportions taken from the supplied 462px and
   344px Figma screenshots.
   ========================================================= */

@media (max-width:500px) {
    :root {
        --tred-mobile-header-h: 22.3vw;
    }

    .site-header,
    .page-home .site-header {
        height: var(--tred-mobile-header-h);
    }

    .header-stage,
    .page-home .header-stage {
        height: var(--tred-mobile-header-h);
    }

    /*
     * The PNG itself contains transparent padding.
     * These dimensions intentionally size the FULL PNG so the
     * VISIBLE logo lands at ~6.9vw from the left, matching the
     * hamburger's ~6.9vw right padding in the Figma reference.
     */
    .site-header .brand,
    .page-home .site-header .brand {
        left: 1.8vw;
        top: 3.6vw;
        width: 42.2vw;
        height: auto;
        aspect-ratio: 972 / 368;
        transform: none;
        overflow: visible;
    }

    .site-header .brand img,
    .page-home .site-header .brand img {
        display: block;
        width: 100%;
        height: auto !important;
        max-width: none;
        object-fit: contain !important;
    }

    /*
     * The old mobile CSS hides this under 500px.
     * Force it back on and use the exact Figma proportions.
     */
    .site-header .header-register,
    .page-home .site-header .header-register {
        display: flex !important;
        align-items: center;
        justify-content: center;
        left: auto;
        right: 18vw;
        top: 6.5vw;
        width: 28.35vw;
        height: 9.74vw;
        padding: 0;
        transform: none;
        font-size: 2.15vw;
        line-height: 1;
        letter-spacing: .43vw;
    }

    /*
     * Visible hamburger/X right edge = ~6.9vw from viewport edge,
     * matching the visible logo's left edge.
     */
    .site-header .nav-toggle,
    .page-home .site-header .nav-toggle {
        right: 6.9vw;
        top: 50%;
        width: 6.71vw;
        height: 6.06vw;
        padding: 0;
        gap: 0;
        justify-content: space-between;
        transform: translateY(-50%);
    }

    .site-header .nav-toggle span,
    .page-home .site-header .nav-toggle span {
        width: 100%;
        height: 2px;
        flex: 0 0 2px;
    }

    .site-header .nav-toggle[aria-expanded="true"],
    .page-home .site-header .nav-toggle[aria-expanded="true"] {
        transform: translateY(-50%);
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(calc((6.06vw - 2px) / 2)) rotate(45deg);
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3),
    .page-home .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(calc((2px - 6.06vw) / 2)) rotate(-45deg);
    }

    /* Keep the open sheet below the now correctly scaled header. */
    .site-header .primary-nav,
    .page-home .site-header .primary-nav {
        padding-top: calc(var(--tred-mobile-header-h) + 6px);
    }
}


/* =========================================================
   HOMEPAGE HERO TITLE + MEDIA/COUNTDOWN SCALE - V56
   Built from current v55 CSS only.
   Desktop only. Existing mobile header/menu rules untouched.
   ========================================================= */

@media (min-width:769px) {
    /* Requested three-line title:
       Build to Connect.
       Building
       Texas.
    */
    .page-home .hero-title {
        width: 42cqw;
        font-size: 5.6cqw;
        line-height: .85;
    }

    .page-home .hero-title .type-line {
        min-height: 0;
        line-height: .85;
    }

    .page-home .hero-title .type-line:first-child {
        white-space: nowrap;
    }

    /*
     * Downscale ONLY the visible video frame.
     * Top/right stay anchored, so the existing right-edge behavior is preserved.
     */
    .page-home .hero-media {
        transform: scale(.91);
        transform-origin: top right;
    }

    /*
     * Downscale the complete countdown proportionally.
     * Bottom/right are the transform origin, so scaling does NOT move
     * the visible bottom edge. It stays aligned with the Register button bottom.
     *
     * All current countdown number-guide spacing from v49 remains intact.
     */
    .page-home .countdown {
        transform: scale(.88);
        transform-origin: bottom right;
    }
}


/* =========================================================
   ABOUT HERO IMAGE PROPORTIONS - V57
   Match the current Sponsors hero image behavior on large screens.
   Frame/container geometry is NOT changed.
   ========================================================= */

@media (min-width:901px) {
    .page-about .about-hero-photo-frame .about-hero-photo {
        left: 0;
        right: auto;
        top: 0;
        bottom: auto;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: 50% 50%;
    }
}


/* =========================================================
   ABOUT HERO PHOTO FRAME / CROP - V66
   Existing image-frame geometry is preserved. Decorative-line
   positioning is defined separately in the clean rebuild below.
   ========================================================= */

@media (min-width: 769px) {
    .page-about .about-hero-photo-frame {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 0;
        width: 51.9444%;
        height: 42.6389cqw;
        overflow: visible;
        pointer-events: none;
    }

    .page-about .about-hero-photo-crop {
        position: absolute;
        z-index: 2;
        inset: 0;
        overflow: hidden;
    }

    .page-about .about-hero-photo-crop .about-hero-photo {
        position: absolute;
        z-index: 1;
        left: .35%;
        top: -.25cqw;
        width: 106%;
        height: auto;
        max-width: none;
        object-fit: initial;
    }
}

@media (max-width: 768px) {
    .page-about .about-hero-photo-frame,
    .page-about .about-hero-photo-crop {
        display: contents;
    }
}

/* =========================================================
   ABOUT HERO DECORATIVE LINES - FRAME-ANCHORED REBUILD
   The line group is a direct child of .about-hero-photo-frame.
   All horizontal geometry is relative to that image frame.
   ========================================================= */

.page-about .about-hero-lines {
    display: none;
}

@media (min-width: 769px) {
    .page-about .about-hero-lines {
        position: absolute;
        z-index: 1;
        left: -10.273%;
        right: auto;
        /*
         * Preserve the approved widescreen offset, but start it from the
         * ACTUAL visible top of the image frame. The JS below sets the
         * first term from the rendered frame, so no viewport/header top
         * coordinate is used for line placement.
         */
        top: calc(var(--about-lines-frame-visible-top, 0px) + 13.681%);
        width: 20.214%;
        height: 7.655%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        pointer-events: none;
    }

    .page-about .about-hero-lines span {
        display: block;
        height: 6.38%;
        min-height: 3px;
        flex: 0 0 6.38%;
        border-radius: 999px;
        background: var(--gold);
        opacity: 1;
        transform: scaleX(0);
        animation: aboutHeroFrameLineSweep .5s cubic-bezier(.22,1,.36,1) forwards;
        will-change: transform;
    }

    .page-about .about-hero-lines span:nth-child(1) {
        width: 97.51%;
        margin-left: 2.49%;
        transform-origin: left center;
        animation-delay: .10s;
    }

    .page-about .about-hero-lines span:nth-child(2) {
        width: 96.15%;
        margin-left: 1.13%;
        transform-origin: right center;
        animation-delay: .65s;
    }

    .page-about .about-hero-lines span:nth-child(3) {
        width: 94.96%;
        margin-left: 0;
        transform-origin: left center;
        animation-delay: 1.20s;
    }
}


@media (prefers-reduced-motion: reduce) {
    .page-about .about-hero-lines span {
        animation: none;
        transform: scaleX(1);
        will-change: auto;
    }
}

@keyframes aboutHeroFrameLineSweep {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}


/* =========================================================
   ABOUT + SPEAKERS LEFT HERO COPY VERTICAL CENTER - V67
   Center only the left text blocks inside their existing hero stages.
   Horizontal position, typography, widths and all artwork stay unchanged.
   ========================================================= */

@media (min-width: 901px) {
    .page-about .about-hero-copy,
    .page-speakers .speakers-page-hero-copy {
        top: 55%;
        transform: translateY(-50%);
    }
}

/* =========================================================
   FIGMA MOBILE FOOTER - V68
   Rebuild the shared footer at tablet/mobile sizes to match the
   approved two-column Figma composition without changing desktop.
   ========================================================= */

@media (max-width: 768px) {
    .site-footer {
        min-height: 0;
        height: auto;
    }

    .site-footer .footer-stage {
        width: 100%;
        height: auto;
        padding: 40px 7.43vw 64px;
    }

    .site-footer .footer-main {
        width: 100%;
        height: auto;
        margin: 0;
        display: grid;
        grid-template-columns: 34% minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        column-gap: 6.7%;
        row-gap: 0;
        align-items: start;
    }

    .site-footer .footer-brand {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        height: auto;
        gap: 3px;
        align-items: flex-start;
        align-self: start;
    }

    .site-footer .footer-brand img {
        width: min(100%, 136px);
        height: auto;
        object-fit: contain;
        object-position: left top;
    }

    .site-footer .footer-brand strong {
        width: 100%;
        height: auto;
        font-size: 9px;
        line-height: 12px;
        font-weight: 900;
        white-space: nowrap;
    }

    .site-footer .footer-legal {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        height: auto;
        margin: 0;
        font-size: 11px;
        line-height: 17px;
        font-weight: 400;
        text-align: justify;
        text-align-last: left;
    }

    .site-footer .footer-register {
        grid-column: 1;
        grid-row: 1;
        align-self: end;
        justify-self: start;
        width: 103px;
        height: 35px;
        margin: 0 0 3px;
        padding: 0;
        font-size: 9px;
        line-height: 12px;
        letter-spacing: 1.8px;
    }

    .site-footer .footer-divider {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        height: 1px;
        margin: 15px 0 0;
        background: rgba(187,167,142,.72);
    }

    .site-footer .footer-nav {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        height: auto;
        margin-top: 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;
    }

    .site-footer .footer-nav > div {
        display: contents;
    }

    .site-footer .footer-nav a {
        font-size: 11px;
        line-height: 14px;
        font-weight: 400;
        white-space: nowrap;
    }

    .site-footer .footer-bottom {
        width: 100%;
        height: auto;
        margin: 18px 0 0;
        display: grid;
        justify-items: center;
        justify-content: center;        
        gap: 8px;
        font-size: 11px;
        line-height: 15px;
    }

    .site-footer .footer-policy {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    .site-footer .footer-policy a + a::before {
        content: "·";
        display: inline-block;
        margin: 0 27px;
        text-decoration: none;
    }

    .site-footer .footer-bottom p {
        width: max-content;
        max-width: 100%;
        margin: 0 auto;
        justify-self: center;
        text-align: center;
        white-space: nowrap;
    }

    .scroll-to-top {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .site-footer .footer-stage {
        padding-left: 6.4vw;
        padding-right: 6.4vw;
    }

    .site-footer .footer-main {
        grid-template-columns: 35% minmax(0, 1fr);
        column-gap: 5.5%;
    }

    .site-footer .footer-brand img {
        width: min(100%, 126px);
    }

    .site-footer .footer-brand strong {
        font-size: 8px;
        line-height: 11px;
    }

    .site-footer .footer-legal,
    .site-footer .footer-nav a,
    .site-footer .footer-bottom {
        font-size: 10px;
    }

    .site-footer .footer-legal {
        line-height: 16px;
    }

    .site-footer .footer-register {
        width: 96px;
        height: 33px;
        font-size: 8px;
    }

    .site-footer .footer-policy a + a::before {
        margin: 0 18px;
    }

    .site-footer .footer-bottom p {
        width: 100%;
        white-space: normal;
    }
}

/* =========================================================
   MOBILE HOMEPAGE HERO - FIGMA MATCH V70
   Phone only. Desktop/tablet hero remains unchanged.
   ========================================================= */

@media (max-width:500px) {
    .page-home .hero-stage {
        min-height: 167vw;
        padding: calc(var(--tred-mobile-header-h) + 10.2vw) 6.2vw 16vw;
    }

    /*
     * Match the Figma crop/shape at phone width.  The video remains
     * inside the existing mask; only the masked frame is repositioned.
     */
    .page-home .hero-media {
        top: var(--tred-mobile-header-h);
        right: -110.2vw;
        width: 232.6vw;
        height: auto;
    }

    .page-home .hero-title {
        width: 100%;
        font-size: 14.53vw;
        line-height: 14.53vw;
        letter-spacing: -.75vw;
    }

    .page-home .hero-lower-copy {
        width: 100%;
        margin-top: 12.8vw;
    }

    .page-home .hero-lower-copy p {
        width: 100%;
        max-width: none;
        font-size: 3.78vw;
        line-height: 5.81vw;
    }

    .page-home .hero-actions {
        margin-top: 7.85vw;
        gap: 2.9vw;
        flex-wrap: nowrap;
    }

    .page-home .hero-actions .btn,
    .page-home .hero-actions .btn:first-child,
    .page-home .hero-actions .btn:last-child {
        height: 10.47vw;
        padding: 0;
        font-size: 2.33vw;
        line-height: 1;
        letter-spacing: .36vw;
    }

    .page-home .hero-actions .btn:first-child {
        width: 40.7vw;
    }

    .page-home .hero-actions .btn:last-child {
        width: 24.42vw;
    }

    .page-home .countdown {
        display: none;
    }
}

/* =========================================================
   MOBILE HOMEPAGE HERO - FIGMA MATCH V71
   Rebuilt from the supplied mobile Figma reference.
   Phone only. Desktop/tablet homepage is unchanged.
   ========================================================= */

@media (max-width:500px) {
    /* Header proportions from the mobile Figma frame. */
    .page-home .site-header .brand {
        left: 2.3vw;
        top: 4.5vw;
        width: 36.2vw;
        height: auto;
        transform: none;
    }

    .page-home .site-header .header-register {
        left: 60.78vw;
        right: auto;
        top: 7.77vw;
        width: 21.55vw;
        height: 7.42vw;
        padding: 0;
        transform: none;
        font-size: 1.55vw;
        line-height: 1;
        letter-spacing: .31vw;
    }

    /*
     * The Figma hero is a fixed proportional composition on phone widths.
     * Everything below is anchored to that frame instead of relying on
     * accumulated margins from the older mobile layout.
     */
    .page-home .hero-stage {
        width: 100%;
        height: 161.84vw;
        min-height: 0;
        padding: 0;
        aspect-ratio: auto;
        overflow: hidden;
    }

    /*
     * SAME four-opening desktop mask, cropped by the phone viewport.
     * This placement exposes the first three openings and leaves the
     * fourth opening outside the right edge, matching the Figma crop.
     */
  .page-home .hero-media {
    left: 37.5vw;
    right: auto;
    top: 23vw;
    width: 78vw;
    height: 59vw;
    max-width: none;
    transform: none;
    transform-origin: initial;
    opacity: .52;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
  }


    .page-home .hero-video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

.page-home .hero-title {
  position: absolute;
  left: 7.8vw;
  top: 25.5vw;
  width: 50vw;
  height: auto;
  margin: 0;
  font-size: 9.2vw;
  line-height: 8.85vw;
  letter-spacing: -.47vw;
}

    .page-home .hero-title .type-line,
    .page-home .hero-title .type-line + .type-line {
        min-height: 0;
        margin-top: 0;
        line-height: inherit;
    }

.page-home .hero-lower-copy {
  position: absolute;
  left: 7.42vw;
  top: 69vw;
  width: 85.5vw;
  height: auto;
  margin: 0;
}

    .page-home .hero-lower-copy p {
        width: 68.5vw;
        max-width: none;
        height: auto;
        margin: 0;
        font-size: 3.18vw;
        line-height: 4.95vw;
        font-weight: 400;
    }

    .page-home .hero-actions {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        width: 85.5vw;
        height: 10.25vw;
        margin-top: 3.9vw;
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 1.4vw;
        flex-wrap: nowrap;
    }

    .page-home .hero-actions .btn,
    .page-home .hero-actions .btn:first-child,
    .page-home .hero-actions .btn:last-child {
        width: 100%;
        height: 10.25vw;
        min-width: 0;
        padding: 0;
        font-size: 2.5vw;
        line-height: 1;
        letter-spacing: .32vw;
    }

    /* Restore and proportion the countdown exactly below the CTAs. */
    .page-home .countdown {
        display: block;
        position: absolute;
        left: 7.42vw;
        right: 7.07vw;
        top: 115vw;
        bottom: auto;
        width: auto;
        height: 40vw;
        padding: 0;
        transform: none;
        border-left: .7vw solid var(--gold);
        box-shadow: none;
        background: var(--cream);
        overflow: hidden;
    }

    .page-home .countdown-kicker {
        position: absolute;
        left: 4.9vw;
        top: 3.35vw;
        width: auto;
        height: auto;
        margin: 0;
        font-size: 2.5vw;
        line-height: 3vw;
        letter-spacing: .68vw;
        font-weight: 900;
        white-space: nowrap;
    }

    .page-home .countdown-units {
        position: absolute;
        left: 3.8vw;
        right: 3.8vw;
        top: 10.2vw;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 0;
        align-items: start;
    }

    .page-home .countdown-units > div,
    .page-home .countdown-units > div:nth-child(1),
    .page-home .countdown-units > div:nth-child(2),
    .page-home .countdown-units > div:nth-child(3),
    .page-home .countdown-units > div:nth-child(4) {
        width: 100%;
        min-width: 0;
        height: auto;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 1.45vw;
        text-align: center;
    }

    .page-home .countdown-units strong,
    .page-home .countdown-units > div:nth-child(n) strong {
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        font-size: 8.25vw;
        line-height: 9.1vw;
        font-weight: 800;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }

    .page-home .countdown-units span,
    .page-home .countdown-units > div:nth-child(n) span {
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        font-size: 2.05vw;
        line-height: 2.8vw;
        letter-spacing: .67vw;
        text-align: center;
        white-space: nowrap;
    }

    .page-home .countdown-rule {
        position: absolute;
        left: 4.9vw;
        right: 4.15vw;
        top: 28.65vw;
        width: auto;
        margin: 0;
        border-top: 1px solid rgba(187,167,142,.45);
    }

    .page-home .countdown-date {
        position: absolute;
        left: 4.9vw;
        right: 2vw;
        top: 32.15vw;
        width: auto;
        margin: 0;
        font-size: 2.5vw;
        line-height: 2.8vw;
        letter-spacing: .47vw;
        white-space: nowrap;
    }


  .banner-words span {
    display: inline;
  }

    /* Gold strip immediately below the countdown, as in Figma. */
.page-home .banner-stage {
  width: 100%;
  height: 26vw;
  min-height: 0;
  padding: 6.55vw 5.8vw 0;
  gap: 5.55vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

    .page-home .banner-kicker {
        width: auto;
        height: auto;
        margin: 0;
        font-size: 2.6vw;
        line-height: 3vw;
        letter-spacing: 1.28vw;
        text-align: center;
        white-space: nowrap;
    }

    .page-home .banner-words {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        text-align: center;
        white-space: nowrap;
    }

    .page-home .banner-words strong {
        font-size: 4.4vw;
        line-height: 5vw;
        letter-spacing: 0;
        white-space: nowrap;
    }

    .page-home .banner-words span {
        font-size: 3.45vw;
        line-height: 5vw;
        white-space: nowrap;
    }

    /* Mobile Figma order: Deals · Decision-Makers · Development. */
    .page-home .banner-words > strong:nth-child(1) { order: 3; }
    .page-home .banner-words > span:nth-child(2)   { order: 2; }
    .page-home .banner-words > strong:nth-child(3) { order: 1; }
    .page-home .banner-words > span:nth-child(4)   { order: 4; }
    .page-home .banner-words > strong:nth-child(5) { order: 5; }
    
  .about-stage {
    height: auto;
    padding: 40px 16px 40px;
    display: grid;
    gap: 55px;
  }
  
  .about-ribbon {
    left: -4%;
    top: 89.5%;
    width: 46.5%;
    height: 12%;
  }

  .about-ribbon span {
    left: 19%;
    top: 33%;
    width: auto;
    height: auto;
    font-size: 9px;
    line-height: 11px;
    letter-spacing: 1.2px;
  }

 .about-visual {
    width: min(90%,540px);
    height: auto;
    aspect-ratio: 540/516;
    margin: auto;
    margin-left: auto;
    margin-left: auto;
    margin-left: 2% !important;
  } 
  
 .about-copy {
    width: 88%;
    height: auto;
    gap: 16px;
    margin-left: 7%;
    margin-top: -5%;    
  }  
  
 .about-copy h2 {
    width: 100%;
    white-space: normal;
    height: auto;
    font-size: 8vw;
    line-height: 1.1;
    letter-spacing: -2.5px;
  }  

 .matters-stage h2 {
    width: 100%;
    height: auto;
    margin: 0 0 32px;
    font-size: 7.75vw;
    line-height: 1;
    letter-spacing: -2px;
  }
  
 .matters-grid, .speaker-grid {
    grid-template-columns: 1fr 1fr;
  }
  
 .matters-grid {
    gap: 8px;
  }  
  
 .matters-stage {
    height: auto;
    padding: 40px 7% 40px;
  }

  .matter-card {
    width: 100%;
    height: auto;
    padding: 14px 14px 14px;
    gap: 10px;
  }
  
.matter-card h3 {
    width: 100%;
    height: auto;
    font-size: 3.3vw;
    line-height: 1;
  }
  
  .matter-corner {
    left: auto;
    right: -14px;
    top: -14px;
    width: 29%;
    height: auto;
  }
  
.speakers-stage {
    height: auto;
    padding: 40px 7% 40px;
  }  

 .section-kicker {
    height: auto;
    font-size: 3.7vw;
    line-height: 1;
    letter-spacing: 2.4px;
  }

  .speakers-heading {
    width: 100%;
    height: auto;
    display: grid;
    gap: 20px;
  }

 .speakers-heading h2 {
    height: auto;
    font-size: 7.5vw;
    line-height: 1;
    letter-spacing: -2.5px;
    white-space: normal;
  }
  
.speakers-heading > p {
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 3.5vw;
    line-height: 1;
    text-align: left;
  }  

 .speaker-grid {
    gap: 38px 8px;
  }  
  
  .speakers-content {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    gap: 28px;
  }
  
.speaker-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
    
 .speaker-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 281/330;
  }

  .sponsors-stage {
    height: auto;
    padding: 40px 24px 40px;
    gap: 30px;
  }    
    
}

/* =========================================================
   MOBILE HOMEPAGE SPONSORS - FIGMA GRID V72
   Phone only. Desktop sponsor carousel remains unchanged.
   ========================================================= */

@media (max-width:500px) {
    .page-home .sponsors-stage {
        width: 100%;
        height: auto;
        padding: 9.7vw 7.75vw 9.86vw;
        gap: 0;
        display: grid;
        grid-template-columns: minmax(0,1fr);
        overflow: hidden;
    }

    /*
     * Flatten the heading wrapper so the title stays above the logos
     * while the existing CTA can be placed below the logo grid.
     */
    .page-home .sponsors-heading {
        display: contents;
    }

    .page-home .sponsors-heading h2 {
        grid-row: 1;
        width: 100%;
        height: auto;
        margin: 0 0 6.5vw;
        white-space: normal;
        font-size: 7.4vw;
        line-height: 7.4vw;
        letter-spacing: -.35vw;
        font-weight: 900;
        color: var(--cream);
        position: relative;
        z-index: 1;
    }

    /*
     * Mobile Figma uses a static 2-column logo grid.
     * Stop the desktop marquee and expose one set of sponsor cards.
     */
    .page-home .sponsor-carousel {
        grid-row: 2;
        width: 100%;
        height: auto;
        margin: 0;
        overflow: visible;
        position: relative;
        z-index: 1;
    }

    .page-home .sponsor-track {
        width: 100%;
        height: auto;
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        column-gap: 1.4vw;
        row-gap: 6.34vw;
        animation: none !important;
        transform: none !important;
        will-change: auto;
    }

    /*
     * The PHP carousel already contains two identical sponsor groups.
     * Use the first group as the live list and one card from the second
     * group to complete the 3 x 2 Figma composition with the current
     * five sponsor records.
     */
    .page-home .sponsor-group {
        display: contents;
        padding: 0;
    }

    .page-home .sponsor-group:nth-child(2) .sponsor-box {
        display: none;
    }

    .page-home .sponsor-group:nth-child(2) .sponsor-box:first-child {
        display: block;
    }

    .page-home .sponsor-box,
    .page-home .sponsor-group .sponsor-box {
        width: 100%;
        height: auto;
        min-width: 0;
        flex: none;
        aspect-ratio: 248 / 108;
        background: #fff;
        overflow: hidden;
    }

    .page-home .sponsor-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .page-home .sponsors-heading .btn {
        grid-row: 3;
        width: 100%;
        height: 8.45vw;
        min-height: 0;
        margin: 6.5vw 0 0;
        padding: 0;
        justify-self: stretch;
        font-size: 2.75vw;
        line-height: 1;
        letter-spacing: .35vw;
        position: relative;
        z-index: 1;
    }
    
 .newsletter-copy h2 {
    width: 100%;
    white-space: normal;
    height: auto;
    font-size: 9vw;
    line-height: 1.1;
    letter-spacing: -2px;
  }
  
  .newsletter-section {
    height: auto;
    min-height: 0;
    background: var(--green-2) url("../images/home/newsletter-bg2.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--cream);
  }
  
.newsletter-stage {
    height: auto;
    padding: 30px 8% 40px;
    display: grid;
    gap: 30px;
  }
  
   .newsletter-form {
        display: flex;
        grid-template-columns: none;
        gap: 0;
        width: 100%;
        height: 44px;
    }

    .newsletter-form input {
        flex: 1;
        min-width: 0;
        height: 44px;
        border-radius: 0;
    }

    .newsletter-form button {
        flex: 0 0 35%;
        height: 44px;
        border-radius: 0;
    }
    
}

/* =========================================================
   ABOUT PAGE MOBILE HERO - FIGMA MATCH V73
   Phone only. Rebuilds the About hero geometry from the
   supplied mobile Figma reference without touching desktop.
   ========================================================= */

@media (max-width: 500px) {
    /* Figma hero is 352 x 382 before the market strip. */
    .page-about .about-hero-stage {
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 352 / 382;
        padding: 0;
        overflow: hidden;
    }

    /*
     * Restore a real mobile image frame instead of display:contents.
     * Figma visible image footprint:
     * x 138..351, y 79..264 on the 352px reference.
     */
    .page-about .about-hero-photo-frame {
        display: block;
        position: absolute;
        z-index: 2;
        left: auto;
        right: 0;
        top: 22.4432vw;
        bottom: auto;
        width: 60.7955vw;
        height: 52.8409vw;
        overflow: visible;
        pointer-events: none;
    }

    .page-about .about-hero-photo-crop {
        display: block;
        position: absolute;
        z-index: 2;
        inset: 0;
        overflow: hidden;
        clip-path: polygon(21% 0, 100% 0, 100% 100%, 0 100%);
    }

    /* Remove the old translucent/oversized mobile treatment. */
    .page-about .about-hero-photo-frame .about-hero-photo,
    .page-about .about-hero-photo-crop .about-hero-photo,
    .page-about .about-hero-photo {
        position: absolute;
        z-index: 1;
        inset: 0;
        left: 0;
        right: auto;
        top: 0;
        bottom: auto;
        width: 100%;
        height: 100%;
        max-width: none;
        opacity: 1;
        object-fit: cover;
        object-position: 50% 50%;
        transform: none;
        filter: none;
    }

    /*
     * Three Figma gold strokes. They remain anchored to the
     * image frame, just like the desktop implementation.
     */
    .page-about .about-hero-lines {
        display: flex;
        position: absolute;
        z-index: 3;
        left: -0.2841vw;
        top: 0.5682vw;
        width: 12.5vw;
        height: 12.2159vw;
        flex-direction: column;
        justify-content: space-between;
        pointer-events: none;
    }

    .page-about .about-hero-lines span {
        display: block;
        height: 0.5682vw;
        min-height: 1px;
        flex: 0 0 0.5682vw;
        border-radius: 999px;
        background: var(--gold);
        opacity: 1;
        transform: none;
        animation: none;
        will-change: auto;
    }

    .page-about .about-hero-lines span:nth-child(1) {
        width: 86.4%;
        margin-left: 13.6%;
    }

    .page-about .about-hero-lines span:nth-child(2) {
        width: 81.8%;
        margin-left: 6.8%;
    }

    .page-about .about-hero-lines span:nth-child(3) {
        width: 79.5%;
        margin-left: 0;
    }

    /* Left copy position and vertical rhythm from the Figma reference. */
    .page-about .about-hero-copy {
        position: absolute;
        z-index: 4;
        left: 7.6705vw;
        top: 28.4091vw;
        width: 84.6591vw;
        height: auto;
        gap: 5.6818vw;
        transform: none;
    }

    .page-about .about-hero-heading {
        width: 100%;
        height: auto;
        gap: 2.5568vw;
    }

    .page-about .about-hero-heading .about-kicker {
        width: 100%;
        height: auto;
        font-size: 3.125vw;
        line-height: 4.2614vw;
        letter-spacing: 0.6818vw;
    }

    .page-about .about-hero-heading h1 {
        width: 100%;
        height: auto;
        margin: 0;
        font-size: 9.6591vw;
        line-height: 8.9489vw;
        letter-spacing: -0.5682vw;
    }

    .page-about .about-hero-lower {
        width: 100%;
        height: auto;
        gap: 5.9659vw;
    }

    .page-about .about-hero-lower p {
        width: 100%;
        max-width: none;
        height: auto;
        margin: 0;
        font-size: 3.4091vw;
        line-height: 5.1136vw;
        letter-spacing: 0;
    }

    .page-about .about-hero-actions {
        width: 100%;
        height: 9.6591vw;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.7045vw;
        flex-wrap: nowrap;
    }

    .page-about .about-hero-actions .btn,
    .page-about .about-hero-actions .btn:first-child,
    .page-about .about-hero-actions .btn:last-child {
        width: 100%;
        height: 9.6591vw;
        min-height: 0;
        padding: 0;
        font-size: 2.2727vw;
        line-height: 1;
        letter-spacing: 0.4545vw;
    }

    /*
     * Figma mobile market strip is gold, 62px tall on the
     * 352px reference, with all three sectors on one row.
     */
    .page-about .about-market-banner {
        background: var(--gold);
        border-top: 0;
        border-bottom: 0;
    }

    .page-about .about-market-stage {
        width: 100%;
        height: 17.6136vw;
        min-height: 0;
        aspect-ratio: auto;
        padding: 0 6.25vw;
        display: flex;
        align-items: center;
    }

    .page-about .about-market-words {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        white-space: nowrap;
    }

    .page-about .about-market-words strong,
    .page-about .about-market-words span {
        font-size: 4.2614vw;
        line-height: 5.1136vw;
        font-weight: 700;
    }
    
    
 .page-about .about-hero-photo-frame {
    display: block;
    position: absolute;
    z-index: 2;
    left: auto;
    right: 0;
    top: 23vw;
    bottom: auto;
    width: 65vw;
    height: 53vw;
    overflow: visible;
    pointer-events: none;
  }
  
 .page-about .about-hero-lines {
    display: flex;
    position: absolute;
    z-index: 2;
    left: 1.5vw;
    top: 0;
    width: 12.5vw;
    height: 12vw;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
  }
  
 .page-about .about-hero-heading .about-kicker {
    width: 100%;
    height: auto;
    font-size: 2.7vw;
    line-height: 1;
    letter-spacing: 0.6818vw;
  }
  
.page-about .about-hero-heading h1 {
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 8.75vw;
    line-height: 1;
    letter-spacing: -0.5682vw;
  }
  
.page-about .about-hero-photo-crop {
    display: block;
    position: absolute;
    z-index: 2;
    inset: 0;
    overflow: hidden;
    clip-path: polygon(21% 0, 100% 0, 100% 92%, 0 92%);
  }
  
.page-about .about-hero-stage {
    aspect-ratio: 352 / 320;
  }  
    
.about-market-banner {
  background: var(--cream) !important;
  border-top: 1px solid var(--gold) !important;
  border-bottom: 1px solid var(--gold) !important;
}

  .page-about .about-market-stage {
    width: 96%;
  }
  
 .about-intro-stage {
    width: 100%;
    aspect-ratio: auto;
    padding: 40px 8% 40px;
    display: grid;
    gap: 40px;
  }

  .about-intro-copy > p:first-child {
    text-align: justify;
  }  

  .about-room-card {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 30px 6% 30px;
    display: grid;
    justify-content: stretch;
    gap: 22px;
  }
  
  .about-room-card h2 {
    width: 100%;
    height: auto;
    font-size: 9vw;
    line-height: .925;
    letter-spacing: -2px;
  }
  
  .about-room-card p {
    width: 100%;
    height: auto;
    font-size: 4vw;
    line-height: 1.25;
  }

  .about-who-stage {
    width: 100%;
    aspect-ratio: auto;
    padding: 40px 7% 0;
  }
  
  .about-who-copy .about-kicker, .about-unites > .about-kicker {
    font-size: 2.7vw;
    line-height: 1;
  }  

  .about-who-copy h2 {
    width: 100%;
    height: auto;
    font-size: 8.5vw;
    line-height: 1.1;
    letter-spacing: -2px;
  }

 .about-unites {
    gap: 22px;
    margin-left: -8%;
    background-color: #EFE3CB;
    width: 116%;
    margin-top: -8%;
    padding-top: 40px;
    padding-left: 9%;
    padding-right: 9%;
    padding-bottom: 40px;
  }
  
  .about-unites > .about-kicker {
    font-size: 3vw;
    line-height: 1;
  }  
  
    .about-unites li {
    font-size: 14px;
    line-height: 21px;
    color: #064C3F;
  }

  .about-quote-stage blockquote {
    width: 100%;
    height: auto;
    font-size: 5vw;
    line-height: 1.1;
    letter-spacing: -1px;
  }

  .about-quote-stage {
    width: 100%;
    aspect-ratio: auto;
    padding: 40px 6% 40px;
  }
  
  .about-advisory-stage {
    width: 100%;
    aspect-ratio: auto;
    padding: 40px 7% 40px;
  }
  
.about-advisory-heading {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    display: grid;
    gap: 22px;
  }  
  
 .about-advisory-heading > p {
    width: 100%;
    height: auto;
    font-size: 4vw;
    line-height: 1.25;
    text-align: left;
  }
  
 .about-advisory-grid {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr !important;
    gap: 36px 8px;
  }  

  .about-bottom-stage {
    width: 100%;
    aspect-ratio: auto;
    padding: 30px 7% 30px;
  }
  
 .about-bottom-words {
    display: inline;
    text-align: center;
    gap: 8px;
  }  

 .about-bottom-words strong {
    font-size: 4.5vw;
    line-height: 1;
  }
  
 .about-bottom-words span {
    font-size: 4vw;
    line-height: 1;
    display: inline !important;
    padding-left: 3.5%;
    padding-right: 3.5%;
  }
  
  .agenda-kicker {
    font-size: 3.25vw;
    line-height: 1;
    letter-spacing: 2.4px;
  }
  
 .page-agenda .agenda-hero-copy h1 {
    font-size: 11vw;
    line-height: 1;
    letter-spacing: -2.5px;
  }
  
.agenda-hero-copy p {
    width: min(100%,560px);
    font-size: 3.2vw;
    line-height: 1.1;
  }
  
.agenda-event-meta {
    margin-top: 20px;
  }
  
  .agenda-event-meta p {
    font-size: 3.2vw;
    line-height: 1.1;
  }
  
  .agenda-calendar-btn {
    width: 100%;
    height: 44px;
    margin-top: 20px;
    padding: 0 20px;
    border-width: 1px;
    font-size: 3vw;
    line-height: 1;
    letter-spacing: 1.5px;
  }
  
 .agenda-schedule-heading {
    margin-top: 44px;
  }
  
 .agenda-kicker {
    font-size: 3.2vw;
    line-height: 1;
    letter-spacing: 2.4px;
  }
  
.agenda-schedule-heading h2 {
    font-size: 9vw;
    line-height: 1;
  }  
  
.agenda-time strong {
    font-size: 3.5vw;
    line-height: 1;
    letter-spacing: 2px;
  }  
  


  
  
  

    
}

/* =========================================================
   AGENDA MOBILE TIMELINE + SCROLL THERMOMETER - V74
   Phone layout follows the supplied Figma: time on the left,
   vertical rail + gold marker in the middle, card on the right.
   ========================================================= */

@media (max-width: 650px) {
    .page-agenda .agenda-timeline {
        --agenda-time-col: clamp(42px, 12vw, 64px);
        --agenda-gap-half: clamp(10px, 3.4vw, 17px);
        --agenda-rail-x: calc(var(--agenda-time-col) + var(--agenda-gap-half));

        position: relative;
        width: 100%;
        margin-top: 28px;
        gap: 16px;
        overflow: visible;
    }

    /* Muted rail underneath the animated gold fill. */
    .page-agenda .agenda-timeline::before {
        display: block;
        left: var(--agenda-rail-x);
        top: 0;
        bottom: 0;
        width: 1px;
        background: rgba(187,167,142,.28);
    }

    /* Same thermometer fill used on desktop. */
    .page-agenda .agenda-timeline::after {
        display: block;
        left: var(--agenda-rail-x);
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--gold);
        transform: scaleY(var(--agenda-line-fill));
        transform-origin: top center;
        will-change: transform;
    }

    .page-agenda .agenda-row {
        width: 100%;
        height: auto;
        min-height: 96px;
        display: grid;
        grid-template-columns: var(--agenda-time-col) minmax(0,1fr);
        column-gap: calc(var(--agenda-gap-half) + var(--agenda-gap-half));
        align-items: center;
        position: relative;
    }

    .page-agenda .agenda-time {
        grid-column: 1;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 7px;
        position: relative;
        z-index: 2;
    }

    .page-agenda .agenda-time strong {
        width: 100%;
        font-size: 11px;
        line-height: 14px;
        letter-spacing: 1.6px;
        white-space: normal;
    }

    .page-agenda .agenda-time span {
        width: 100%;
        font-size: 8px;
        line-height: 11px;
        letter-spacing: 1.8px;
        white-space: nowrap;
    }

    .page-agenda .agenda-dot {
        display: block;
        position: absolute;
        z-index: 3;
        left: calc(var(--agenda-rail-x) - 4px);
        top: 50%;
        transform: translateY(-50%);
        width: 8px;
        height: 8px;
        background: var(--gold);
    }

    .page-agenda .agenda-card {
        grid-column: 2;
        width: 100%;
        height: auto;
        min-height: 96px;
        padding: 15px 18px;
        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 14px),
            calc(100% - 14px) 100%,
            0 100%
        );
    }

    .page-agenda .agenda-card-category {
        margin-bottom: 5px;
        font-size: 8px;
        line-height: 11px;
        letter-spacing: 1.8px;
    }

    .page-agenda .agenda-card h3 {
        margin: 0 0 5px;
        font-size: 15px;
        line-height: 18px;
        letter-spacing: -.25px;
    }

    .page-agenda .agenda-card p {
        font-size: 10px;
        line-height: 14px;
    }
}

/* =========================================================
   SPEAKERS PAGE MOBILE HERO ART - FIGMA MATCH V75
   Phone only. Keep the existing masked hero asset, but scale
   and position it proportionally instead of using the oversized
   860px mobile treatment.
   ========================================================= */

@media (max-width: 650px) {
    .page-speakers .speakers-page-hero-art {
        left: 46vw;
        right: auto;
        top: 21.5vw;
        width: 70vw;
        height: auto;
        max-width: none;
        opacity: 1;
        object-fit: contain;
        transform: none;
        filter: none;
        pointer-events: none;
    }
    
 .page-speakers .speakers-page-kicker {
    font-size: 2.7vw;
    line-height: 1;
    letter-spacing: 2.4px;
  }
  
.page-speakers .speakers-page-hero-art {
    left: 41vw;
    right: auto;
    top: 23.6vw;
    width: 75vw;
    height: auto;
    max-width: none;
    opacity: 1;
    object-fit: contain;
    transform: none;
    filter: none;
    pointer-events: none;
  }
  
 .speakers-page-hero-stage {
    min-height: 0;
    padding-top: 28vw;
    padding-bottom: 38px;
  }

.page-speakers .speakers-page-hero-copy h1 {
    font-size: 10vw;
    line-height: 1;
    letter-spacing: -2.5px;
  }    

.page-speakers .speakers-page-hero-copy h1 {
    font-size: 9vw;
    line-height: 1;
    letter-spacing: -2.5px;
  }    

 .speakers-page-hero-detail > p {
    width: min(100%,520px);
    font-size: 3.25vw;
    line-height: 1.25;
  }
  
 .speakers-page-hero-detail {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    margin-top: 14px;
  }
  
 .speakers-page-stats {
    width: 100%;
    gap: 16%;
    margin-top: 20px;
  }
  
 .speakers-page-stats strong {
    font-size: 10vw;
    line-height: 1;
  }  
  
 .speakers-roster-stage {
    width: 100%;
    padding: 40px 7% 40px;
    container-type: normal;
  }  

 .speakers-roster-heading h2 {
    height: auto;
    font-size: 7.5vw;
    line-height: 1.25;
    letter-spacing: -2.5px;
    white-space: normal;
    word-spacing: 0.01em;
  }
  
.speakers-roster-heading > p {
    width: 100%;
    margin: 0;
    font-size: 3.5vw;
    line-height: 1.1;
    text-align: left;
  }
  
 .speakers-page-grid {
    width: 100%;
    margin-top: 38px;
    grid-template-columns: 1fr 1fr;
    column-gap: 8px;
    row-gap: 34px;
  }
  
  .speakers-inquiry-card {
    width: 100%;
    height: auto;
    min-height: 0;
    margin-top: 40px;
    padding: 30px 30px;
    display: grid;
    gap: 22px;
    clip-path: polygon(0 0,calc(100% - 58px) 0,100% 58px,100% 100%,0 100%);
  }  
  
 .speakers-inquiry-card h2 br {
    display: block;
  }  
  
 .speakers-page-card {
    width: 100%;
    min-height: 0;
    gap: 16px;
  }  

.page-speakers .speakers-inquiry-card::after {
  top: -1px;
  width: 18cqw !important;
}
  
.speakers-inquiry-card h2 {
    font-size: 7.5vw;
    line-height: 1;
  }  
  
.speakers-inquiry-button {
    width: auto;
    height: 40px;
    padding: 0 20px;
    font-size: 3vw;
    line-height: 1;
    letter-spacing: 1.5px;
    width: 100%;
  }
  

  
  
    
    
}

/* =========================================================
   SPEAKER PROFILE MODAL - MOBILE FIGMA MATCH V76
   Mobile only. Desktop modal remains unchanged.
   Reference frame: 354 x 697.
   ========================================================= */

@media (max-width: 500px) {
    .speaker-modal {
        padding: 12px;
        align-items: flex-start;
        justify-content: center;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .speaker-modal-dialog {
        width: min(354px, calc(100vw - 24px));
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        margin: 12px auto;
        display: flex;
        flex-direction: column;
        container-type: inline-size;
        background: var(--cream);
        box-shadow: 8px 8px 7px rgba(0,0,0,.12);
        filter: none;
        overflow: visible;
    }

    /* Figma: 354 x 228 photo. */
    .speaker-modal-photo-wrap {
        width: 100%;
        height: 64.4068cqw;
        aspect-ratio: auto;
        flex: 0 0 auto;
        overflow: hidden;
        background: #111;
    }

    .speaker-modal-photo-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    /*
     * Figma total modal height is 697px at 354px wide.
     * The cream portion is 469px below the 228px image.
     */
    .speaker-modal-panel {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 132.4859cqw;
        padding: 7.6271cqw 6.7797cqw 5.9322cqw;
        background: var(--cream);
        clip-path: none;
        overflow: visible;
    }

    .speaker-modal-content {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4.5198cqw;
        color: var(--green);
    }

    /*
     * Header block:
     * INDUSTRIAL
     * Speaker Name
     * Title
     * Company
     */
    .speaker-modal-top {
        width: 100%;
        height: auto;
        min-height: 33.3333cqw;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.8249cqw;
    }

    .speaker-modal-row {
        width: 100%;
        height: 5.0847cqw;
        min-height: 0;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
    }

    .speaker-modal-industry {
        width: auto;
        height: 5.0847cqw;
        font-size: 3.9548cqw;
        line-height: 5.0847cqw;
        font-weight: 900;
        letter-spacing: .8475cqw;
        text-transform: uppercase;
        color: var(--gold);
    }

    /*
     * The close button belongs visually to the photo in Figma.
     * It remains in the existing DOM, but is positioned back over
     * the image so no markup changes are required.
     */
    .speaker-modal-close {
        position: absolute;
        z-index: 5;
        right: -2.8249cqw;
        top: -68.0791cqw;
        width: 9.3220cqw;
        height: 9.3220cqw;
        padding: 0;
        border: .1412cqw solid var(--cream);
        border-radius: 2px;
        background: transparent;
    }

    .speaker-modal-close span::before,
    .speaker-modal-close span::after {
        width: 2.2599cqw;
        height: .2825cqw;
        background: var(--cream);
    }

    .speaker-modal-top h2 {
        width: 100%;
        height: auto;
        margin: 0;
        font-size: 10.1695cqw;
        line-height: 10.1695cqw;
        font-weight: 900;
        letter-spacing: -.5650cqw;
        color: var(--green);
        white-space: normal;
    }

    .speaker-modal-meta {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 2.2599cqw;
    }

    .speaker-modal-meta p,
    .speaker-modal-meta span {
        width: 100%;
        height: 5.0847cqw;
        margin: 0;
        font-size: 3.9548cqw;
        line-height: 5.0847cqw;
        font-weight: 400;
    }

    .speaker-modal-meta p {
        color: var(--green-3);
    }

    .speaker-modal-meta span {
        color: var(--gold);
    }

    /* Figma: 16 / 24 biography, up to four lines. */
    .speaker-modal-bio {
        width: 100%;
        height: auto;
        min-height: 27.1186cqw;
        margin: 0;
        font-size: 4.5198cqw;
        line-height: 6.7797cqw;
        font-weight: 400;
        letter-spacing: .0395cqw;
        color: var(--green);
    }

    .speaker-modal-rule {
        width: 100%;
        height: 0;
        border-top: .2825cqw solid rgba(10,86,72,.6);
    }

    /*
     * SESSION / TIME / FORMAT are one horizontal row on mobile
     * in the Figma, not stacked vertically.
     */
    .speaker-modal-session {
        width: 100%;
        height: 14.1243cqw;
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 2.8249cqw;
        align-items: start;
    }

    .speaker-modal-session > div {
        width: 100%;
        height: 14.1243cqw;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.2599cqw;
        min-width: 0;
    }

    .speaker-modal-session span {
        width: 100%;
        height: 5.0847cqw;
        font-size: 3.9548cqw;
        line-height: 5.0847cqw;
        font-weight: 300;
        letter-spacing: .8475cqw;
        text-transform: uppercase;
        color: var(--green-3);
        white-space: nowrap;
    }

    .speaker-modal-session strong {
        width: 100%;
        height: auto;
        min-height: 6.7797cqw;
        font-size: 4.2373cqw;
        line-height: 6.7797cqw;
        font-weight: 700;
        letter-spacing: .0395cqw;
        color: var(--green);
        white-space: normal;
    }

    /* Figma: two full-width 306 x 40 buttons stacked with 12px gap. */
    .speaker-modal-actions {
        width: 100%;
        height: 25.9887cqw;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 3.3898cqw;
        flex-wrap: nowrap;
    }

    .speaker-modal-actions .btn,
    .speaker-modal-actions .btn:first-child,
    .speaker-modal-linkedin {
        width: 100%;
        height: 11.2994cqw;
        min-height: 0;
        padding: 0 6.7797cqw;
        border-radius: 2px;
        font-size: 3.3898cqw;
        line-height: 4.5198cqw;
        font-weight: 700;
        letter-spacing: .5424cqw;
        text-transform: uppercase;
    }

    .speaker-modal-actions .btn:first-child {
        background: var(--green);
        color: var(--cream);
        border-color: var(--green);
    }

    .speaker-modal-linkedin {
        border: .2825cqw solid var(--green);
        background: transparent;
        color: var(--green);
    }
}

/* =========================================================
   SPONSORS PAGE MOBILE HERO - FIGMA MATCH V77
   Mobile only. Reference frame: 402 x 505.
   Desktop/tablet desktop rules remain untouched.
   ========================================================= */

@media (max-width: 500px) {
    .page-sponsors .sponsors-page-hero-stage {
        position: relative;
        width: 100%;
        height: 125.6219vw; /* 505 / 402 */
        min-height: 0;
        padding: 0;
        margin: 0;
        aspect-ratio: auto;
        container-type: normal;
        overflow: hidden;
        background: var(--green);
    }

    /*
     * Figma image:
     * x: 199, y: 97, w: 417, h: 241 on a 402px frame.
     * It intentionally extends past the right edge.
     */
    .page-sponsors .sponsors-page-hero-photo {
        position: absolute;
        z-index: 1;
        left: 0;
        right: auto;
        top: 24.1294vw;
        bottom: auto;
        width: 103.7313vw;
        height: 56vw;
        max-width: none;
        opacity: 1;
        object-fit: cover;
        object-position: 50% 50%;
        filter: brightness(.8);
        transform: none;
    }

    /*
     * Figma content frame:
     * x: 24, y: 113, w: 342.
     */
    .page-sponsors .sponsors-page-hero-copy {
        position: absolute;
        z-index: 2;
        left: 5.9701vw;
        top: 28.1095vw;
        width: 85.0746vw;
        height: auto;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        color: var(--cream);
        transform: none;
    }

    .page-sponsors .sponsors-page-kicker {
        width: 100%;
        height: 4.4776vw;
        margin: 0;
        font-size: 3.4826vw;
        line-height: 4.4776vw;
        font-weight: 900;
        letter-spacing: .7463vw;
        white-space: nowrap;
    }

    /*
     * Figma title:
     * 38px / 36px, 342px wide, five-line composition.
     */
    .page-sponsors .sponsors-page-hero-copy h1 {
        width: 100%;
        height: auto;
        min-height: 44.7761vw;
        margin: 2.9851vw 0 0;
        font-size: 9.4527vw;
        line-height: 8.9552vw;
        font-weight: 900;
        letter-spacing: -.7463vw;
        color: var(--cream);
    }

    .page-sponsors .sponsors-page-hero-copy h1 span {
        color: var(--gold);
    }

    .page-sponsors .sponsors-page-hero-copy p {
        width: 100%;
        height: auto;
        min-height: 19.9005vw;
        margin: 4.4776vw 0 0;
        font-size: 3.4826vw;
        line-height: 4.9751vw;
        font-weight: 400;
        letter-spacing: 0;
        color: var(--cream);
    }

    .page-sponsors .sponsors-desktop-break {
        display: none;
    }

    /*
     * Figma buttons: 163 + 18 + 163 = 344px.
     * Use two equal columns inside the 342px content frame so both
     * edges stay aligned with the text block on real phone widths.
     */
    .page-sponsors .sponsors-page-hero-actions {
        width: 100%;
        height: 9.9502vw;
        margin: 4.4776vw 0 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4.4776vw;
        flex-direction: initial;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    .page-sponsors .sponsors-page-hero-actions .btn,
    .page-sponsors .sponsors-page-hero-actions .btn:first-child,
    .page-sponsors .sponsors-page-hero-actions .btn:last-child {
        width: 100% !important;
        min-width: 0 !important;
        height: 9.9502vw;
        min-height: 0;
        padding: 0 2.9851vw;
        border-radius: 2px;
        font-size: 2.4876vw;
        line-height: 3.2338vw;
        font-weight: 700;
        letter-spacing: .4776vw;
        text-align: center;
        white-space: normal;
    }

 .page-sponsors .sponsors-page-kicker {
    font-size: 3vw;
    line-height: 4.4776vw;
    letter-spacing: 0.09em;
  }    

    .page-sponsors .sponsors-page-hero-copy h1 {
        font-size: 9.3vw;
    }
    
    
}

/* =========================================================
   SPONSORS PAGE PARTNERS - MOBILE FIGMA MATCH V78
   Mobile only. Preserves all sponsor records while applying
   the Figma tier hierarchy: Level 1 = 1 col, Level 2 = 2,
   Level 3 = 3.
   ========================================================= */

@media (max-width: 500px) {
    .page-sponsors .sponsors-partners-stage {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 36px 30px;
        margin: 0;
        container-type: normal;
        background: var(--cream);
    }

    .page-sponsors .sponsors-section-kicker {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
        font-size: 14px;
        line-height: 18px;
        font-weight: 900;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--gold);
    }

    .page-sponsors .sponsors-partners-stage > h2 {
        width: 100%;
        height: auto;
        margin: 8px 0 24px;
        font-size: 30px;
        line-height: 30px;
        font-weight: 900;
        letter-spacing: -2px;
        color: var(--green);
    }

    .page-sponsors .sponsors-levels {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .page-sponsors .sponsors-level {
        width: 100%;
        margin: 0;
    }

    .page-sponsors .sponsors-level h3 {
        width: 100%;
        height: auto;
        margin: 0 0 24px;
        font-size: 14px;
        line-height: 18px;
        font-weight: 900;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--gold);
    }

    .page-sponsors .sponsors-logo-grid {
        width: 100%;
        display: grid;
        margin: 0;
    }

    .page-sponsors .sponsor-logo-card,
    .page-sponsors .sponsors-level-one .sponsor-logo-card,
    .page-sponsors .sponsors-level-two .sponsor-logo-card,
    .page-sponsors .sponsors-level-three .sponsor-logo-card {
        width: 100%;
        min-width: 0;
        min-height: 0;
        height: auto;
        background: #fff;
        overflow: hidden;
    }

    .page-sponsors .sponsor-logo-card img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    /* Level 1: full-width 342 x 154 Figma cards. */
    .page-sponsors .sponsors-level-one .sponsors-logo-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .page-sponsors .sponsors-level-one .sponsor-logo-card {
        aspect-ratio: 342 / 154;
    }

    /* Level 2: two cards per row, approximately 170 x 74. */
    .page-sponsors .sponsors-level-two .sponsors-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 3px;
        row-gap: 8px;
    }

    .page-sponsors .sponsors-level-two .sponsor-logo-card {
        aspect-ratio: 170 / 74;
    }

    /* Level 3: three cards per row, approximately 114 x 50. */
    .page-sponsors .sponsors-level-three .sponsors-logo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 2px;
        row-gap: 8px;
    }

    .page-sponsors .sponsors-level-three .sponsor-logo-card {
        aspect-ratio: 114 / 50;
    }
    
  .page-sponsors .sponsors-partners-stage {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 38px 7%;
    margin: 0;
    container-type: normal;
    background: var(--cream);
  }    

 .page-sponsors .sponsors-partners-stage > h2 {
    font-size: 9vw;
    line-height:1;
 }

  .page-sponsors .sponsors-level h3 {
    width: 100%;
    height: auto;
    margin: 0 0 22px;
    font-size: 3vw;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
  }
    
  .page-sponsors .sponsors-level-two .sponsors-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 8px;
  }
  
  .page-sponsors .sponsors-level-three .sponsors-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 8px;
  }  

 .page-sponsors .sponsors-why-stage {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 7%;
    padding-right: 7%;
  }
  
 .sponsors-why-heading h2 {
    font-size: 9vw;
    line-height: 1;
  }
  
.sponsors-why-copy p {
    margin-bottom: 18px;
    font-size: 3vw;
    line-height: 1.25;
  }
  
 .sponsors-opportunities-stage {
    padding: 40px 7% 0;
  }
  
 .sponsors-opportunities-heading h2 {
    font-size: 8vw;
    line-height: 1;
  }
  
 .page-sponsors .sponsors-section-kicker {
    font-size: 3vw;
    line-height: 1;
    padding-bottom: 11px;
  }  
  
 .sponsors-opportunities-heading > p {
    margin-top: 0;
    font-size: 3vw;
    line-height: 1.25;
  }
  
 .sponsorship-tier-list {
    margin-top: 28px;
  }
  
 .sponsorship-tier {
    grid-template-columns: 1fr;
    padding: 30px 8% 30px 8%;
    gap: 12px;
  }
  
  .sponsorship-tier {
    height: auto;
    min-height: 150px;
    padding: 28px 26px;
    grid-template-columns: 180px 1fr 130px;
    clip-path: polygon(0 0,100% 0,100% calc(100% - 45px),calc(100% - 30px) 100%,0 100%);
  }  
    
  .sponsorship-tier-name span {
    margin-bottom: 8px;
    font-size: 4vw;
    line-height: 1;
    letter-spacing: 0.18em;
  }
  
  .sponsorship-tier-name h3 {
    font-size: 4vw;
    line-height: 1;
    padding-bottom: 7px;    
  } 
  
.sponsorship-tier li {
    font-size: 3vw;
    line-height: 1;
  }  

 .sponsorship-benefits-button {
    width: 100%;
    height: 40px;
    border-width: 1px;
    font-size: 2.7vw;
    line-height: 1;
    letter-spacing: 1.5px;
    margin-top: 8px;
  }
  
 .sponsorship-tier {
    grid-template-columns: 1fr;
    padding: 22px 8% 22px 8%;
    gap: 12px;
  }
  
 .sponsorship-tier-list {
    gap: 26px;
  }  

  .page-sponsors .sponsors-media-kit {
    display: flex;
    width: 100%;
    height: 45px;
    margin: 28px auto 0;
    padding: 0 22px;
    gap: 12px;
    font-size: 3vw;
    line-height: 1;
    letter-spacing: 1.5px;
  }

 .page-sponsors .sponsors-final-cta::after {
    width: 20vw;
    height: 20vw;
  }
  
  .sponsors-final-cta-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 26px 8% 2px;
  }
  
 .sponsors-final-cta h2 {
    font-size: 7vw;
    line-height: 1.1;
  }
  
 .sponsors-final-cta p {
    margin-bottom: 20px;
    font-size: 3.75vw;
    line-height: 1.25;
  }  

 .sponsors-final-cta {
    height: auto;
    min-height: 0;
    margin-top: 38px;
    width: 116%;
    margin-left: -8%;
  }  
    
  .sponsors-final-cta .btn {
    height: 40px;
    padding: 0 18px;
    font-size: 3vw;
    line-height: 1;
    letter-spacing: 1.6px;
    width: 100%;
  }    
    
    
    
    
}

/* =========================================================
   CONTACT PAGE MOBILE - FIGMA MATCH V79
   Mobile only. Reference frame: 402 x 1594.
   Desktop/tablet desktop layout remains untouched.
   ========================================================= */

@media (max-width: 500px) {
    .page-contact .contact-stage {
        position: relative;
        width: 100%;
        height: 396.5174vw; /* 1594 / 402 */
        min-height: 0;
        padding: 0;
        margin: 0;
        aspect-ratio: auto;
        container-type: normal;
        overflow: hidden;
        background: var(--cream);
    }

    /*
     * Use the supplied Figma background artwork.
     * Figma group: x -14.43%, y 10.7px, w ~506.6px, h ~222.5px
     * on the 402px mobile frame.
     */
    .page-contact .contact-stage::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: -14.43vw;
        top: 2.657vw;
        width: 126.02vw;
        height: 55.35vw;
        background: url("../images/contact/contact-mobile-art.png") center / 100% 100% no-repeat;
        pointer-events: none;
    }

    /* Replace the old oversized mobile background treatment. */
    .page-contact .contact-background-art {
        display: none;
    }

    /* Figma hero text: x 30, y 128, w 342, h 142. */
    .page-contact .contact-intro {
        position: absolute;
        z-index: 2;
        left: 7.4627vw;
        top: 31.8408vw;
        width: 85.0746vw;
        height: auto;
        margin: 0;
        color: var(--green);
    }

    .page-contact .contact-kicker {
        display: block;
        width: 100%;
        height: 4.4776vw;
        font-size: 3.4826vw;
        line-height: 4.4776vw;
        font-weight: 900;
        letter-spacing: .7463vw;
        color: var(--gold);
    }

    .page-contact .contact-intro h1 {
        width: 100%;
        height: 8.9552vw;
        margin: 2.9851vw 0 3.9801vw;
        font-size: 9.9502vw;
        line-height: 8.9552vw;
        font-weight: 900;
        letter-spacing: -.7463vw;
        white-space: nowrap;
        color: var(--green);
    }

    .page-contact .contact-intro h1 span {
        color: var(--gold);
    }

    .page-contact .contact-intro p {
        width: 100%;
        height: auto;
        min-height: 14.9254vw;
        margin: 0;
        font-size: 3.2338vw;
        line-height: 4.9751vw;
        font-weight: 400;
        letter-spacing: 0;
        color: var(--green);
    }

    .page-contact .contact-desktop-break {
        display: none;
    }

    /*
     * Figma form:
     * x 27, y 288, w 354, h 849.
     */
    .page-contact .contact-form-card {
        position: absolute;
        z-index: 2;
        left: 6.7164vw;
        top: 71.6418vw;
        width: 88.0597vw;
        height: 238vw;
        margin: 0;
        padding: 3.2338vw 5.9701vw 4.4776vw;
        background: #fff;
        color: var(--green);
        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 3.9801vw),
            calc(100% - 2.4876vw) 100%,
            0 100%
        );
        overflow: hidden;
    }

    .page-contact .contact-form-card h2 {
        width: 100%;
        height: 10.4478vw;
        margin: 0;
        font-size: 8.9552vw;
        line-height: 10.4478vw;
        font-weight: 900;
        letter-spacing: -.7463vw;
        white-space: nowrap;
        color: var(--green);
    }

    /*
     * Four mobile fields, one per row.
     * Each field follows the Figma 74px rhythm with 24px between rows.
     */
    .page-contact .contact-field-grid {
        width: 100%;
        height: 91.5423vw;
        margin-top: 3.9801vw;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, 18.4080vw);
        row-gap: 5.9701vw;
        column-gap: 0;
    }

    .page-contact .contact-field {
        width: 100%;
        height: 18.4080vw;
        display: flex;
        flex-direction: column;
        gap: 0;
        min-width: 0;
    }

    .page-contact .contact-field > span,
    .page-contact .contact-message-field > span,
    .page-contact .contact-interest legend {
        width: 100%;
        height: 4.4776vw;
        font-size: 3.4826vw;
        line-height: 4.4776vw;
        font-weight: 900;
        letter-spacing: .7463vw;
        text-transform: uppercase;
        color: var(--green-3);
    }

    .page-contact .contact-field input {
        width: 100%;
        height: 13.9303vw;
        padding: 0 0 1.4925vw;
        border: 0;
        border-bottom: .2488vw solid rgba(10,86,72,.6);
        border-radius: 0;
        outline: 0;
        background: transparent;
        font-size: 3.4826vw;
        line-height: 4.9751vw;
        color: var(--green);
    }

    .page-contact .contact-field input:focus {
        border-bottom-color: var(--green);
        border-bottom-width: .4975vw;
    }

    /* Figma interest block: 306 x 134. */
    .page-contact .contact-interest {
        width: 100%;
        height: 33.3333vw;
        margin: 3.9801vw 0 0;
        padding: 0;
        border: 0;
    }

    .page-contact .contact-interest legend {
        padding: 0;
        margin: 0 0 2.9851vw;
    }

    .page-contact .contact-interest-options {
        width: 100%;
        height: 25.8706vw;
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 5.9701vw 0;
    }

    .page-contact .contact-interest-options label {
        flex: 0 0 auto;
        width: auto;
        height: 9.9502vw;
        margin: 0;
    }

    /* First row: Attending + Sponsoring. */
    .page-contact .contact-interest-options label:nth-child(1) {
        width: 28.8557vw;
        margin-right: 5.9701vw;
    }

    .page-contact .contact-interest-options label:nth-child(2) {
        width: 32.0896vw;
        margin-right: 24vw;
    }

    /* Second row: Speaking + Media + Other. */
    .page-contact .contact-interest-options label:nth-child(3) {
        width: 28.1095vw;
        margin-right: 6.4677vw;
    }

    .page-contact .contact-interest-options label:nth-child(4) {
        width: 22.6368vw;
        margin-right: 6.4677vw;
    }

    .page-contact .contact-interest-options label:nth-child(5),
    .page-contact .contact-interest-options label:last-child {
        width: 22.3881vw;
        margin-right: 0;
        grid-column: auto;
    }

    .page-contact .contact-interest-options span {
        width: 100%;
        height: 9.9502vw;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border: .2488vw solid var(--green);
        border-radius: 2px;
        background: #fff;
        font-size: 2.9851vw;
        line-height: 3.9801vw;
        font-weight: 700;
        letter-spacing: .4776vw;
        color: var(--green);
        white-space: nowrap;
    }

    .page-contact .contact-interest-options input:checked + span {
        background: var(--green);
        border-color: var(--green);
        color: var(--cream);
    }

    /* Figma message block: label 18, 12 gap, textarea 145. */
    .page-contact .contact-message-field {
        width: 100%;
        height: 43.5323vw;
        margin-top: 3.9801vw;
        display: flex;
        flex-direction: column;
        gap: 2.9851vw;
    }

    .page-contact .contact-message-field textarea {
        width: 100%;
        height: 36.0697vw;
        padding: 2.9851vw;
        border: 0;
        border-bottom: .2488vw solid rgba(10,86,72,.6);
        border-radius: 0;
        outline: 0;
        resize: none;
        background: rgba(10,86,72,.12);
        font-size: 3.4826vw;
        line-height: 4.9751vw;
        color: var(--green);
    }

    .page-contact .contact-submit {
        width: 30.3483vw;
        height: 8.7065vw;
        margin-top: 3.9801vw;
        padding: 0;
        border: 0;
        border-radius: 2px;
        background: var(--green);
        font-size: 2.4876vw;
        line-height: 3.2338vw;
        font-weight: 700;
        letter-spacing: .4776vw;
        text-transform: uppercase;
        color: var(--cream);
    }

    /*
     * Figma contact details:
     * x 27, y 1173, w 354, h 400.
     */
    .page-contact .contact-details {
        position: absolute;
        z-index: 2;
        left: 6.7164vw;
        top: 320vw;
        width: 88.0597vw;
        height: auto;
        margin: 0;
        color: var(--green);
    }

    .page-contact .contact-detail-row {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 0 0 5.9701vw;
        border-bottom: .2488vw solid rgba(187,167,142,.6);
    }

    .page-contact .contact-detail-row + .contact-detail-row {
        padding-top: 5.9701vw;
    }

    .page-contact .contact-detail-row:not(.contact-summit-detail)::after {
        display: none;
    }

    .page-contact .contact-detail-row h2 {
        margin: 0 0 3.9801vw;
        font-size: 3.4826vw;
        line-height: 4.4776vw;
        font-weight: 900;
        letter-spacing: .7463vw;
        text-transform: uppercase;
        color: var(--gold);
    }

    .page-contact .contact-detail-row a,
    .page-contact .contact-detail-row p {
        margin: 0;
        font-size: 3.4826vw;
        line-height: 4.9751vw;
        font-weight: 700;
        letter-spacing: 0;
        color: var(--green);
    }

    .page-contact .contact-summit-detail {
        height: auto;
        padding-bottom: 0;
        border-bottom: 0;
    }

    /* The mobile Figma ends with THE SUMMIT, there is no register card. */
    .page-contact .contact-register-card {
        display: none;
    }
}

/* =========================================================
   CONTACT MOBILE INTEREST BUTTON FLOW FIX - V80
   Keeps the Figma 134px interest block from wrapping into
   the MESSAGE field.
   ========================================================= */

@media (max-width: 500px) {
    .page-contact .contact-interest {
        box-sizing: border-box;
        height: 33.3333vw; /* 134px @ 402 */
        overflow: hidden;
    }

    .page-contact .contact-interest legend {
        display: block;
        height: 4.4776vw; /* 18px */
        margin: 0 0 2.9851vw; /* 12px */
    }

    .page-contact .contact-interest-options {
        position: relative;
        display: block;
        width: 100%;
        height: 25.8706vw; /* 104px */
        overflow: hidden;
    }

    .page-contact .contact-interest-options label {
        position: absolute;
        height: 9.9502vw; /* 40px */
        margin: 0 !important;
    }

    /* Row 1 */
    .page-contact .contact-interest-options label:nth-child(1) {
        left: 0;
        top: 0;
        width: 28.8557vw; /* 116px */
    }

    .page-contact .contact-interest-options label:nth-child(2) {
        left: 34.8259vw; /* 116 + 24 = 140px */
        top: 0;
        width: 32.0896vw; /* 129px */
    }

    /* Row 2 */
    .page-contact .contact-interest-options label:nth-child(3) {
        left: 0;
        top: 15.9204vw; /* 64px */
        width: 28.1095vw; /* 113px */
    }

    .page-contact .contact-interest-options label:nth-child(4) {
        left: 29.6020vw; /* 119px */
        top: 15.9204vw;
        width: 22.6368vw; /* 91px */
    }

    .page-contact .contact-interest-options label:nth-child(5),
    .page-contact .contact-interest-options label:last-child {
        left: 53.7313vw; /* 216px */
        top: 15.9204vw;
        width: 22.3881vw; /* 90px */
    }

    .page-contact .contact-message-field {
        clear: both;
        margin-top: 3.9801vw;
    }
        
    .page-contact .contact-stage {
        height: 400vw;
    }    
    
  .page-contact .contact-form-card {
    clip-path: polygon( 0 0, 100% 0, 100% calc(100% - 7vw), calc(100% - 6vw) 100%, 0 100% );
    overflow: hidden;
  }    

    .page-contact .contact-submit {
        width: 35vw;
    }
    
    
}

/* =========================================================
   TRED SHARED MOBILE HEADER + HOME MOBILE REFINEMENTS - V81
   Final mobile override. Exclusive header classes prevent page
   specific hero/header CSS from changing the shared top menu.
   ========================================================= */

@media (max-width: 500px) {
    :root {
        --tred-mobile-header-h: 22.3vw;
    }

    body.nav-open {
        overflow: auto !important;
    }

    body.nav-open::before {
        display: none !important;
        content: none !important;
    }

    body .tred-site-header,
    body.nav-open .tred-site-header {
        position: absolute !important;
        z-index: 1000 !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: var(--tred-mobile-header-h) !important;
        overflow: visible !important;
        background: var(--green) !important;
        pointer-events: none !important;
    }

    body .tred-header-stage {
        position: relative !important;
        width: 100% !important;
        height: var(--tred-mobile-header-h) !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        container-type: normal !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /*
     * Full PNG size stays the same as the approved homepage header.
     * The PNG has transparent top padding, so 5.95vw makes the visible
     * top of the TRED word align with the Register button at 7.77vw.
     */
    body .tred-header-brand {
        position: absolute !important;
        z-index: 1003 !important;
        left: 2.3vw !important;
        top: 5.95vw !important;
        width: 36.2vw !important;
        height: auto !important;
        aspect-ratio: 972 / 368 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    body .tred-header-brand img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        object-fit: contain !important;
    }

    body .tred-header-register {
        position: absolute !important;
        z-index: 1003 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        left: 60.78vw !important;
        right: auto !important;
        top: 7.77vw !important;
        width: 21.55vw !important;
        height: 7.42vw !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        font-size: clamp(8px, 2.15vw, 10px) !important;
        line-height: 1 !important;
        font-weight: 700 !important;
        letter-spacing: clamp(1.1px, .36vw, 1.55px) !important;
        text-transform: uppercase !important;
    }

    body .tred-nav-toggle {
        position: absolute !important;
        z-index: 1004 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        left: auto !important;
        right: 6.9vw !important;
        top: 50% !important;
        width: 6.71vw !important;
        height: 6.06vw !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: translateY(-50%) !important;
    }

    body .tred-nav-toggle span {
        display: block !important;
        width: 100% !important;
        height: 2px !important;
        flex: 0 0 2px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--cream) !important;
        transform-origin: center !important;
    }

    body .tred-nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(calc((6.06vw - 2px) / 2)) rotate(45deg) !important;
    }

    body .tred-nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0 !important;
        transform: none !important;
    }

    body .tred-nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(calc((2px - 6.06vw) / 2)) rotate(-45deg) !important;
    }

    /*
     * Compact dropdown, not a full-screen navigation sheet.
     */
    body .tred-primary-nav {
        position: absolute !important;
        z-index: 1002 !important;
        inset: auto !important;
        top: calc(100% - 1px) !important;
        right: 6.9vw !important;
        left: auto !important;
        width: min(58vw, 240px) !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 10px 16px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        border: 1px solid rgba(239, 227, 203, .2) !important;
        border-radius: 0 !important;
        background: var(--green-2) !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .2) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-7px) !important;
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    }

    body .tred-primary-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    body .tred-primary-nav a {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--cream) !important;
        font-size: clamp(12px, 3.1vw, 14px) !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    body .tred-primary-nav a.is-active {
        color: var(--gold) !important;
    }

    body .tred-primary-nav a::after {
        display: none !important;
        content: none !important;
    }

    /* Preserve the intended mobile navigation order on every page. */
/*    
    body .tred-primary-nav a:nth-child(1) { order: 1 !important; }
    body .tred-primary-nav a:nth-child(2) { order: 2 !important; }
    body .tred-primary-nav a:nth-child(5) { order: 3 !important; }
    body .tred-primary-nav a:nth-child(3) { order: 4 !important; }
    body .tred-primary-nav a:nth-child(4) { order: 5 !important; }
    body .tred-primary-nav a:nth-child(6) { order: 6 !important; }
*/

body .tred-primary-nav a {
    order: initial !important;
}

    /* Hero CTA gap: approximately 16px at the 402px reference width. */
    .page-home .hero-actions {
        gap: clamp(14px, 4vw, 16px) !important;
    }

    /*
     * Built Around What Matters:
     * the two cards in each mobile row animate together as their row
     * scrolls into view, using the same motion as the Dec 3 ribbon.
     */
    .page-home .matter-card.is-scroll-corner-active .matter-corner {
        transform-origin: 100% 0 !important;
        will-change: transform !important;
        animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36, .07, .19, .97) both !important;
    }

    /*
     * Restore the mobile sponsor marquee.
     * One complete sponsor card stays visible with a glimpse of the next.
     */
    .page-home .sponsor-carousel {
        grid-row: 2 !important;
        width: 100% !important;
        height: 30.45vw !important;
        margin: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        z-index: 1 !important;
    }

    .page-home .sponsor-track {
        display: flex !important;
        grid-template-columns: none !important;
        width: max-content !important;
        height: 100% !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        transform: none;
        will-change: transform !important;
        animation: sponsorMarquee 20s linear infinite !important;
    }

    .page-home .sponsor-group {
        display: flex !important;
        flex: 0 0 auto !important;
        gap: 3.5vw !important;
        padding: 0 3.5vw 0 0 !important;
    }

    .page-home .sponsor-group:nth-child(2) .sponsor-box,
    .page-home .sponsor-group:nth-child(2) .sponsor-box:first-child {
        display: block !important;
    }

    .page-home .sponsor-box,
    .page-home .sponsor-group .sponsor-box {
        display: block !important;
        flex: 0 0 70vw !important;
        width: 70vw !important;
        height: 30.45vw !important;
        min-width: 70vw !important;
        aspect-ratio: 248 / 108 !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .page-home .sponsor-box img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }
}

@media (max-width: 500px) and (prefers-reduced-motion: reduce) {
    body .tred-primary-nav {
        transition: none !important;
    }

    .page-home .matter-card.is-scroll-corner-active .matter-corner,
    .page-home .sponsor-track {
        animation: none !important;
    }
}

/* =========================================================
   TRED MOBILE HEADER + MATTER CORNER CORRECTIONS - V82
   ========================================================= */

@media (max-width: 500px) {
    /*
     * Align the TOP of the visible "TRED" word with the TOP
     * of the Register button. The source PNG's TRED word starts
     * 150px down inside the 972x368 artwork.
     */
    body .tred-header-brand {
        top: 2.1836vw !important;
    }

    /*
     * Keep the corner wiggle active for as long as each mobile
     * card pair is in the scroll activation zone.
     */
    .page-home .matter-card.is-scroll-corner-active .matter-corner {
        transform-origin: 100% 0 !important;
        will-change: transform !important;
        animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36, .07, .19, .97) infinite !important;
    }
}

/* Preserve the existing card hover and keep the gold corner motion active. */
@media (hover: hover) and (pointer: fine) {
    .page-home .matter-card:hover {
        transform: translateY(-4px) scale(1.015) !important;
        box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
    }

    .page-home .matter-card:hover .matter-corner {
        transform-origin: 100% 0 !important;
        will-change: transform !important;
        animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36, .07, .19, .97) infinite !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .matter-card.is-scroll-corner-active .matter-corner,
    .page-home .matter-card:hover .matter-corner {
        animation: none !important;
    }
}

/* =========================================================
   BUILT AROUND WHAT MATTERS - SCROLL / HOVER CORRECTION V83

   Scroll behavior now matches the "Dec 3 · Houston" ribbon:
   play once when the pair enters the viewport, reset after it
   leaves, and play again when it enters on a later scroll.
   ========================================================= */

@media (max-width: 500px) {
    .page-home .matter-card.is-scroll-corner-active .matter-corner {
        transform-origin: 100% 0 !important;
        will-change: transform !important;
        animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36, .07, .19, .97) both !important;
    }
}

/* Keep the original desktop hover behavior. */
@media (hover: hover) and (pointer: fine) {
    .page-home .matter-card:hover {
        transform: translateY(-4px) scale(1.015) !important;
        box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
    }

    .page-home .matter-card:hover .matter-corner {
        animation: none !important;
        transform: rotate(9deg) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .matter-card.is-scroll-corner-active .matter-corner {
        animation: none !important;
    }
}

/* =========================================================
   HOMEPAGE HERO KICKER - V84
   Matches the kicker typography used on the inner-page heroes.
   ========================================================= */

.page-home .home-hero-kicker {
    position: absolute;
    z-index: 5;
    left: 6.8056%;
    top: calc(20.047% - 2.3611cqw);
    width: 24.861%;
    height: 1.25cqw;
    margin: 0;
    font-size: .9722cqw;
    line-height: 1.25cqw;
    font-weight: 900;
    letter-spacing: .2083cqw;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--gold);
}

@media (max-width: 500px) {
    .page-home .home-hero-kicker {
        left: 7.8vw;
        top: 18.6818vw;
        width: 50vw;
        height: auto;
        font-size: 3.125vw;
        line-height: 4.2614vw;
        letter-spacing: .6818vw;
    }
}

/* =========================================================
   HOMEPAGE HERO KICKER MOBILE VISIBILITY FIX - V85
   The previous kicker sat underneath the mobile header.
   ========================================================= */

@media (max-width: 500px) {
    .page-home .home-hero-kicker {
        z-index: 6 !important;
        left: 7.8vw !important;
        top: 24.2vw !important;
        width: 50vw !important;
        height: auto !important;
        margin: 0 !important;
        font-size: 2.7vw !important;
        line-height: 2.7vw !important;
        font-weight: 900 !important;
        letter-spacing: .6818vw !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
        color: var(--gold) !important;
    }

    .page-home .hero-title {
        top: 29vw !important;
    }
}

/* =========================================================
   ABOUT HERO MOBILE KICKER ALIGNMENT - V86
   Align "ABOUT TRED" to the exact same vertical start as
   "REAL ESTATE SUMMIT" on the homepage.
   ========================================================= */

@media (max-width: 500px) {
    .page-about .about-hero-copy {
        top: 24.2vw !important;
    }
}

/* =========================================================
   ABOUT ROOM CORNER + SPEAKERS HERO MOBILE ALIGNMENT - V87
   ========================================================= */

/*
 * ABOUT: replay the gold-corner wiggle whenever the card
 * re-enters the viewport, matching the homepage Dec 3 ribbon.
 */
.page-about .about-room-card.is-scroll-corner-active .about-room-corner {
    transform-origin: 100% 0 !important;
    will-change: transform, filter !important;
    animation: aboutRibbonWiggleStrong 1.45s cubic-bezier(.36, .07, .19, .97) both !important;
}

/* Keep the existing desktop hover effect intact. */
@media (hover: hover) and (pointer: fine) {
    .page-about .about-room-card:hover .about-room-corner {
        animation: none !important;
        transform: rotate(9deg) !important;
        filter: drop-shadow(0 7px 7px rgba(0,0,0,.24)) !important;
    }
}

/*
 * SPEAKERS: make "Speakers · TRED 2026" begin on the same
 * vertical line as Home's "REAL ESTATE SUMMIT" and About's
 * "ABOUT TRED". Keep the existing flow so title/detail spacing
 * remains intact.
 */
@media (max-width: 500px) {
    .page-speakers .speakers-page-hero-stage {
        padding-top: 24.2vw !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-about .about-room-card.is-scroll-corner-active .about-room-corner {
        animation: none !important;
    }
}

/* =========================================================
   AGENDA CALENDAR BUTTON + FOOTER CHARITY LINK - V88
   ========================================================= */

.agenda-calendar-btn {
    gap: .5556cqw;
}

.agenda-calendar-icon {
    width: 1.25cqw;
    height: 1.25cqw;
    flex: 0 0 auto;
    display: block;
}

.footer-charity-link {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .footer-charity-link:hover {
        color: var(--gold);
    }
}

@media (max-width: 500px) {
    .page-agenda .agenda-calendar-btn {
        display: flex !important;
        width: 70vw !important;
        max-width: 70vw !important;
        height: 44px !important;
        margin: 20px auto 0 !important;
        padding: 0 18px !important;
        gap: 9px !important;
        font-size: 3vw !important;
        line-height: 1 !important;
        letter-spacing: 1.5px !important;
    }

    .page-agenda .agenda-calendar-icon {
        width: 18px !important;
        height: 18px !important;
        flex: 0 0 18px !important;
    }
}

/* =========================================================
   AGENDA BUTTON WIDTH + SPONSORS HERO ALIGNMENT - V89
   ========================================================= */

@media (max-width: 500px) {
    /* Agenda: centered, narrower mobile button. */
    .page-agenda .agenda-calendar-btn {
        width: 50vw !important;
        max-width: 50vw !important;
    }

    /*
     * Sponsors: align "Sponsors · TRED 2026" to the same top
     * position as the Home, About, and Speakers hero kickers.
     */
    .page-sponsors .sponsors-page-hero-copy {
        top: 24.2vw !important;
    }
}

/* =========================================================
   SPONSORSHIP OPPORTUNITY ACCORDION CARDS - V90
   ========================================================= */

.page-sponsors .sponsorship-tier-list {
    gap: 18px !important;
}

.page-sponsors .sponsorship-tier {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 128px !important;
    padding: 0 !important;
    display: block !important;
    background: #fff !important;
    color: var(--green) !important;
    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 22px),
        calc(100% - 22px) 100%,
        0 100%
    ) !important;
    overflow: hidden !important;
}

.page-sponsors .sponsorship-tier.is-featured {
    background: #fff !important;
    color: var(--green) !important;
}

.page-sponsors .sponsorship-tier-summary {
    min-height: 128px;
    padding: 26px 32px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 132px;
    gap: 28px;
    align-items: center;
}

.page-sponsors .sponsorship-tier-name {
    min-width: 0;
}

.page-sponsors .sponsorship-tier-name > span {
    display: block !important;
    margin: 0 0 7px !important;
    font-size: 10px !important;
    line-height: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--gold) !important;
}

.page-sponsors .sponsorship-tier-name h3 {
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    font-size: 27px !important;
    line-height: 32px !important;
    font-weight: 500 !important;
    letter-spacing: -.4px !important;
    color: var(--green) !important;
}

.page-sponsors .sponsorship-tier-title {
    font-weight: 500;
    color: var(--green);
}

.page-sponsors .sponsorship-tier-price {
    font-weight: 400;
    color: var(--gold);
}

.page-sponsors .sponsorship-tier-availability {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .2px;
    white-space: nowrap;
    color: var(--green);
}

.page-sponsors .sponsorship-tier-availability strong {
    font-size: inherit;
    font-weight: 700;
    color: var(--gold);
}

.page-sponsors .sponsorship-tier-availability span {
    color: var(--green);
}

.page-sponsors .sponsorship-benefits-button,
.page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 132px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    gap: 8px !important;
    border: 1px solid var(--green) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--green) !important;
    font-size: 9px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.page-sponsors .sponsorship-benefits-arrow {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    transition: transform .2s ease;
}

.page-sponsors .sponsorship-benefits-button[aria-expanded="true"] .sponsorship-benefits-arrow {
    transform: rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
    .page-sponsors .sponsorship-benefits-button:hover,
    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button:hover {
        background: var(--green) !important;
        border-color: var(--green) !important;
        color: var(--cream) !important;
    }
}

.page-sponsors .sponsorship-tier-details {
    padding: 0 32px 34px;
}

.page-sponsors .sponsorship-tier-details[hidden] {
    display: none !important;
}

.page-sponsors .sponsorship-tier-details:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 70px;
    padding-top: 30px;
    border-top: 1px solid rgba(6, 76, 63, .18);
}

.page-sponsors .sponsorship-tier-description,
.page-sponsors .sponsorship-tier-benefits {
    min-width: 0;
}

.page-sponsors .sponsorship-tier-details h4 {
    margin: 0 0 18px !important;
    font-size: 18px !important;
    line-height: 23px !important;
    font-weight: 900 !important;
    letter-spacing: -.25px !important;
    color: var(--green) !important;
}

.page-sponsors .sponsorship-tier-description p {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 22px;
    font-weight: 400;
    color: var(--green);
}

.page-sponsors .sponsorship-tier-description p:last-child {
    margin-bottom: 0;
}

.page-sponsors .sponsorship-benefit-group + .sponsorship-benefit-group {
    margin-top: 22px;
}

.page-sponsors .sponsorship-benefit-group h5 {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 17px;
    font-weight: 900;
    letter-spacing: .3px;
    color: var(--gold);
}

.page-sponsors .sponsorship-tier-benefits ul {
    list-style: disc !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
}

.page-sponsors .sponsorship-tier-benefits li {
    margin: 0 0 7px !important;
    font-size: 13px !important;
    line-height: 19px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: var(--green) !important;
}

.page-sponsors .sponsorship-tier-benefits li:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .page-sponsors .sponsorship-tier-summary {
        min-height: 0;
        padding: 24px 24px 22px;
        grid-template-columns: 1fr auto;
        gap: 18px 16px;
    }

    .page-sponsors .sponsorship-tier-name {
        grid-column: 1 / -1;
    }

    .page-sponsors .sponsorship-tier-name h3 {
        font-size: 22px !important;
        line-height: 27px !important;
        gap: 7px;
    }

    .page-sponsors .sponsorship-tier-availability {
        justify-content: flex-start;
        font-size: 11px;
        line-height: 15px;
    }

    .page-sponsors .sponsorship-benefits-button,
    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
        width: 128px !important;
        height: 38px !important;
    }

    .page-sponsors .sponsorship-tier-details,
    .page-sponsors .sponsorship-tier-details:not([hidden]) {
        padding-left: 24px;
        padding-right: 24px;
        padding-bottom: 28px;
    }

    .page-sponsors .sponsorship-tier-details:not([hidden]) {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 500px) {
    .page-sponsors .sponsorship-tier-list {
        gap: 16px !important;
    }

    .page-sponsors .sponsorship-tier {
        min-height: 0 !important;
        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 16px),
            calc(100% - 16px) 100%,
            0 100%
        ) !important;
    }

    .page-sponsors .sponsorship-tier-summary {
        padding: 20px 18px 19px;
        gap: 16px 10px;
    }

    .page-sponsors .sponsorship-tier-name > span {
        margin-bottom: 6px !important;
        font-size: 2.4vw !important;
        line-height: 1 !important;
        letter-spacing: .45vw !important;
    }

    .page-sponsors .sponsorship-tier-name h3 {
        font-size: 5.1vw !important;
        line-height: 1.08 !important;
        letter-spacing: -.12vw !important;
    }

    .page-sponsors .sponsorship-tier-availability {
        font-size: 2.6vw !important;
        line-height: 1 !important;
    }

    .page-sponsors .sponsorship-benefits-button,
    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
        width: 31vw !important;
        height: 9vw !important;
        padding: 0 2.4vw !important;
        gap: 1.7vw !important;
        font-size: 2.1vw !important;
        line-height: 1 !important;
        letter-spacing: .3vw !important;
    }

    .page-sponsors .sponsorship-benefits-arrow {
        width: 3.5vw;
        height: 3.5vw;
        flex-basis: 3.5vw;
    }

    .page-sponsors .sponsorship-tier-details,
    .page-sponsors .sponsorship-tier-details:not([hidden]) {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 24px;
    }

    .page-sponsors .sponsorship-tier-details:not([hidden]) {
        padding-top: 24px;
        gap: 26px;
    }

    .page-sponsors .sponsorship-tier-details h4 {
        margin-bottom: 13px !important;
        font-size: 4.4vw !important;
        line-height: 1.15 !important;
    }

    .page-sponsors .sponsorship-tier-description p {
        margin-bottom: 14px;
        font-size: 3.2vw;
        line-height: 1.45;
    }

    .page-sponsors .sponsorship-benefit-group + .sponsorship-benefit-group {
        margin-top: 18px;
    }

    .page-sponsors .sponsorship-benefit-group h5 {
        margin-bottom: 8px;
        font-size: 3.1vw;
        line-height: 1.2;
    }

    .page-sponsors .sponsorship-tier-benefits li {
        margin-bottom: 6px !important;
        font-size: 3vw !important;
        line-height: 1.4 !important;
    }
}

/* =========================================================
   SPONSORSHIP CARD TYPOGRAPHY + HOVER REFINEMENT - V91
   ========================================================= */

.page-sponsors .sponsorship-tier {
    transition: transform .22s ease, filter .22s ease !important;
}

.page-sponsors .sponsorship-tier-summary {
    grid-template-columns: minmax(0, 1fr) 170px 168px !important;
}

.page-sponsors .sponsorship-tier-name h3 {
    flex-wrap: nowrap !important;
    gap: 14px !important;
    font-size: 55px !important;
    line-height: 1.02 !important;
    letter-spacing: -2.2px !important;
}

.page-sponsors .sponsorship-tier-title,
.page-sponsors .sponsorship-tier-price {
    white-space: nowrap !important;
}

.page-sponsors .sponsorship-benefits-button,
.page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
    width: 168px !important;
    min-width: 168px !important;
    padding: 0 16px !important;
    gap: 10px !important;
    white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
    .page-sponsors .sponsorship-tier:hover {
        transform: translateY(-3px) !important;
        filter: drop-shadow(0 8px 14px rgba(6, 76, 63, .14)) !important;
    }
}

/* Keep tablet/mobile typography compact. */
@media (max-width: 768px) {
    .page-sponsors .sponsorship-tier-summary {
        grid-template-columns: 1fr auto !important;
    }

    .page-sponsors .sponsorship-tier-name h3 {
        flex-wrap: wrap !important;
        gap: 7px !important;
        font-size: 22px !important;
        line-height: 27px !important;
        letter-spacing: -.4px !important;
    }

    .page-sponsors .sponsorship-benefits-button,
    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
        width: 142px !important;
        min-width: 142px !important;
    }
}

@media (max-width: 500px) {
    .page-sponsors .sponsorship-tier-name h3 {
        font-size: 5.1vw !important;
        line-height: 1.08 !important;
        letter-spacing: -.12vw !important;
    }

    .page-sponsors .sponsorship-benefits-button,
    .page-sponsors .sponsorship-tier.is-featured .sponsorship-benefits-button {
        width: 34vw !important;
        min-width: 34vw !important;
    }
}

/* =========================================================
   SPONSORSHIP TITLE / PRICE FONT INHERITANCE FIX - V92

   The legacy .sponsorship-tier-name span rule applies its own
   small font-size directly to every span inside the title area.
   Reset the new title/price spans so they inherit the 55px H3.
   ========================================================= */

.page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-title,
.page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-price {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}

.page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-title{
    font-weight: bold;
}

.page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-title {
    font-weight: 900 !important;
    color: var(--green) !important;
}

.page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-price {
    font-weight: 400 !important;
    color: var(--gold) !important;
}

@media (max-width: 768px) {
    .page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-title,
    .page-sponsors .sponsorship-tier-name h3 > .sponsorship-tier-price {
        font-size: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
    }
}

/* =========================================================
   SPONSORSHIP TITLE SIZE - V93
   ========================================================= */

.page-sponsors .sponsorship-tier-name h3 {
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: -1.2px !important;
}

/* =========================================================
   FEATURED SPONSORSHIP OPPORTUNITIES - V94
   ========================================================= */

.page-sponsors .featured-sponsorship-card {
    margin-top: 18px !important;
    background: var(--green) !important;
    color: var(--cream) !important;
    transition: transform .22s ease, filter .22s ease !important;
}

.page-sponsors .featured-sponsorship-card .featured-sponsorship-summary {
    min-height: 128px !important;
    padding: 26px 32px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 168px !important;
    gap: 28px !important;
    align-items: center !important;
}

.page-sponsors .featured-sponsorship-heading h3 {
    margin: 0 !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -1.2px !important;
    color: var(--gold) !important;
}

.page-sponsors .featured-sponsorship-button,
.page-sponsors .featured-sponsorship-card .featured-sponsorship-button {
    justify-self: end !important;
    width: 168px !important;
    min-width: 168px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid var(--gold) !important;
    background: transparent !important;
    color: var(--cream) !important;
    white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
    .page-sponsors .featured-sponsorship-card:hover {
        transform: translateY(-3px) !important;
        filter: drop-shadow(0 8px 14px rgba(6, 76, 63, .22)) !important;
    }

    .page-sponsors .featured-sponsorship-button:hover,
    .page-sponsors .featured-sponsorship-card .featured-sponsorship-button:hover {
        background: var(--gold) !important;
        border-color: var(--gold) !important;
        color: var(--green) !important;
    }
}

.page-sponsors .featured-sponsorship-details,
.page-sponsors .featured-sponsorship-details:not([hidden]) {
    padding: 0 !important;
    border-top: 1px solid rgba(184, 146, 79, .55) !important;
    background: #fff !important;
}

.page-sponsors .featured-sponsorship-details:not([hidden]) {
    display: block !important;
}

.page-sponsors .featured-sponsorship-table-wrap {
    width: 100%;
    padding: 24px 32px 30px;
    background: #fff;
}

.page-sponsors .featured-sponsorship-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: var(--green);
}

.page-sponsors .featured-sponsorship-table td {
    padding: 10px 0;
    border-bottom: 1px solid rgba(6, 76, 63, .14);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    color: var(--green);
    vertical-align: middle;
}

.page-sponsors .featured-sponsorship-table tr:last-child td {
    border-bottom: 0;
}

.page-sponsors .featured-sponsorship-table td:first-child {
    padding-right: 28px;
}

.page-sponsors .featured-sponsorship-table td:last-child {
    width: 150px;
    text-align: right;
    font-weight: 700;
    color: var(--green);
    white-space: nowrap;
}

@media (max-width: 768px) {
    .page-sponsors .featured-sponsorship-card .featured-sponsorship-summary {
        min-height: 0 !important;
        padding: 24px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 18px !important;
    }

    .page-sponsors .featured-sponsorship-heading h3 {
        font-size: 28px !important;
        letter-spacing: -.7px !important;
    }

    .page-sponsors .featured-sponsorship-table-wrap {
        padding: 22px 24px 26px;
    }
}

@media (max-width: 500px) {
    .page-sponsors .featured-sponsorship-card {
        margin-top: 16px !important;
    }

    .page-sponsors .featured-sponsorship-card .featured-sponsorship-summary {
        padding: 20px 18px !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .page-sponsors .featured-sponsorship-heading h3 {
        font-size: 6.2vw !important;
        line-height: 1.08 !important;
        letter-spacing: -.14vw !important;
    }

    .page-sponsors .featured-sponsorship-button,
    .page-sponsors .featured-sponsorship-card .featured-sponsorship-button {
        justify-self: start !important;
        width: 34vw !important;
        min-width: 34vw !important;
        height: 9vw !important;
        padding: 0 2.4vw !important;
        font-size: 2.1vw !important;
        letter-spacing: .3vw !important;
    }

    .page-sponsors .featured-sponsorship-table-wrap {
        padding: 18px 18px 22px;
    }

    .page-sponsors .featured-sponsorship-table td {
        padding: 9px 0;
        font-size: 3vw;
        line-height: 1.3;
    }

    .page-sponsors .featured-sponsorship-table td:first-child {
        padding-right: 14px;
    }

    .page-sponsors .featured-sponsorship-table td:last-child {
        width: 24vw;
    }
}

/* =========================================================
   FEATURED SPONSORSHIP TABLE TEXT - V95
   ========================================================= */

.page-sponsors .featured-sponsorship-table td {
    font-size: 17px !important;
    line-height: 1.35 !important;
}

.page-sponsors .featured-sponsorship-table td:first-child {
    color: var(--gold) !important;
    font-weight: 500 !important;
}

.page-sponsors .featured-sponsorship-table td:last-child {
    color: var(--green) !important;
    font-weight: 700 !important;
}

@media (max-width: 767px) {
    .countdown-date {
        font-size: 4.1cqw !important;
        font-weight: 900 !important;
    }
}

@media (max-width: 500px) {
    .page-sponsors .featured-sponsorship-table td {
        font-size: 3.3vw !important;
        line-height: 1.35 !important;
    }
}

