/* ==========================================================
   SPEAKING PAGE
========================================================== */

.speaking-page {
    background: #fffdf9;
}


/* ==========================================================
   SPEAKING HERO
========================================================== */

.speaking-hero {
    position: relative;

    margin-top: 50px;

    padding:
        50px
        0
        28px;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            #fffdf9 0%,
            #fffdf9 36%,
            #faf7ef 100%
        );
}


/* ==========================================================
   LAYOUT
========================================================== */

.speaking-hero__layout {
    display: grid;

    grid-template-columns:
        minmax(320px, .72fr)
        minmax(680px, 1.48fr);

    gap: 45px;

    align-items: center;
}


/* ==========================================================
   LEFT CONTENT
========================================================== */

.speaking-hero__content {
    max-width: 430px;
}


/* ==========================================================
   EYEBROW
========================================================== */

.speaking-hero__eyebrow {
    display: flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 13px;

    color: #183f34;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.speaking-hero__leaf {
    color: #b68a38;

    font-size: 13px;
}


/* ==========================================================
   TITLE
========================================================== */

.speaking-hero__title {
    margin: 0;

    color: #17211d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 48px;

    font-weight: 400;

    line-height: 1.05;

    letter-spacing: -.035em;
}


.speaking-hero__title span,
.speaking-hero__title em {
    display: block;
}


.speaking-hero__title em {
    color: #17483b;

    font-weight: 400;

    font-style: italic;
}


/* ==========================================================
   DIVIDER
========================================================== */

.speaking-hero__divider {
    display: block;

    width: 58px;
    height: 2px;

    margin:
        18px
        0
        17px;

    background: #d09836;

    transform: rotate(-2deg);

    border-radius: 999px;
}


/* ==========================================================
   TEXT
========================================================== */

.speaking-hero__text {
    max-width: 390px;

    margin: 0;

    color: #53615b;

    font-size: 11px;

    line-height: 1.7;
}


/* ==========================================================
   ACTIONS
========================================================== */

.speaking-hero__actions {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 22px;
}


/* ==========================================================
   BUTTONS
========================================================== */

.speaking-hero__button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 38px;

    padding:
        9px
        14px;

    border-radius: 5px;

    font-size: 8px;

    font-weight: 700;

    line-height: 1;

    text-decoration: none;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .2s ease,
        border-color .2s ease;
}


.speaking-hero__button--primary {
    color: #ffffff;

    background: #10483a;

    border:
        1px solid #10483a;
}


.speaking-hero__button--primary:hover {
    color: #ffffff;

    background: #0c382e;

    transform: translateY(-2px);
}


.speaking-hero__button--secondary {
    color: #17483b;

    background: #ffffff;

    border:
        1px solid rgba(23,72,59,.34);
}


.speaking-hero__button--secondary:hover {
    color: #17483b;

    border-color: #17483b;

    transform: translateY(-2px);
}


/* ==========================================================
   RIGHT VISUAL
========================================================== */

.speaking-hero__visual {
    position: relative;

    min-height: 405px;
}


/* ==========================================================
   IMAGE PLACEHOLDER
========================================================== */

.speaking-hero__image-placeholder {
    width: 100%;
    height: 405px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #b69a78,
            #715d4c
        );

    border-radius:
        100px
        8px
        8px
        100px;

    box-shadow:
        0
        18px
        40px
        rgba(12,59,46,.08);
}


.speaking-hero__image-placeholder span {
    padding:
        7px
        10px;

    color: #ffffff;

    background: rgba(12,59,46,.60);

    border-radius: 999px;

    font-size: 8px;
}


/* ==========================================================
   QUOTE CARD
========================================================== */

.speaking-hero__quote {
    position: absolute;

    right: 12px;
    bottom: 20px;

    width: 195px;

    min-height: 205px;

    margin: 0;

    padding:
        23px
        21px
        20px;

    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #17483b,
            #0d342b
        );

    border:
        1px solid rgba(218,177,85,.72);

    border-radius: 13px;

    box-shadow:
        0
        16px
        28px
        rgba(12,59,46,.14);
}


.speaking-hero__quote-mark {
    display: block;

    margin-bottom: 8px;

    color: #d4a64f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 34px;

    font-weight: 700;

    line-height: .8;
}


.speaking-hero__quote p {
    max-width: 135px;

    margin: 0;

    color: rgba(255,255,255,.94);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 14px;

    line-height: 1.55;
}


/* ==========================================================
   DECORATIVE LEAF
========================================================== */

.speaking-hero__quote-leaf {
    position: absolute;

    right: 4px;
    bottom: -8px;

    color: rgba(218,177,85,.28);

    font-size: 78px;

    transform: rotate(-28deg);
}

/* ==========================================================
   SPEAKING — VALUES STRIP
========================================================== */

.speaking-values {
    position: relative;

    padding:
        0
        0
        28px;

    background: #fffdf9;
}


/* ==========================================================
   PANEL
========================================================== */

.speaking-values__panel {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    align-items: stretch;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f7f3e9,
            #fbf9f4
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 9px;
}


/* ==========================================================
   ITEM
========================================================== */

.speaking-values__item {
    position: relative;

    min-width: 0;

    display: grid;

    grid-template-columns:
        50px
        minmax(0, 1fr);

    gap: 13px;

    align-items: center;

    padding:
        18px
        20px;
}


/* separators */

.speaking-values__item:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 16px;
    right: 0;
    bottom: 16px;

    width: 1px;

    background:
        rgba(12,59,46,.10);
}


/* ==========================================================
   ICON
========================================================== */

.speaking-values__icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #e4bd67;

    background:
        linear-gradient(
            135deg,
            #194b3d,
            #10382f
        );

    border-radius: 50%;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;
}


/* ==========================================================
   TEXT
========================================================== */

.speaking-values__content h3 {
    margin:
        0
        0
        5px;

    color: #253f36;

    font-size: 10px;

    font-weight: 700;

    line-height: 1.3;
}


.speaking-values__content p {
    max-width: 150px;

    margin: 0;

    color: #66716b;

    font-size: 8px;

    line-height: 1.45;
}

/* ==========================================================
   SPEAKING — KEYNOTE & SPEAKING TOPICS
========================================================== */

.speaking-topics {
    position: relative;

    padding:
        8px
        0
        34px;

    background: #fffdf9;
}


/* ==========================================================
   HEADING
========================================================== */

.speaking-topics__heading {
    margin-bottom: 20px;

    text-align: center;
}


.speaking-topics__heading-row {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;
}


.speaking-topics__heading h2 {
    margin: 0;

    color: #1e4438;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;

    font-weight: 400;

    line-height: 1.2;
}


.speaking-topics__leaf {
    color: #6f8878;

    font-size: 14px;
}


.speaking-topics__heading p {
    margin:
        7px
        0
        0;

    color: #67726c;

    font-size: 9px;

    line-height: 1.5;
}


.speaking-topics__line {
    display: block;

    width: 24px;
    height: 1px;

    margin:
        8px
        auto
        0;

    background: #cda04b;
}


/* ==========================================================
   GRID
========================================================== */

.speaking-topics__grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 10px;
}


/* ==========================================================
   CARD
========================================================== */

.speaking-topic-card {
    min-width: 0;

    min-height: 260px;

    display: flex;

    flex-direction: column;

    align-items: center;

    padding:
        19px
        14px
        16px;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf6 100%
        );

    border:
        1px solid rgba(12,59,46,.09);

    border-radius: 8px;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}


.speaking-topic-card:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(23,72,59,.20);

    box-shadow:
        0
        12px
        24px
        rgba(12,59,46,.06);
}


/* ==========================================================
   CUSTOM SVG ICON
========================================================== */

.speaking-topic-card__icon {
    width: 62px;
    height: 62px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin:
        0
        auto
        12px;

    color: #16483b;

    transition:
        color .2s ease,
        transform .2s ease;
}


.speaking-topic-card__icon svg {
    width: 52px;
    height: 52px;

    display: block;

    overflow: visible;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.55;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.speaking-topic-card:hover
.speaking-topic-card__icon {
    color: #ad8030;

    transform:
        translateY(-2px);
}


/* ==========================================================
   TITLE
========================================================== */

.speaking-topic-card h3 {
    min-height: 42px;

    margin:
        0
        0
        8px;

    color: #213f35;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 1.2;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.speaking-topic-card p {
    margin: 0;

    color: #65706a;

    font-size: 8px;

    line-height: 1.5;
}


/* ==========================================================
   LINK
========================================================== */

.speaking-topic-card__link {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    margin-top: auto;

    padding-top: 15px;

    color: #17483b;

    font-size: 8px;

    font-weight: 700;

    text-decoration: none;
}


.speaking-topic-card__link:hover {
    color: #aa7b2d;
}

/* ==========================================================
   SPEAKING — EVENTS / PAST ENGAGEMENTS
   MATCHING APPROVED UI
========================================================== */

.speaking-events {
    position: relative;

    padding:
        0
        0
        32px;

    background: #fffdf9;
}


/* ==========================================================
   MAIN 3 COLUMN LAYOUT
========================================================== */

.speaking-events__layout {
    display: grid;

    grid-template-columns:
        minmax(330px, 1.08fr)
        minmax(300px, .92fr)
        minmax(235px, .70fr);

    gap: 13px;

    align-items: stretch;
}


/* ==========================================================
   LEFT + MIDDLE PANELS
========================================================== */

.speaking-upcoming,
.speaking-past-map {
    min-width: 0;

    overflow: hidden;

    background: #ffffff;

    border:
        1px solid rgba(12,59,46,.10);

    border-radius: 8px;
}


/* ==========================================================
   GREEN PANEL HEADER
========================================================== */

.speaking-events__panel-header {
    min-height: 42px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding:
        10px
        15px;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #17483b,
            #10382e
        );
}


.speaking-events__panel-header h2 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;

    font-weight: 400;

    line-height: 1.2;
}


.speaking-events__panel-header a {
    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;

    gap: 5px;

    color: #e5c06d;

    font-size: 7px;

    font-weight: 600;

    text-decoration: none;
}


/* ==========================================================
   UPCOMING EVENT LIST
========================================================== */

.speaking-upcoming__list {
    display: grid;

    gap: 4px;

    padding:
        5px
        6px
        0;
}


/* ==========================================================
   EVENT
========================================================== */

.speaking-upcoming__event {
    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr)
        28px;

    gap: 10px;

    align-items: center;

    min-height: 76px;

    padding:
        7px
        8px;

    background:
        #fbfaf6;

    border:
        1px solid rgba(12,59,46,.10);

    border-radius: 6px;
}


/* ==========================================================
   DATE
========================================================== */

.speaking-upcoming__date {
    position: relative;

    min-height: 60px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding-right: 8px;

    border-right:
        1px solid rgba(12,59,46,.10);
}


.speaking-upcoming__month {
    margin-bottom: 2px;

    color: #715d4d;

    font-size: 6px;

    font-weight: 700;

    letter-spacing: .08em;
}


.speaking-upcoming__date strong {
    color: #172f27;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 24px;

    font-weight: 400;

    line-height: .95;
}


.speaking-upcoming__year {
    margin-top: 3px;

    color: #66716b;

    font-size: 6px;
}


/* ==========================================================
   EVENT CONTENT
========================================================== */

.speaking-upcoming__content h3 {
    margin:
        0
        0
        3px;

    color: #203d33;

    font-size: 8px;

    font-weight: 700;

    line-height: 1.35;
}


.speaking-upcoming__location {
    display: block;

    margin-bottom: 4px;

    color: #65716b;

    font-size: 6px;
}


.speaking-upcoming__content p {
    margin: 0;

    color: #46564e;

    font-size: 7px;

    line-height: 1.4;
}


/* ==========================================================
   CALENDAR SVG
========================================================== */

.speaking-upcoming__calendar {
    display: flex;

    align-items: center;
    justify-content: center;
}


.speaking-upcoming__calendar svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: #17483b;

    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==========================================================
   UPCOMING BOTTOM LINK
========================================================== */

.speaking-upcoming__footer-link {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    gap: 7px;

    padding:
        9px
        13px;

    color: #e0bb67;

    background: #17483b;

    font-size: 7px;

    font-weight: 600;

    text-decoration: none;
}


/* ==========================================================
   MAP VISUAL
========================================================== */

.speaking-past-map__visual {
    position: relative;

    min-height: 208px;

    overflow: hidden;

    background: #fbfaf6;
}


.speaking-past-map__placeholder {
    position: absolute;

    inset:
        8px
        8px
        0;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #edf0e8,
            #dce5db
        );

    border-radius: 5px;
}


.speaking-past-map__placeholder span {
    padding:
        5px
        8px;

    color: #ffffff;

    background: rgba(12,59,46,.55);

    border-radius: 999px;

    font-size: 6px;
}


/* ==========================================================
   MAP ROUTE
========================================================== */

.speaking-past-map__route {
    position: absolute;

    inset:
        8px
        8px
        0;

    z-index: 2;

    width: calc(100% - 16px);
    height: calc(100% - 8px);

    pointer-events: none;
}


.speaking-past-map__route path {
    fill: none;

    stroke: #627b70;

    stroke-width: 1.4;

    stroke-dasharray:
        4
        4;

    opacity: .7;
}


/* ==========================================================
   MAP PINS
========================================================== */

.speaking-past-map__pin {
    position: absolute;

    z-index: 3;

    width: 10px;
    height: 10px;

    background: #ba842c;

    border:
        2px solid #ffffff;

    border-radius: 50%;

    box-shadow:
        0
        2px
        6px
        rgba(12,59,46,.20);
}


.speaking-past-map__pin--one {
    top: 42%;
    left: 19%;
}


.speaking-past-map__pin--two {
    top: 34%;
    left: 48%;
}


.speaking-past-map__pin--three {
    top: 48%;
    left: 67%;
}


.speaking-past-map__pin--four {
    top: 67%;
    left: 79%;
}


/* ==========================================================
   MAP STATISTICS
========================================================== */

.speaking-past-map__stats {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    padding:
        10px
        8px
        12px;

    background: #ffffff;
}


.speaking-past-map__stat {
    position: relative;

    min-width: 0;

    text-align: center;
}


.speaking-past-map__stat:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 2px;
    right: 0;
    bottom: 2px;

    width: 1px;

    background:
        rgba(12,59,46,.10);
}


.speaking-past-map__stat strong {
    display: block;

    margin-bottom: 3px;

    color: #17483b;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;

    font-weight: 400;

    line-height: 1;
}


.speaking-past-map__stat span {
    display: block;

    color: #56645e;

    font-size: 6px;

    line-height: 1.3;
}


/* ==========================================================
   RIGHT ENGAGEMENT LIST
========================================================== */

.speaking-engagement-list {
    display: grid;

    align-content: start;

    gap: 5px;

    min-width: 0;

    padding:
        10px
        11px;

    background:
        linear-gradient(
            135deg,
            #f7f3e9,
            #fbf9f4
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 8px;
}


/* ==========================================================
   ENGAGEMENT ITEM
========================================================== */

.speaking-engagement-list__item {
    display: grid;

    grid-template-columns:
        55px
        minmax(0, 1fr);

    gap: 9px;

    align-items: center;

    padding:
        4px
        0;
}


/* ==========================================================
   THUMBNAIL
========================================================== */

.speaking-engagement-list__image {
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    color: #ffffff;

    background: #788a7a;

    border-radius: 4px;
}


.speaking-engagement-list__image span {
    max-width: 90%;

    font-size: 5px;

    line-height: 1.1;

    text-align: center;
}


/* ==========================================================
   ENGAGEMENT TEXT
========================================================== */

.speaking-engagement-list__content h3 {
    margin:
        0
        0
        3px;

    color: #263e35;

    font-size: 7px;

    font-weight: 700;

    line-height: 1.3;
}


.speaking-engagement-list__content p {
    margin: 0;

    color: #6b746f;

    font-size: 6px;

    line-height: 1.3;
}

/* ==========================================================
   SPEAKING — WHAT ORGANIZERS SAY
========================================================== */

/* ==========================================================
   SPEAKING — TESTIMONIAL SLIDER
========================================================== */

.speaking-testimonials {
    position: relative;

    padding:
        0
        0
        30px;

    background: #fffdf9;
}


/* ==========================================================
   HEADING
========================================================== */

.speaking-testimonials__heading {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 15px;
}


.speaking-testimonials__heading h2 {
    margin: 0;

    color: #203f35;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;

    font-weight: 400;
}


.speaking-testimonials__heading span {
    color: #768d7e;

    font-size: 13px;
}


/* ==========================================================
   MAIN LAYOUT
========================================================== */

.speaking-testimonials__layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        225px;

    gap: 14px;

    align-items: stretch;
}


/* ==========================================================
   SLIDER
========================================================== */

.speaking-testimonials__slider {
    position: relative;

    min-width: 0;

    padding-bottom: 21px;
}


/* ==========================================================
   VIEWPORT
========================================================== */

.speaking-testimonials__viewport {
    width: 100%;

    overflow: hidden;
}


/* ==========================================================
   TRACK
========================================================== */

.speaking-testimonials__track {
    display: flex;

    gap: 10px;

    transition:
        transform .45s cubic-bezier(
            .22,
            .61,
            .36,
            1
        );

    will-change: transform;
}


/* ==========================================================
   CARD
   Desktop = 3 visible
========================================================== */

.speaking-testimonial-card {
    flex:
        0
        0
        calc(
            (100% - 20px) / 3
        );

    min-width: 0;

    min-height: 185px;

    padding:
        18px
        17px;

    background:
        linear-gradient(
            135deg,
            #f8f5ed,
            #fcfbf8
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 8px;
}


/* ==========================================================
   QUOTE + STARS
========================================================== */

.speaking-testimonial-card__top {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 9px;
}


.speaking-testimonial-card__quote {
    color: #17483b;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 33px;

    font-weight: 700;

    line-height: .7;
}


.speaking-testimonial-card__stars {
    color: #c99334;

    font-size: 8px;

    letter-spacing: 2px;
}


/* ==========================================================
   TESTIMONIAL TEXT
========================================================== */

.speaking-testimonial-card__text {
    margin: 0;

    color: #485850;

    font-size: 8px;

    line-height: 1.55;
}


/* ==========================================================
   AUTHOR
========================================================== */

.speaking-testimonial-card__author {
    display: grid;

    grid-template-columns:
        43px
        minmax(0, 1fr);

    gap: 9px;

    align-items: center;

    margin-top: 14px;
}


.speaking-testimonial-card__avatar {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    color: #ffffff;

    background: #819184;

    border-radius: 50%;
}


.speaking-testimonial-card__avatar span {
    max-width: 90%;

    font-size: 5px;

    text-align: center;
}


.speaking-testimonial-card__author strong {
    display: block;

    margin-bottom: 2px;

    color: #263e35;

    font-size: 7px;
}


.speaking-testimonial-card__author > div > span {
    display: block;

    color: #6a746f;

    font-size: 6px;
}


/* ==========================================================
   ARROWS
========================================================== */

.speaking-testimonials__arrow {
    position: absolute;

    top: 50%;

    z-index: 5;

    width: 32px;
    height: 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    color: #17483b;

    background: #ffffff;

    border:
        1px solid rgba(23,72,59,.14);

    border-radius: 50%;

    font-family: inherit;

    font-size: 12px;

    cursor: pointer;

    transform:
        translateY(-65%);

    box-shadow:
        0
        5px
        14px
        rgba(12,59,46,.08);

    transition:
        color .2s ease,
        background-color .2s ease,
        transform .2s ease;
}


.speaking-testimonials__arrow:hover {
    color: #ffffff;

    background: #17483b;
}


.speaking-testimonials__arrow--prev {
    left: -40px;
}


.speaking-testimonials__arrow--next {
    right: -8px;
}


/* ==========================================================
   DOTS
========================================================== */

.speaking-testimonials__dots {
    position: absolute;

    left: 50%;
    bottom: 0;

    display: flex;

    align-items: center;

    gap: 6px;

    transform:
        translateX(-50%);
}


.speaking-testimonials__dot {
    width: 6px;
    height: 6px;

    padding: 0;

    background: transparent;

    border:
        1px solid #acb4ad;

    border-radius: 50%;

    cursor: pointer;

    transition:
        width .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}


.speaking-testimonials__dot.is-active {
    width: 7px;
    height: 7px;

    background: #17483b;

    border-color: #17483b;
}


/* ==========================================================
   TAILORED CARD
========================================================== */

.speaking-tailored {
    position: relative;

    min-height: 205px;

    overflow: hidden;

    padding:
        20px
        17px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #17483b,
            #0e352c
        );

    border-radius: 8px;
}


.speaking-tailored h3 {
    margin:
        0
        0
        14px;

    color: #fffaf0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 14px;

    font-weight: 400;
}


.speaking-tailored ul {
    display: grid;

    gap: 10px;

    margin: 0;

    padding: 0;

    list-style: none;
}


.speaking-tailored li {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        22px
        1fr;

    gap: 7px;

    align-items: center;

    color: rgba(255,255,255,.86);

    font-size: 7px;
}


/* SVG icons */

.speaking-tailored__icon {
    width: 21px;
    height: 21px;

    color: #d9aa4d;
}


.speaking-tailored__icon svg {
    width: 100%;
    height: 100%;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.speaking-tailored__leaf {
    position: absolute;

    right: -13px;
    bottom: -20px;

    color: rgba(218,177,85,.24);

    font-size: 100px;

    transform: rotate(-28deg);
}


/* ==========================================================
   SPEAKING — MEDIA KIT
========================================================== */

.speaking-media-kit {
    position: relative;

    padding:
        0
        0
        12px;

    background: #fffdf9;
}


.speaking-media-kit__panel {
    padding:
        16px
        18px
        0;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f7f3e9,
            #fbf9f4
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 8px;
}


.speaking-media-kit__heading {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 12px;
}


.speaking-media-kit__heading h2 {
    margin: 0;

    color: #243f36;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;

    font-weight: 400;
}


.speaking-media-kit__heading span {
    color: #70897a;

    font-size: 12px;
}


/* GRID */

.speaking-media-kit__layout {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr))
        190px;

    gap: 8px;

    align-items: stretch;
}


/* RESOURCE CARD */

.speaking-media-resource {
    display: grid;

    grid-template-columns:
        45px
        minmax(0, 1fr);

    gap: 10px;

    align-items: center;

    min-height: 82px;

    padding:
        12px
        10px;

    color: inherit;

    background: rgba(255,255,255,.54);

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 6px;

    text-decoration: none;
}


.speaking-media-resource__icon {
    width: 42px;
    height: 42px;

    color: #17483b;
}


.speaking-media-resource__icon svg {
    width: 100%;
    height: 100%;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.speaking-media-resource strong {
    display: block;

    margin-bottom: 4px;

    color: #263e35;

    font-size: 7px;
}


.speaking-media-resource span {
    display: block;

    color: #68736d;

    font-size: 6px;

    line-height: 1.4;
}


/* IMAGE */

.speaking-media-kit__visual {
    min-height: 82px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    color: #ffffff;

    background: #877864;

    border-radius:
        6px
        6px
        0
        0;
}


.speaking-media-kit__visual span {
    max-width: 90%;

    font-size: 6px;

    text-align: center;
}
/* ==========================================================
   SPEAKING — FINAL CTA
========================================================== */

.speaking-cta {
    position: relative;

    min-height: 165px;

    overflow: hidden;

    background: #123a30;
}


/* BACKGROUND */

.speaking-cta__background {
    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #183f34,
            #6d634d
        );
}


.speaking-cta__background span {
    padding:
        5px
        8px;

    background: rgba(12,59,46,.55);

    border-radius: 999px;

    font-size: 6px;
}


/* OVERLAY */

.speaking-cta__overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(11,49,40,.98) 0%,
            rgba(11,49,40,.94) 37%,
            rgba(11,49,40,.55) 55%,
            rgba(11,49,40,.10) 100%
        );
}


/* CONTENT */

.speaking-cta__content {
    position: relative;

    z-index: 3;

    max-width: 460px;

    padding:
        34px
        0;
}


.speaking-cta__heading {
    display: flex;

    align-items: center;

    gap: 8px;
}


.speaking-cta__heading h2 {
    margin: 0;

    color: #fffaf0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 24px;

    font-weight: 400;
}


.speaking-cta__heading > span {
    color: #d6ab55;

    font-size: 13px;
}


.speaking-cta__content p {
    max-width: 390px;

    margin:
        8px
        0
        0;

    color: rgba(255,255,255,.76);

    font-size: 9px;

    line-height: 1.5;
}


/* BUTTON */

.speaking-cta__content a {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-top: 14px;

    padding:
        9px
        15px;

    color: #173d31;

    background: #e2b65a;

    border-radius: 4px;

    font-size: 8px;

    font-weight: 700;

    text-decoration: none;
}


/* LEAF */

.speaking-cta__leaf {
    position: absolute;

    z-index: 2;

    left: -23px;
    bottom: -24px;

    color: rgba(224,177,72,.32);

    font-size: 130px;

    transform: rotate(18deg);
}


/* FOOTER SPACE */

.speaking-page + .site-footer {
    margin-top: 28px;
}

/* ==========================================================
   SPEAKING PAGE — RESPONSIVE
   Paste at the END of speaking.css
========================================================== */


/* ==========================================================
   SMALL LAPTOP / LARGE TABLET — 1200px
========================================================== */

@media (max-width: 1200px) {

    /* HERO */

    .speaking-hero__layout {
        grid-template-columns:
            minmax(300px, .78fr)
            minmax(0, 1.22fr);

        gap: 32px;
    }

    .speaking-hero__title {
        font-size: 43px;
    }

    .speaking-hero__visual,
    .speaking-hero__image-placeholder {
        min-height: 370px;
        height: 370px;
    }


    /* VALUES */

    .speaking-values__item {
        padding:
            16px
            14px;
    }


    /* TOPICS */

    .speaking-topics__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 12px;
    }


    /* EVENTS */

    .speaking-events__layout {
        grid-template-columns:
            minmax(300px, 1fr)
            minmax(280px, .9fr)
            minmax(220px, .7fr);
    }


    /* TESTIMONIALS */

    .speaking-testimonials__layout {
        grid-template-columns:
            minmax(0, 1fr)
            210px;
    }


    /* MEDIA KIT */

    .speaking-media-kit__layout {
        grid-template-columns:
            repeat(4, minmax(0, 1fr))
            160px;
    }
}


/* ==========================================================
   TABLET — 992px
========================================================== */

@media (max-width: 992px) {

    /* ======================================================
       HERO
    ====================================================== */

    .speaking-hero {
        margin-top: 35px;

        padding:
            44px
            0
            30px;
    }

    .speaking-hero__layout {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .speaking-hero__content {
        max-width: 620px;
    }

    .speaking-hero__title {
        font-size: 45px;
    }

    .speaking-hero__text {
        max-width: 520px;

        font-size: 12px;
    }

    .speaking-hero__visual {
        min-height: 350px;
    }

    .speaking-hero__image-placeholder {
        height: 350px;

        border-radius:
            90px
            8px
            8px
            8px;
    }

    .speaking-hero__quote {
        right: 18px;
        bottom: 18px;
    }


    /* ======================================================
       VALUES
    ====================================================== */

    .speaking-values__panel {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .speaking-values__item:nth-child(2)::after {
        display: none;
    }

    .speaking-values__item:nth-child(-n+2) {
        border-bottom:
            1px solid rgba(12,59,46,.10);
    }


    /* ======================================================
       TOPICS
    ====================================================== */

    .speaking-topics__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .speaking-topic-card {
        min-height: 245px;
    }


    /* ======================================================
       EVENTS
    ====================================================== */

    .speaking-events__layout {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .speaking-engagement-list {
        grid-column: 1 / -1;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .speaking-engagement-list__item {
        padding:
            7px
            0;
    }


    /* ======================================================
       TESTIMONIALS
    ====================================================== */

    .speaking-testimonials__layout {
        grid-template-columns: 1fr;
    }

    .speaking-tailored {
        min-height: auto;
    }

    .speaking-tailored ul {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            14px
            16px;
    }

    .speaking-testimonials__arrow--prev {
        left: -8px;
    }

    .speaking-testimonials__arrow--next {
        right: -8px;
    }


    /* ======================================================
       MEDIA KIT
    ====================================================== */

    .speaking-media-kit__layout {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .speaking-media-kit__visual {
        grid-column: 1 / -1;

        min-height: 150px;

        border-radius: 6px;
    }


    /* ======================================================
       CTA
    ====================================================== */

    .speaking-cta__content {
        max-width: 430px;
    }
}


/* ==========================================================
   MOBILE — 767px
========================================================== */

@media (max-width: 767px) {

    /* ======================================================
       HERO
    ====================================================== */

    .speaking-hero {
        margin-top: 20px;

        padding:
            34px
            0
            32px;
    }

    .speaking-hero__layout {
        grid-template-columns: 1fr;

        gap: 24px;
    }

    .speaking-hero__content {
        max-width: 100%;
    }

    .speaking-hero__title {
        font-size: clamp(35px, 10vw, 42px);
    }

    .speaking-hero__text {
        max-width: 100%;

        font-size: 12px;
    }

    .speaking-hero__actions {
        flex-wrap: wrap;

        gap: 10px;
    }

    .speaking-hero__button {
        min-height: 40px;

        font-size: 9px;
    }

    .speaking-hero__visual {
        min-height: 320px;
    }

    .speaking-hero__image-placeholder {
        height: 285px;

        border-radius:
            65px
            7px
            7px
            7px;
    }

    .speaking-hero__quote {
        right: 12px;
        bottom: 0;

        width: min(190px, 62%);

        min-height: 165px;

        padding:
            20px
            18px;
    }

    .speaking-hero__quote p {
        font-size: 13px;
    }


    /* ======================================================
       VALUES
    ====================================================== */

    .speaking-values__panel {
        grid-template-columns: 1fr;
    }

    .speaking-values__item {
        grid-template-columns:
            48px
            minmax(0, 1fr);

        padding:
            16px
            18px;

        border-bottom:
            1px solid rgba(12,59,46,.10);
    }

    .speaking-values__item:last-child {
        border-bottom: 0;
    }

    .speaking-values__item::after {
        display: none;
    }

    .speaking-values__content h3 {
        font-size: 11px;
    }

    .speaking-values__content p {
        font-size: 9px;
    }


    /* ======================================================
       TOPICS
    ====================================================== */

    .speaking-topics {
        padding:
            8px
            0
            30px;
    }

    .speaking-topics__heading h2 {
        font-size: 24px;
    }

    .speaking-topics__heading p {
        font-size: 10px;
    }

    .speaking-topics__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 11px;
    }

    .speaking-topic-card {
        min-height: 245px;

        padding:
            18px
            14px;
    }

    .speaking-topic-card h3 {
        font-size: 15px;
    }

    .speaking-topic-card p {
        font-size: 9px;
    }


    /* ======================================================
       EVENTS
    ====================================================== */

    .speaking-events__layout {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .speaking-upcoming,
    .speaking-past-map,
    .speaking-engagement-list {
        width: 100%;
    }

    .speaking-engagement-list {
        grid-template-columns: 1fr 1fr;
    }

    .speaking-events__panel-header h2 {
        font-size: 15px;
    }

    .speaking-upcoming__content h3 {
        font-size: 9px;
    }

    .speaking-upcoming__content p {
        font-size: 8px;
    }

    .speaking-past-map__visual {
        min-height: 240px;
    }

    .speaking-past-map__stat strong {
        font-size: 18px;
    }

    .speaking-past-map__stat span {
        font-size: 7px;
    }


    /* ======================================================
       TESTIMONIAL SLIDER
    ====================================================== */

    .speaking-testimonials {
        padding-bottom: 28px;
    }

    .speaking-testimonials__heading h2 {
        font-size: 21px;
    }

    .speaking-testimonials__layout {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .speaking-testimonial-card {
        flex:
            0
            0
            calc((100% - 10px) / 2);

        min-height: 190px;
    }

    .speaking-testimonial-card__text {
        font-size: 9px;
    }

    .speaking-testimonials__arrow {
        width: 30px;
        height: 30px;
    }

    .speaking-testimonials__arrow--prev {
        left: -5px;
    }

    .speaking-testimonials__arrow--next {
        right: -5px;
    }

    .speaking-tailored {
        padding:
            20px
            18px;
    }

    .speaking-tailored ul {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* ======================================================
       MEDIA KIT
    ====================================================== */

    .speaking-media-kit__panel {
        padding:
            16px
            14px
            14px;
    }

    .speaking-media-kit__heading h2 {
        font-size: 17px;
    }

    .speaking-media-kit__layout {
        grid-template-columns: 1fr;
    }

    .speaking-media-resource {
        min-height: 80px;
    }

    .speaking-media-kit__visual {
        grid-column: auto;

        min-height: 180px;
    }


    /* ======================================================
       CTA
    ====================================================== */

    .speaking-cta {
        min-height: 190px;
    }

    .speaking-cta__content {
        max-width: 360px;

        padding:
            34px
            0;
    }

    .speaking-cta__heading h2 {
        font-size: 23px;
    }

    .speaking-cta__content p {
        font-size: 10px;
    }

    .speaking-cta__content a {
        padding:
            10px
            15px;

        font-size: 9px;
    }

    .speaking-page + .site-footer {
        margin-top: 24px;
    }
}


/* ==========================================================
   SMALL MOBILE — 480px
========================================================== */

@media (max-width: 480px) {

    /* HERO */

    .speaking-hero {
        padding-top: 28px;
    }

    .speaking-hero__title {
        font-size: 34px;
    }

    .speaking-hero__actions {
        align-items: stretch;

        flex-direction: column;
    }

    .speaking-hero__button {
        width: 100%;
    }

    .speaking-hero__visual {
        min-height: 300px;
    }

    .speaking-hero__image-placeholder {
        height: 250px;

        border-radius:
            50px
            6px
            6px
            6px;
    }

    .speaking-hero__quote {
        width: 175px;

        min-height: 145px;
    }


    /* TOPICS */

    .speaking-topics__grid {
        grid-template-columns: 1fr;
    }

    .speaking-topic-card {
        min-height: 230px;
    }


    /* EVENTS */

    .speaking-upcoming__event {
        grid-template-columns:
            48px
            minmax(0, 1fr)
            24px;

        gap: 8px;
    }

    .speaking-engagement-list {
        grid-template-columns: 1fr;
    }

    .speaking-past-map__stats {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        row-gap: 12px;
    }

    .speaking-past-map__stat:nth-child(2)::after {
        display: none;
    }


    /* TESTIMONIALS */

    .speaking-testimonial-card {
        flex:
            0
            0
            100%;
    }

    .speaking-tailored ul {
        grid-template-columns: 1fr;
    }


    /* MEDIA KIT */

    .speaking-media-resource {
        grid-template-columns:
            42px
            minmax(0, 1fr);
    }


    /* CTA */

    .speaking-cta {
        min-height: 210px;
    }

    .speaking-cta__content {
        max-width: 300px;
    }

    .speaking-cta__heading h2 {
        font-size: 21px;
    }
}


/* ==========================================================
   VERY SMALL MOBILE — 360px
========================================================== */

@media (max-width: 360px) {

    .speaking-hero__title {
        font-size: 31px;
    }

    .speaking-hero__quote {
        width: 165px;
    }

    .speaking-events__panel-header {
        align-items: flex-start;

        flex-direction: column;
    }

    .speaking-past-map__stats {
        grid-template-columns: 1fr;
    }

    .speaking-past-map__stat::after {
        display: none;
    }
}