/* ============================================================
   Event Landing Page — event-lp.css  (Klika LA67 / LA68)
   page-templates/page-event-lp-tpl.php. Reuses webstick.css tokens,
   .ti-btn and .section-container. Sizes/colours measured off the Elementor
   originals on staging, 2026-09-13 (66330 split hero, 66952 full hero).
   Selectors carry two classes where they style h1-h3: a converted page keeps
   _elementor_data, so elementor-only.css's `.elementor-page h2` (0-1-1) applies.
   ============================================================ */

.evlp {
    --evlp-tint: #DEE7FA;
    --evlp-heading: #041A57;
    --evlp-copy: rgba(35, 31, 31, 0.8);
    --evlp-card-title: #231F1F;
    --evlp-card-desc: rgba(35, 31, 31, 0.8);
    --evlp-card-pad: 30px;
}
.evlp.evlp--green {
    --evlp-tint: #E0F0E1;
    --evlp-heading: #000;
    --evlp-copy: #000;
    --evlp-card-title: #000;
    --evlp-card-desc: #333;
    --evlp-card-pad: 20px 20px 60px;
}

/* ---- HERO (shared) ---- */
.evlp-hero {
    position: relative;
    display: flex;
    align-items: center;
    background-color: var(--evlp-hero-color, #163B9E);
    background-image: var(--evlp-hero-bg, none);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: var(--color-white);
    overflow: hidden;
}
.evlp-hero--overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--evlp-hero-overlay);
    opacity: 0.3;
}
.evlp-hero__container {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto;
}
.evlp .evlp-hero__headline {
    color: var(--color-white);
    font-size: 50px;
    font-weight: 700;
    margin: 0;
    padding: 0;
}
.evlp-hero__sub {
    color: var(--color-white);
    margin: 0;
}
.evlp-hero__meta {
    list-style: none;
    margin: 0;
    padding: 0;
}
.evlp-hero__meta li {
    color: var(--color-white);
}
.evlp-icon {
    display: inline-block;
    flex-shrink: 0;
    vertical-align: -3px;
}
.evlp-cta {
    margin-top: 20px;
    text-align: center;
}
.evlp-cta--hero {
    text-align: left;
}
.evlp-hero__mobile-img {
    display: none;
}
.evlp-hero__arrow {
    position: absolute;
    left: 50%;
    bottom: 40px;
    z-index: 1;
    margin-left: -21px;
    line-height: 0;
}
.evlp-hero__arrow svg {
    animation: evlp-scroll 3s ease infinite;
}
@keyframes evlp-scroll {
    0%, 100% { transform: translate(0); }
    50% { transform: translate(0, 40px); }
}
@media (prefers-reduced-motion: reduce) {
    .evlp-hero__arrow svg { animation: none; }
}

/* ---- HERO: split (66330) ---- */
.evlp-hero--split {
    /* content-box: Elementor puts the vh min-height on the inner container, so padding adds to it (960px at a 900px viewport). */
    box-sizing: content-box;
    min-height: 90vh;
    padding: 50px 100px 100px;
}
.evlp-hero--split .evlp-hero__container {
    display: flex;
    align-items: center;
    max-width: 1224px;
}
.evlp-hero--split .evlp-hero__text {
    flex: 0 0 60%;
    max-width: 60%;
    padding: 10px;
}
.evlp-hero--split .evlp-hero__side {
    flex: 0 0 40%;
    max-width: 40%;
    padding: 10px;
    text-align: center;
}
.evlp-hero--split .evlp-hero__side img {
    max-width: 90%;
    height: auto;
}
.evlp-hero--split .evlp-hero__date {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    margin: 0 0 12px;
}
.evlp-hero--split .evlp-hero__meta li {
    font-size: 17px;
    line-height: 1;
    margin: 0 0 12px;
}
.evlp-hero--split .evlp-hero__meta li:last-child {
    margin-bottom: 22px;
}
.evlp-hero--split .evlp-hero__meta .evlp-icon {
    margin-right: 8px;
}
.evlp-hero--split .evlp-hero__headline {
    line-height: 65px;
    letter-spacing: -0.1px;
}
.evlp-hero--split .evlp-hero__sub {
    font-size: 22px;
    line-height: 1.3;
    padding: 20px 0 10px;
}

/* ---- HERO: full (66952) ---- */
.evlp-hero--full {
    min-height: 100vh;
    padding: 0 0 80px;
}
/* Parallax only for photo heroes (they carry an overlay); logo art without one scrolls with the page. */
@media (min-width: 1025px) and (hover: hover) {
    .evlp-hero--full.evlp-hero--overlay {
        background-attachment: fixed;
    }
}
.evlp-hero--full .evlp-hero__container {
    max-width: 1264px;
    padding: 0 20px;
}
.evlp-hero--full .evlp-hero__date-img {
    display: block;
    width: 200px;
    height: auto;
    margin: 0 0 24px;
}
.evlp-hero--full .evlp-hero__headline,
.evlp-hero--full .evlp-hero__sub,
.evlp-hero--full .evlp-hero__meta li {
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.evlp-hero--full .evlp-hero__headline {
    line-height: 1.5;
    margin-bottom: 12px;
}
.evlp-hero--full .evlp-hero__sub {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 12px;
}
.evlp-hero--full .evlp-hero__meta {
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
    padding: 10px 0;
}
.evlp-hero--full .evlp-hero__meta li {
    display: inline-flex;
    align-items: center;
    font-size: 18px;
    line-height: 27px;
}
.evlp-hero--full .evlp-hero__meta .evlp-icon {
    margin-right: 10px;
}
/* Keep long copy off the hero art on the right (the art sits in the bg image). */
@media (min-width: 768px) {
    .evlp-hero--full .evlp-hero__text {
        max-width: min(760px, 55vw);
    }
}

/* ---- SECTIONS ---- */
.evlp-section {
    background: var(--color-white);
    padding: 80px 30px;
}
.evlp-section.evlp-section--tinted {
    background: var(--evlp-tint);
}
.evlp-section > .section-container {
    max-width: 1224px;
    margin: 0 auto;
    padding: 0;
}
.evlp .evlp-heading {
    color: var(--evlp-heading);
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    margin: 0 0 42px;
    padding: 0;
}
.evlp .evlp-heading.evlp-heading--sub {
    font-size: 30px;
    margin-bottom: 12px;
}
/* flow-root keeps the last paragraph's margin inside, as Elementor's text widget did. */
.evlp-copy {
    display: flow-root;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.evlp-copy p {
    color: var(--evlp-copy);
    font-size: 18px;
    line-height: 27px;
    margin: 0 0 14.4px;
}
.evlp-copy strong,
.evlp-copy b {
    font-weight: 700;
}
.evlp-copy a {
    color: var(--color-blue-500);
}

/* About gallery */
.evlp-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    padding: 30px 20px 0;
}
.evlp-gallery img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---- CARDS ---- */
.evlp-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.evlp-cards--3 { grid-template-columns: repeat(3, 1fr); }
.evlp-cards--2 { grid-template-columns: repeat(2, 1fr); }
.evlp-cards--1 { grid-template-columns: 1fr; max-width: 612px; margin: 0 auto; }
/* Spacing is a compromise between 66330 and 66952, which differ by ~10px per section (_diff_section_boxes.py). */
.evlp-heading + .evlp-cards {
    margin-top: 75px;
}
.evlp-cards + .evlp-cta {
    margin-top: 30px;
}
.evlp-card {
    background: var(--color-white);
    border: 1px solid #E6EAF0;
    border-radius: 5px;
    padding: var(--evlp-card-pad);
    text-align: center;
}
.evlp-card__icon {
    display: block;
    width: 40%;
    max-width: 100px;
    height: auto;
    margin: 0 auto 10px;
}
.evlp .evlp-card__title {
    color: var(--evlp-card-title);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    padding: 0 0 10px;
}
.evlp-card__desc {
    color: var(--evlp-card-desc);
    font-size: 18px;
    line-height: 27px;
    margin: 0;
}

/* Attendance options (66330 "Secure Your Invitation") */
.evlp-section.evlp-options {
    padding-bottom: 0;
}
.evlp-options .evlp-copy {
    margin-bottom: 10px;
}
.evlp-card.evlp-card--option {
    padding: 20px;
}
.evlp .evlp-card--option .evlp-card__title {
    font-size: 25px;
    padding: 0;
}
/* No markers: the Elementor image-box rendered this <ul> unbulleted, indented 40px. */
.evlp-card__body ul {
    list-style: none;
    text-align: left;
    margin: 0;
    padding-left: 40px;
}
.evlp-card__body li,
.evlp-card__body p {
    color: var(--evlp-card-desc);
    font-size: 18px;
    line-height: 27px;
    text-align: left;
}
.evlp-card__body p {
    margin: 0;
}

/* ---- VENUE ---- */
.evlp-venue__lines {
    list-style: none;
    margin: 0 auto 20px;
    padding: 0;
    text-align: center;
}
.evlp-venue__lines li {
    color: var(--evlp-copy);
    font-size: 18px;
    line-height: 27.2px;
}
.evlp-venue__lines .evlp-icon {
    margin-right: 6px;
}
.evlp-venue__lines b {
    font-weight: 700;
}
.evlp-venue__lines.evlp-venue__lines--large li {
    font-size: 22px;
    font-weight: 500;
}
.evlp-venue__lines--large .evlp-icon {
    width: 20px;
    height: 20px;
    vertical-align: -2px;
}
.evlp-section .evlp-venue__lines { margin-bottom: 12px; }
.evlp-venue__note {
    color: var(--evlp-copy);
    font-size: 18px;
    line-height: 27px;
    text-align: center;
    margin: 0 0 20px;
}
.evlp-venue__map {
    max-width: 900px;
    height: 500px;
    margin: 55px auto 0;
}
.evlp-venue__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ---- REGISTRATION ---- */
.evlp-reg {
    position: relative;
}
.evlp-anchor {
    position: absolute;
    top: 0;
}
.evlp-reg .evlp-copy {
    margin-bottom: 0;
}
.evlp-section.evlp-reg--after-options {
    padding-bottom: 10px;
}
.evlp-form.marketo-form__wrapper .marketo-form__container {
    max-width: 600px !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
}
.evlp-form.marketo-form__wrapper .marketo-form__container .marketo-form__container-form .mktoForm .mktoButtonRow {
    width: 100%;
}
/* 200px measured on the Elementor original (staging 66330, 2026-09-13); without it a 60px rule wins. */
.evlp-form .mktoForm .mktoFieldDescriptor textarea.mktoField {
    height: 200px !important;
    max-height: none !important;
}
.evlp-form .mktoFieldDescriptor {
    width: 100% !important;
    margin-right: 0 !important;
}
.evlp-form .marketo-form__container .mktoForm .mktoFieldWrap .mktoCheckboxList * {
    margin: 0 8px 0 0 !important;
}
.evlp-form #LblLinkedIn_Profile__c {
    color: #041a57 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
.evlp-form #LblLinkedIn_Profile__c .mktoAsterix,
.evlp-form #LblcalicoConNA2025 .mktoAsterix {
    display: none;
}

/* ---- SHARE + COPYRIGHT (66330) ---- */
.evlp-share {
    padding: 120px 50px;
    text-align: center;
}
.evlp .share-title {
    color: #231F1F;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    margin: 0 0 12px;
    padding: 0;
}
.evlp-share .share-buttons.trans-buttons {
    display: flex;
    justify-content: center;
}
.evlp-share .share-buttons.trans-buttons a {
    width: 50px;
    height: 50px;
    margin: 0 4px;
    background-size: 100%;
    background-repeat: no-repeat;
}
.evlp-share .share-buttons.trans-buttons a.linkedin { background-image: url("/app/uploads/2022/11/Group-1.svg"); }
.evlp-share .share-buttons.trans-buttons a.twitter  { background-image: url("/app/uploads/2022/11/Group-2.svg"); }
.evlp-share .share-buttons.trans-buttons a.facebook { background-image: url("/app/uploads/2022/11/Group-3.svg"); }
.evlp-share .share-buttons.trans-buttons a.reddit   { background-image: url("/app/uploads/2022/11/Group-5.svg"); }
.evlp-share .share-copy {
    font-size: 14px;
    line-height: 21px;
    margin: 70px 0 14px;
}

/* ---- RECAP VIDEO / WHY INTRO / SPEAKERS / AGENDA (Klika 32.10) ---- */
.evlp-video__player {
    max-width: 800px;
    margin: 54px auto 0;
}
.evlp-why__intro ul {
    list-style: disc;
    text-align: left;
    margin: 0;
    padding-left: 40px;
}
.evlp-why__intro li {
    color: var(--evlp-copy);
    font-size: var(--font-size-md);
    line-height: 27px;
}
.evlp-why__intro + .evlp-cards {
    margin-top: 45px;
}
.evlp-speakers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.evlp-speaker {
    padding: 0 20px 10px;
    text-align: center;
}
.evlp-speaker__photo {
    display: block;
    box-sizing: border-box;
    width: 170px;
    height: 170px;
    margin: 0 auto 40px;
    border: 3px solid #F7F9FC;
    border-radius: 50%;
    object-fit: cover;
}
.evlp .evlp-speaker__name {
    color: var(--color-gray-900);
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    margin: 0;
    padding: 0;
}
.evlp-speaker__role {
    color: #6A6A6A;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    margin: 5px 0 0;
}
.evlp-agenda {
    overflow-x: auto;
}
.evlp-agenda table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    text-align: center;
}
.evlp-agenda td {
    padding: 15px;
    border: 0;
    border-bottom: 2px solid var(--color-white);
    background: rgba(121, 166, 232, 0.3);
    color: #000;
    font-size: var(--font-size-sm);
    font-weight: 500;
    line-height: 21px;
    vertical-align: top;
}
.evlp-agenda td + td:not(:last-child) {
    border-right: 2px solid var(--color-white);
}
.evlp-agenda td.time {
    width: 12%;
    background: none;
    text-align: right;
}
.evlp-agenda td.evlp-agenda__break {
    background: #E5E5E5;
}
.evlp-agenda td a {
    color: inherit;
}
/* Replaces the Font Awesome far fa-play-circle the Elementor table carried (FA is dequeued here). */
.evlp-agenda td a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    vertical-align: -2px;
    background: var(--color-blue-500);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---- THEME: summit (CalicoCon 2022, 43824) — measured off its Elementor original on staging,
   2026-10-06 (_scripts/task-32/baseline/computed-43824-*.json). Headings differ per section there. ---- */
.evlp.evlp--summit {
    --evlp-tint: #F7F9FC;
    --evlp-card-pad: 40px;
}
.evlp--summit .evlp-hero--split {
    box-sizing: border-box;
    min-height: 100vh;
    padding: 0 100px;
}
.evlp--summit.evlp--hdr-logo .evlp-hero {
    margin-top: 0;
}
.evlp--summit .evlp-hero--split .evlp-hero__text {
    padding: 20px 20px 40px;
}
.evlp--summit .evlp-hero--split .evlp-hero__side {
    padding: 20px;
}
.evlp--summit .evlp-hero--split .evlp-hero__date {
    font-weight: 500;
}
.evlp--summit .evlp-hero--split .evlp-hero__sub {
    font-size: var(--font-size-md);
    line-height: 27px;
    padding: 0 161px 0 0;
    margin-top: 12px;
}
.evlp--summit .evlp-cta--hero {
    margin-top: 55px;
    text-align: center;
}
.evlp--summit .evlp-heading {
    color: var(--color-gray-900);
    font-size: var(--font-size-3xl);
}
.evlp--summit #about .evlp-heading,
.evlp--summit #why-attend .evlp-heading {
    color: var(--evlp-heading);
}
.evlp--summit .evlp-section.evlp-video {
    padding: 100px 30px;
}
.evlp--summit .evlp-video .evlp-heading {
    line-height: 36px;
    margin: 0;
}
.evlp--summit .evlp-video__note {
    max-width: none;
    margin-top: 30px;
}
.evlp--summit .evlp-video__note p {
    color: var(--color-gray-900);
    line-height: 1.2;
    margin: 0;
}
.evlp--summit .evlp-video__note a {
    color: var(--color-blue-500);
}
.evlp--summit .evlp-section#about {
    padding: 80px 30px 50px;
}
.evlp--summit .evlp-section#why-attend {
    padding: 0 30px 80px;
}
.evlp--summit #why-attend .evlp-heading {
    font-size: var(--font-size-4xl);
    margin-bottom: 27px;
}
.evlp--summit .evlp-cards {
    padding: 0 5px;
}
.evlp--summit .evlp-card__icon {
    width: 102px;
    max-width: 100%;
    margin-bottom: 27px;
}
.evlp--summit .evlp-section#speakers {
    padding: 80px 50px;
}
.evlp--summit .evlp-speakers {
    row-gap: 33px;
}
.evlp--summit .evlp-section#agenda {
    padding: 100px 0 105px;
}
.evlp--summit #agenda > .section-container {
    max-width: 1184px;
}
.evlp--summit #agenda .evlp-heading {
    font-size: var(--font-size-6xl);
    line-height: 60px;
    margin: 0 0 30px;
}
.evlp--summit .evlp-agenda table {
    margin: 0 0 15px -60px;
}
/* The Elementor table's per-cell widths (stripped from the seeded HTML with its inline styles). */
.evlp--summit .evlp-agenda td:not(.time):not([colspan]) {
    width: 30%;
}
.evlp--summit .evlp-section.evlp-reg {
    padding: 110px 50px 0;
    background: #DCEAF3;
}
.evlp--summit .evlp-reg .evlp-heading {
    margin-bottom: 32px;
}
.evlp--summit .evlp-reg .evlp-copy {
    max-width: none;
}
.evlp--summit .evlp-reg .evlp-form {
    margin-top: 21px;
}
.evlp--summit .evlp-form.marketo-form__wrapper .marketo-form__container {
    max-width: 700px !important;
    padding-top: 45px !important;
}
/* Placeholders only, as on the original; must outrank marketo-form.css's `.mktoRequiredField label.mktoLabel` (0-4-1). */
.evlp--summit .evlp-form .mktoForm .mktoFieldWrap label.mktoLabel,
.evlp--summit .evlp-form .mktoForm .mktoFieldWrap .mktoInstruction {
    display: none;
}
.evlp--summit .evlp-share {
    padding: 30px 50px 120px;
    background: #DCEAF3;
}
/* Original arrow hangs 180px under the text column (summit-2022.css) until 1199px: rest bottom 90px above the hero, centre x 685 at 1400. */
@media (min-width: 1200px) {
    .evlp--summit .evlp-hero__arrow {
        bottom: 90px;
        margin-left: -36px;
    }
}
/* 43824 keeps custom-header-lp.php (header.php); without this its flex logo stretches to the 66px row (150x30 -> 150x66). */
.page-id-43824 .menu .menu-image {
    align-items: center;
}

/* ---- HEADER + FOOTER (template-parts/custom-{header,footer}-evlp.php) ----
   Replaces Elementor Theme Builder 66344 / 27308 / 32296. Geometry measured off those on
   staging 2026-09-14 (_scripts/task-67/baseline/chrome-before.json). The header overlays
   the hero; the hero's negative margin reproduces where the Elementor header left it. */
.evlp-header {
    position: absolute;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0;
    right: 0;
    z-index: 100;
    font-family: "DM Sans", sans-serif;
}
.evlp-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1224px;
    margin: 0 auto;
}
.evlp-header__logo {
    display: block;
    flex-shrink: 0;
    line-height: 0;
}
.evlp-header__logo img {
    width: 140px;
    height: 30px;
}
.evlp-header--nav {
    padding: 0 30px 10px;
}
.evlp-header--nav .evlp-header__inner {
    min-height: 55px;
}
.evlp-header--nav .evlp-header__logo {
    align-self: flex-start;
    margin-top: 12px;
}
.evlp-header--logo {
    padding: 36px 30px 0;
}
.evlp-header__nav ul {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 68px 0 0;
    padding: 0;
    list-style: none;
}
.evlp-header__nav li {
    margin: 0;
}
.evlp-header .evlp-header__link {
    display: flex;
    align-items: center;
    padding: 13px 20px;
    color: var(--color-white);
    -webkit-text-fill-color: currentColor;
    font-size: 18px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
}
.evlp-header .evlp-header__link--button {
    min-height: 55px;
    font-size: 16px;
    background-image: linear-gradient(90deg, #F89C1D 0%, #E76D2C 100%);
    border-radius: 5px;
}
.evlp-header__check {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.evlp-header__toggle {
    display: none;
}
.evlp--hdr-nav .evlp-hero {
    margin-top: -62px;
}
.evlp--hdr-logo .evlp-hero {
    margin-top: -12px;
}
.evlp-footer {
    padding: 110px 0;
    font-family: "DM Sans", sans-serif;
}
.evlp-footer__inner {
    max-width: 1224px;
    margin: 0 auto;
    padding: 0 20px;
}
.evlp-footer p {
    margin: 0;
    color: rgba(35, 31, 31, 0.8);
    font-size: 16px;
    line-height: 24px;
}

@media (max-width: 1024px) {
    .evlp-header--nav {
        padding: 20px 0 20px 30px;
    }
    .evlp-header--nav .evlp-header__inner {
        min-height: 40px;
    }
    .evlp-header--nav .evlp-header__logo {
        align-self: center;
        margin-top: 0;
    }
    .evlp--hdr-nav .evlp-hero {
        margin-top: -47px;
    }
    .evlp-header__toggle {
        position: relative;
        display: block;
        width: 33px;
        height: 40px;
        margin-right: 68px;
        background: rgba(0, 0, 0, 0.05);
        cursor: pointer;
    }
    .evlp-header__toggle span,
    .evlp-header__toggle::before,
    .evlp-header__toggle::after {
        content: "";
        position: absolute;
        left: 6px;
        width: 21px;
        height: 2px;
        background: var(--color-white);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    .evlp-header__toggle span { top: 19px; }
    .evlp-header__toggle::before { top: 12px; }
    .evlp-header__toggle::after { top: 26px; }
    .evlp-header__check:checked + .evlp-header__toggle span { opacity: 0; }
    .evlp-header__check:checked + .evlp-header__toggle::before { transform: translateY(7px) rotate(45deg); }
    .evlp-header__check:checked + .evlp-header__toggle::after { transform: translateY(-7px) rotate(-45deg); }
    .evlp-header__check:focus-visible + .evlp-header__toggle {
        outline: 2px solid var(--color-white);
        outline-offset: 2px;
    }
    .evlp-header__nav {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background: #fff;
    }
    .evlp-header__check:checked ~ .evlp-header__nav {
        display: block;
    }
    .evlp-header__nav ul {
        display: block;
        margin: 0;
    }
    .evlp-header .evlp-header__link {
        padding: 10px 20px;
        color: rgb(51, 55, 61);
    }
    .evlp-header .evlp-header__link--button {
        min-height: 0;
        color: var(--color-white);
        border-radius: 0;
    }
}

@media (max-width: 767px) {
    .evlp-header--nav {
        padding: 20px 0 20px 20px;
    }
    .evlp-header__toggle {
        margin-right: 38px;
    }
    .evlp-footer {
        padding: 60px 0;
    }
}

/* ---- TABLET: 1024px ---- */
@media (max-width: 1024px) {
    .evlp-hero--split {
        padding: 50px 40px 100px;
    }
    .evlp-hero--split .evlp-hero__container {
        flex-direction: column;
    }
    .evlp-hero--split .evlp-hero__text,
    .evlp-hero--split .evlp-hero__side {
        flex-basis: auto;
        max-width: 100%;
        width: 100%;
        text-align: center;
    }
    .evlp-hero--split .evlp-hero__text {
        padding-top: 150px;
    }
    .evlp-hero--split .evlp-hero__side img {
        max-width: 60%;
        padding-bottom: 50px;
    }
    .evlp-hero--full {
        padding: 120px 0 0;
    }
    .evlp-hero--full .evlp-hero__container {
        padding: 0 30px;
    }
    .evlp-cta--hero {
        text-align: center;
    }
    .evlp-cards,
    .evlp-cards--3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ---- MOBILE: 767px ---- */
@media (max-width: 767px) {
    .evlp-hero {
        background-image: var(--evlp-hero-bg-mobile, var(--evlp-hero-bg, none));
    }
    .evlp-hero--split {
        min-height: 85vh;
        padding: 100px 0 50px;
        background-position: bottom center;
    }
    .evlp-hero--split .evlp-hero__text {
        padding: 50px 10px 0;
    }
    .evlp-hero--split .evlp-hero__date {
        font-size: 18px;
        line-height: 1.3;
    }
    .evlp-hero--split .evlp-hero__meta li {
        font-size: 14px;
        line-height: 21px;
    }
    .evlp-hero .evlp-hero__headline {
        font-size: 35px;
        text-align: center;
    }
    .evlp-hero--split .evlp-hero__headline {
        line-height: 42px;
    }
    .evlp-hero--split .evlp-hero__sub {
        font-size: 18px;
        padding: 20px 0;
    }
    .evlp-hero--split .evlp-hero__side {
        padding: 10px 20px;
    }
    .evlp-hero--split .evlp-hero__side img {
        max-width: 80%;
        padding-bottom: 80px;
        vertical-align: top;
    }
    /* Spacing measured off the Elementor original at 390px (baseline/computed-la6{7,8}-390.json). */
    .evlp-hero--split .evlp-cta--hero {
        margin: 14px 0 40px;
    }
    .evlp-hero--full .evlp-cta--hero {
        margin: 32px 0 12px;
    }
    .line-break-sp {
        display: block;
    }
    .evlp-hero--full .evlp-hero__text {
        text-align: center;
    }
    .evlp-hero--full .evlp-hero__date-img {
        margin: 10px auto 22px;
    }
    .evlp-hero--full .evlp-hero__sub {
        font-size: 16px;
        margin-bottom: 26px;
    }
    .evlp-hero--full .evlp-hero__meta {
        flex-direction: column;
        align-items: center;
    }
    .evlp-hero--full .evlp-hero__meta li {
        display: block;
        font-size: 16px;
        line-height: 24px;
        text-align: center;
        margin-bottom: 15px;
    }
    .evlp-hero__mobile-img {
        display: block;
        width: 300px;
        max-width: 100%;
        height: auto;
        margin: 20px auto 0;
    }
    .evlp-hero__arrow {
        display: none;
    }
    .evlp-section {
        padding: 50px 20px;
    }
    .evlp .evlp-heading {
        font-size: 30px;
        line-height: 1.3;
        margin-bottom: 32px;
    }
    .evlp-copy p {
        font-size: 16px;
        line-height: 24px;
    }
    .evlp-heading + .evlp-cards {
        margin-top: 50px;
    }
    .evlp-cta {
        margin-top: 10px;
    }
    .evlp-cards + .evlp-cta {
        margin-top: 20px;
    }
    .evlp-options .evlp-copy {
        margin-bottom: 60px;
    }
    .evlp-section.evlp-options,
    .evlp-section.evlp-reg--after-options {
        padding-bottom: 50px;
    }
    .evlp-gallery {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 20px 0;
    }
    .evlp-cards,
    .evlp-cards--3,
    .evlp-cards--2 {
        grid-template-columns: 1fr;
    }
    .evlp-venue__lines.evlp-venue__lines--large li {
        font-size: 20px;
    }
    .evlp-share {
        padding: 70px 40px;
    }
    .evlp .share-title {
        font-size: 22px;
    }
}

/* ---- Klika 32.10 sections + summit theme: tablet / mobile (390px values from computed-43824-390.json) ---- */
@media (max-width: 1024px) {
    .evlp-speakers {
        grid-template-columns: repeat(2, 1fr);
    }
    .evlp--summit .evlp-agenda table {
        margin-left: 0;
    }
}

/* 900px values from computed-43824-900.json; below 768 the mobile block takes over. */
@media (min-width: 768px) and (max-width: 1024px) {
    .evlp--summit .evlp-hero--split {
        padding: 0 100px;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__text {
        padding: 100px 0 0;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__sub {
        padding-right: 0;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__side {
        padding: 70px 20px 153px;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__side img {
        padding-bottom: 0;
    }
    .evlp--summit .evlp-section.evlp-video {
        padding: 100px 110px;
    }
    .evlp--summit #about .evlp-heading,
    .evlp--summit #why-attend .evlp-heading {
        line-height: 1.3;
    }
    .evlp--summit #about .evlp-heading {
        margin-bottom: 32px;
    }
    .evlp--summit .evlp-cards {
        column-gap: 0;
    }
    .evlp--summit .evlp-section#speakers {
        padding: 100px 50px 88px;
    }
    .evlp--summit .evlp-speaker {
        padding-bottom: 30px;
    }
    .evlp--summit .evlp-speakers {
        row-gap: 0;
    }
    .evlp--summit .evlp-section#agenda {
        padding: 100px 110px 105px;
    }
    .evlp--summit .evlp-section.evlp-reg {
        padding: 200px 70px 0;
    }
    .evlp--summit .evlp-share {
        padding: 120px 90px 120px;
    }
}

@media (max-width: 767px) {
    .evlp-speakers,
    .evlp--summit .evlp-speakers {
        grid-template-columns: 1fr;
        row-gap: 0;
    }
    .evlp-speaker {
        padding-bottom: 30px;
    }
    .evlp .evlp-speaker__name {
        font-size: var(--font-size-xl);
    }
    /* Original: summit-2022.css `.elementor-background-slideshow__slide__image{background-position:0}` and a visible scroll arrow. */
    .evlp--summit .evlp-hero--split {
        padding: 100px 0;
        background-position: 0;
    }
    .evlp--summit .evlp-hero__arrow {
        display: block;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__text {
        padding: 70px 20px 0;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__date {
        line-height: 1;
    }
    .evlp--summit .evlp-hero .evlp-hero__headline {
        font-size: var(--font-size-3xl);
        line-height: 39px;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__sub {
        font-size: var(--font-size-base);
        line-height: 24px;
        padding: 0 4px;
    }
    .evlp--summit .evlp-hero--split .evlp-cta--hero {
        margin: 54px 0 0;
    }
    /* Original has 163px top here; cut to 60px at Avi's request 2026-10-06. */
    .evlp--summit .evlp-hero--split .evlp-hero__side {
        padding: 60px 20px 71px;
    }
    .evlp--summit .evlp-hero--split .evlp-hero__side img {
        max-width: 80%;
        padding-bottom: 0;
    }
    .evlp--summit .evlp-section.evlp-video {
        padding: 100px 40px 81px;
    }
    .evlp--summit .evlp-video .evlp-heading {
        line-height: 36px;
        margin: 0;
    }
    .evlp--summit .evlp-section#about {
        padding: 50px 20px 30px;
    }
    .evlp--summit .evlp-section#why-attend {
        padding: 50px 20px 0;
    }
    .evlp--summit #why-attend .evlp-heading {
        font-size: var(--font-size-4xl);
        margin-bottom: 27px;
    }
    .evlp--summit .evlp-cards {
        padding: 0;
    }
    /* The Elementor original leaves ~110px under each stacked card's copy at this width. */
    .evlp--summit .evlp-card {
        padding-bottom: 110px;
    }
    .evlp--summit .evlp-video__note p {
        font-size: var(--font-size-md);
    }
    .evlp--summit .evlp-section#speakers {
        padding: 50px 20px 38px;
    }
    .evlp--summit #speakers .evlp-heading {
        line-height: 1;
        margin-bottom: 42px;
    }
    .evlp--summit .evlp-section#agenda {
        padding: 50px 40px 51px;
    }
    .evlp--summit #agenda .evlp-heading {
        font-size: var(--font-size-4xl);
        line-height: 43.2px;
        margin-bottom: 30px;
    }
    .evlp--summit .evlp-agenda table {
        min-width: 469px;
    }
    .evlp--summit .evlp-section.evlp-reg {
        padding: 150px 40px 0;
    }
    .evlp--summit .evlp-reg .evlp-form {
        margin-top: 19px;
    }
    .evlp--summit .evlp-form.marketo-form__wrapper .marketo-form__container {
        padding-top: 0 !important;
    }
    .evlp--summit .evlp-reg .evlp-heading {
        line-height: 1;
    }
    .evlp--summit .evlp-share {
        padding: 120px 40px 70px;
    }
    .evlp--summit .evlp-share .share-copy {
        margin-top: 56px;
    }
}
