/*
 * Extracted from mu-plugins/kalon-about-page.php on 2026-04-10
 * (Phase 4 of the kalon-theme refactor).
 */


    /* ── Hero ──────────────────────────────────────────────── */
    .kab-hero {
        position: relative !important;
        height: 55svh !important;
        min-height: 400px !important;
        max-height: 600px !important;
        overflow: hidden;
    }
    .kab-hero__img {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important;
        object-fit: cover !important;
        object-position: center 70% !important;
        display: block; z-index: 0;
    }
    .kab-hero .kalon-hero__content {
        position: absolute !important;
        top: 0; left: 0; right: 0; bottom: 0;
        width: 100% !important; max-width: 100% !important;
        display: flex; flex-direction: column;
        align-items: center; justify-content: center;
        z-index: 2; padding: 0 24px !important; margin: 0 !important;
        background: rgba(0,0,0,0.45);
    }
    .kab-hero .kalon-eyebrow {
        color: rgba(255,255,255,0.7) !important;
        -webkit-text-fill-color: rgba(255,255,255,0.7) !important;
        letter-spacing: 0.14em; background: none !important;
    }


    /* ── Timeline Section — Sand bg + branded K watermark ─── */
    .kab-timeline-section {
        position: relative;
        padding: 72px 24px 60px;
        overflow: hidden;
        background: #ebe5dc !important;
    }
    /* Faded gradient border lines — at section edges */
    .kab-tl-gradient-line {
        pointer-events: none;
        position: absolute; left: 10%; right: 10%; height: 2px;
        background: linear-gradient(90deg, transparent 0%, var(--kalon-cyan) 30%, var(--kalon-green) 70%, transparent 100%);
        opacity: 0.5; z-index: 3;
    }
    .kab-tl-gradient-line--top { top: 0; }
    .kab-tl-gradient-line--bottom { bottom: 0; }
    /* Branded K watermark — "burned" into the sand */
    .kab-timeline-section::before {
        content: "";
        position: absolute;
        top: 50%; left: 50%;
        width: 1800px; height: 1800px;
        transform: translate(-50%, -50%);
        background-image: url("https://kalonsurf.com/wp-content/uploads/2020/11/kalon-logo-invert_gray.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0.06;
        filter: brightness(0.4) sepia(0.3);
        z-index: 0;
        pointer-events: none;
    }
    /* No wash overlay needed on solid sand */
    .kab-timeline-section::after {
        display: none;
    }

    .kab-timeline-header {
        position: relative; z-index: 2;
        text-align: center; margin-bottom: 48px;
    }
    .kab-timeline-header h2 {
        font-family: var(--kalon-font-body) !important;
        font-size: 32px !important; font-weight: 300 !important;
        letter-spacing: 0.06em !important; text-transform: uppercase !important;
        color: var(--kalon-text-primary) !important; margin: 0 0 12px !important;
    }
    .kab-timeline-header h2::after {
        content: ''; display: block; width: 80px; height: 3px;
        background: var(--kalon-gradient); margin: 14px auto 0;
    }
    .kab-timeline-header p {
        font-family: var(--kalon-font-serif);
        font-size: 19px; font-weight: 300; font-style: italic;
        color: var(--kalon-text-light); margin-top: 16px;
    }

    /* ── Timeline Spine ───────────────────────────────────── */
    .kab-timeline {
        position: relative; z-index: 2;
        max-width: 1060px; margin: 0 auto;
    }
    @media (min-width: 901px) {
        .kab-timeline::before {
            content: ''; position: absolute; left: 50%; top: 0; bottom: 0;
            width: 4px; transform: translateX(-50%);
            background: linear-gradient(180deg,
                transparent 0%,
                rgba(0,179,219,0.25) 8%,
                rgba(44,196,150,0.25) 50%,
                rgba(88,214,82,0.25) 100%
            );
            border-radius: 4px;
            z-index: 1;
        }
    }

    /* ── Timeline Items — Stepped dots ────────────────────── */
    .kab-tl-item {
        display: flex; align-items: flex-start;
        position: relative;
        --dotY: 36px;
        padding-bottom: 32px;
    }
    .kab-tl-item:last-child { padding-bottom: 0; }

    /* Gentle alternating dot positions — desktop only */
    @media (min-width: 901px) {
        .kab-tl-item:nth-child(1) { --dotY: 36px; }
        .kab-tl-item:nth-child(2) { --dotY: 56px; }
        .kab-tl-item:nth-child(3) { --dotY: 36px; }
        .kab-tl-item:nth-child(4) { --dotY: 56px; }
        .kab-tl-item:nth-child(5) { --dotY: 36px; }

        .kab-tl-item--left { padding-right: calc(50% + 48px); }
        .kab-tl-item--left .kab-tl-card { margin-left: auto; }
        .kab-tl-item--right { padding-left: calc(50% + 48px); }
    }

    /* Center card (Today) — dot at top — desktop only */
    @media (min-width: 901px) {
        .kab-tl-item--center {
            padding-left: 0 !important;
            padding-right: 0 !important;
            justify-content: center;
        }
        .kab-tl-item--center .kab-tl-card {
            max-width: 560px;
            margin: 0 auto;
            z-index: 2;
            position: relative;
            background: rgba(255,255,255,0.95);
            text-align: center;
        }
        .kab-tl-item--center:last-child .kab-tl-dot {
            top: 0 !important;
        }
        .kab-tl-item--center:last-child .kab-tl-card {
            margin-top: 32px !important;
        }
        .kab-tl-item--center:last-child .kab-tl-year {
            top: 0 !important;
            transform: translateX(24px) translateY(-2px) !important;
        }
    }

    /* ── Dots — Premium (desktop only) ────────────────────── */
    @media (min-width: 901px) {
        .kab-tl-dot {
            position: absolute; left: 50%; top: var(--dotY);
            width: 16px; height: 16px; border-radius: 50%;
            background: var(--kalon-gradient);
            transform: translateX(-50%); z-index: 3;
            box-shadow:
                0 0 0 5px rgba(255,255,255,0.92),
                0 4px 16px rgba(0,0,0,0.08);
        }
    }

    /* ── Year Labels (desktop positioning) ─────────────────── */
    .kab-tl-year {
        font-family: var(--kalon-font-body);
        font-size: 11px; font-weight: 600;
        letter-spacing: 0.1em; color: var(--kalon-text-faint);
        white-space: nowrap;
    }
    @media (min-width: 901px) {
        .kab-tl-year {
            position: absolute; left: 50%; top: var(--dotY);
            transform: translateY(-1px);
        }
        .kab-tl-item--left .kab-tl-year { transform: translateX(34px) translateY(-1px); }
        .kab-tl-item--right .kab-tl-year { transform: translateX(calc(-100% - 34px)) translateY(-1px); }
        .kab-tl-item--center .kab-tl-year {
            transform: translateX(-50%) translateY(-28px);
            text-align: center;
        }
    }

    /* ── Cards — Glass editorial ──────────────────────────── */
    .kab-tl-card {
        background: rgba(255,255,255,0.72);
        border: 1px solid rgba(0,0,0,0.06);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-radius: 14px;
        padding: 36px 32px; width: 100%;
        position: relative;
        transition: transform 0.3s, box-shadow 0.3s;
        box-shadow: none;
    }
    @media (min-width: 901px) {
        .kab-tl-card { margin-top: calc(var(--dotY) - 36px); }
    }
    .kab-tl-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px rgba(0,0,0,0.07);
    }
    /* Fallback for browsers without backdrop-filter */
    @supports not (backdrop-filter: blur(8px)) {
        .kab-tl-card { background: rgba(255,255,255,0.92); }
    }

    .kab-tl-card__title {
        font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
        font-size: 22px !important; font-weight: 300 !important;
        font-style: normal !important; color: var(--kalon-text-primary) !important;
        text-transform: uppercase !important; letter-spacing: 0.04em !important;
        margin: 0 0 18px !important; line-height: 1.2 !important;
        padding-bottom: 16px !important;
    }
    .kab-tl-card__title::after {
        content: ''; display: block;
        width: 50px; height: 3px;
        background: linear-gradient(90deg, #00B3DB 0%, #58D652 100%);
        margin-top: 12px;
    }
    .kab-tl-card__body {
        font-family: var(--kalon-font-body);
        font-size: 14px; line-height: 1.8; color: var(--kalon-text-body);
    }
    .kab-tl-card__body p { margin: 0 0 12px; }
    .kab-tl-card__body p:last-child { margin-bottom: 0; }
    .kab-tl-em {
        font-family: var(--kalon-font-serif);
        font-size: 18px; font-weight: 300; font-style: italic;
        color: var(--kalon-text-primary);
        display: block; margin: 24px 0 12px; line-height: 1.4;
        padding: 16px 0 16px 16px;
        border-left: 2px solid; border-image: var(--kalon-gradient) 1;
    }

    /* ── Manifesto — floats on the sand, frames the timeline ── */
    .kab-manifesto {
        position: relative; z-index: 2;
        max-width: 620px; margin: 0 auto 88px;
        text-align: center;
    }
    .kab-manifesto__title {
        font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
        font-size: 32px; font-weight: 300;
        letter-spacing: 0.06em; text-transform: uppercase;
        color: var(--kalon-text-primary);
        margin: 0 0 8px; line-height: 1.2;
    }
    .kab-manifesto__title::after {
        content: ''; display: block;
        width: 80px; height: 3px;
        background: linear-gradient(90deg, #00B3DB 0%, #58D652 100%);
        margin: 16px auto 0;
    }
    .kab-manifesto__leadin {
        font-family: var(--kalon-font-body);
        font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
        color: var(--kalon-text-light); font-weight: 500;
        margin: 40px 0 12px;
    }
    .kab-manifesto__statement {
        font-family: var(--kalon-font-serif);
        font-size: clamp(28px, 4vw, 38px); font-weight: 300; font-style: italic;
        color: var(--kalon-text-primary); line-height: 1.3;
        margin: 0; padding: 36px 0 40px;
        border-top: none; border-bottom: none;
        position: relative;
    }
    .kab-manifesto__statement::before,
    .kab-manifesto__statement::after {
        content: ''; display: block; position: absolute;
        left: 10%; right: 10%; height: 2px;
        background: linear-gradient(90deg, transparent 0%, var(--kalon-cyan) 30%, var(--kalon-green) 70%, transparent 100%);
        opacity: 0.4;
    }
    .kab-manifesto__statement::before { top: 0; }
    .kab-manifesto__statement::after { bottom: 0; }
    .kab-manifesto__body {
        font-family: var(--kalon-font-body);
        font-size: 15px; line-height: 2; color: var(--kalon-text-light);
        margin-top: 40px;
    }
    .kab-manifesto__body p { margin: 0 0 16px; }
    .kab-manifesto__body p:last-child { margin-bottom: 0; }
    .kab-manifesto__close {
        font-family: var(--kalon-font-body);
        font-size: 15px; font-weight: 500; letter-spacing: 0.02em;
        color: var(--kalon-text-primary);
        margin-top: 36px;
    }

    /* Center card (Today) — text centered */
    .kab-tl-item--center .kab-tl-card__title::after {
        margin-left: auto; margin-right: auto;
    }
    .kab-tl-item--center .kab-tl-card__body {
        text-align: center;
    }
    .kab-tl-item--center .kab-tl-em {
        text-align: left;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }


    /* ── Founders ─────────────────────────────────────────── */
    .kab-founders__intro {
        font-family: var(--kalon-font-serif);
        font-size: 20px; font-weight: 300; font-style: italic;
        color: var(--kalon-text-body); max-width: 560px;
        margin: 0 auto 56px; line-height: 1.5; text-align: center;
    }
    .kab-founders__grid {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 64px; margin-top: 0;
    }
    .kab-founder-card { text-align: center; }
    .kab-founder-card__photo {
        width: 280px; height: 280px; border-radius: 12px !important;
        object-fit: cover; display: block; margin: 0 auto 28px;
    }
    .kab-photo--kjeld  { object-position: 50% 14%; }
    .kab-photo--silene { object-position: 50% 18%; }
    .kab-founder-card__name {
        font-family: var(--kalon-font-body) !important;
        font-size: 18px !important; font-weight: 400 !important;
        letter-spacing: 0.05em !important; text-transform: uppercase !important;
        color: var(--kalon-text-primary) !important; margin: 0 0 4px !important;
    }
    .kab-founder-card__role {
        font-family: var(--kalon-font-body); font-size: 11px; font-weight: 500;
        letter-spacing: 0.08em; text-transform: uppercase;
        background: var(--kalon-gradient);
        -webkit-background-clip: text; -webkit-text-fill-color: transparent;
        background-clip: text; margin: 0 0 20px;
    }
    .kab-founder-card__bio {
        font-family: var(--kalon-font-body); font-size: 14.5px; line-height: 1.7;
        color: var(--kalon-text-body); max-width: 420px; margin: 0 auto; text-align: left;
    }
    .kab-founder-card__bio p { margin: 0 0 12px; }
    .kab-founder-card__bio p:last-child { margin-bottom: 0; }

    .kab-proof {
        display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;
        margin-top: 64px; padding-top: 32px;
        border-top: 1px solid var(--kalon-border-faint);
    }
    .kab-proof__item {
        font-family: var(--kalon-font-body); font-size: 12px; font-weight: 500;
        letter-spacing: 0.08em; text-transform: uppercase; color: var(--kalon-text-faint);
        white-space: nowrap;
    }

    /* ── Press ─────────────────────────────────────────────── */
    .kab-press__logos {
        display: flex; align-items: baseline; justify-content: center;
        gap: 42px; flex-wrap: wrap; margin: 38px 0 54px; padding: 0 6px;
    }
    .kab-press__wm {
        color: var(--kalon-text-body); opacity: 0.40; white-space: nowrap;
        transition: opacity 0.2s; cursor: default; line-height: 1;
    }
    .kab-press__wm:hover { opacity: 0.65; }
    .kab-wm--forbes   { font-family: Georgia, 'Times New Roman', serif; font-size: 20px; font-weight: 400; font-style: italic; }
    .kab-wm--vogue    { font-family: 'Didot', 'Bodoni MT', 'Times New Roman', serif; font-size: 22px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; }
    .kab-wm--cnn      { font-family: var(--kalon-font-body); font-size: 18px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
    .kab-wm--afar     { font-family: var(--kalon-font-body); font-size: 16px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; }
    .kab-wm--tl       { font-family: Georgia, 'Times New Roman', serif; font-size: 15px; font-weight: 400; letter-spacing: 0.04em; }
    .kab-wm--usa      { font-family: var(--kalon-font-body); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
    .kab-wm--conde    { font-family: Georgia, 'Times New Roman', serif; font-size: 14px; font-weight: 400; font-style: italic; letter-spacing: 0.02em; }

    .kab-press__cards {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
    }
    .kab-press__card {
        background: #ffffff; border-radius: 12px;
        padding: 30px 26px; display: flex; flex-direction: column;
        transition: transform 0.2s, box-shadow 0.2s;
        box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    }
    .kab-press__card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.07);
    }
    .kab-press__card-wm { color: var(--kalon-text-body); opacity: 0.35; margin: 0 0 18px; line-height: 1; }
    .kab-press__card-pub {
        font-family: var(--kalon-font-body); font-size: 11px; font-weight: 600;
        letter-spacing: 0.1em; text-transform: uppercase;
        background: var(--kalon-gradient);
        -webkit-background-clip: text; -webkit-text-fill-color: transparent;
        background-clip: text; margin: 0 0 14px;
    }
    .kab-press__card-angle {
        font-family: var(--kalon-font-body); font-size: 14px; font-weight: 400;
        color: var(--kalon-text-primary); line-height: 1.6;
        margin: 0 0 auto; padding-bottom: 18px;
    }
    .kab-press__card-link {
        font-family: var(--kalon-font-body); font-size: 12px; font-weight: 500;
        letter-spacing: 0.06em; text-transform: uppercase;
        color: var(--kalon-cyan) !important;
        -webkit-text-fill-color: var(--kalon-cyan) !important;
        text-decoration: none !important; transition: color 0.2s;
    }
    .kab-press__card-link:hover {
        color: var(--kalon-green) !important;
        -webkit-text-fill-color: var(--kalon-green) !important;
    }
    .kab-press__card-link::after { content: ' \2192'; }

    /* ── Team ─────────────────────────────────────────────── */
    .kab-team__grid {
        display: grid; grid-template-columns: repeat(2, 1fr);
        gap: 48px; margin-top: 40px; max-width: 740px;
        margin-left: auto; margin-right: auto;
    }
    .kab-team__member {
        display: flex; flex-direction: column;
        align-items: center; text-align: center;
    }
    .kab-team__photo {
        width: 180px; height: 180px;
        border-radius: 12px !important;
        object-fit: cover; display: block; margin-bottom: 24px;
    }
    .kab-photo--freddy { object-position: 50% 12%; }
    .kab-photo--josue  { object-position: 50% 16%; }
    .kab-team__name {
        font-family: var(--kalon-font-body) !important;
        font-size: 16px !important; font-weight: 500 !important;
        letter-spacing: 0.04em !important; text-transform: uppercase !important;
        color: var(--kalon-text-primary) !important; margin: 0 0 4px !important;
    }
    .kab-team__role {
        font-family: var(--kalon-font-body); font-size: 11px; font-weight: 500;
        letter-spacing: 0.06em; text-transform: uppercase;
        color: var(--kalon-text-light); margin: 0 0 14px;
    }
    .kab-team__bio {
        font-family: var(--kalon-font-body); font-size: 14px; line-height: 1.7;
        color: var(--kalon-text-body); margin: 0; text-align: left; max-width: 320px;
    }

    /* ── CTA ──────────────────────────────────────────────── */
    .kab-cta__text {
        font-family: var(--kalon-font-serif);
        font-size: clamp(20px, 3vw, 26px); font-weight: 300; font-style: italic;
        color: var(--kalon-text-body); max-width: 600px;
        margin: 0 auto 32px; line-height: 1.5;
    }

    /* ── Mobile ───────────────────────────────────────────── */
    @media (max-width: 900px) {
        .kab-hero { height: 45svh !important; min-height: 400px !important; max-height: 420px !important; }

        .kab-timeline-section { padding: 64px 16px; }

        /* Hide the timeline spine and dots on mobile */
        .kab-tl-dot { display: none !important; }

        .kab-tl-item {
            display: flex !important;
            flex-wrap: wrap !important;
            padding-bottom: 24px !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* Year label sits on its own row above the card */
        .kab-tl-year {
            position: relative !important; left: auto !important; right: auto !important;
            top: auto !important;
            transform: none !important;
            display: block !important;
            width: 100% !important;
            font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.12em !important;
            color: var(--kalon-text-faint) !important;
            margin-bottom: 10px !important; padding: 4px 0 !important;
        }

        /* Cards take full width */
        .kab-tl-card {
            margin-top: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
            padding: 28px 22px;
            width: 100% !important;
        }

        .kab-tl-item--center .kab-tl-card {
            max-width: none !important;
            text-align: center;
        }

        .kab-tl-card__title { font-size: 18px !important; }
        .kab-tl-card__body { font-size: 13.5px; }
        .kab-tl-em { font-size: 16px; }
        .kab-manifesto__title { font-size: 26px; }
        .kab-manifesto__statement { font-size: 26px; padding: 28px 0 32px; }
        .kab-manifesto__body { font-size: 14px; margin-top: 32px; }
        .kab-manifesto { margin-bottom: 48px; }

        .kab-founders__grid {
            grid-template-columns: 1fr; gap: 48px;
            max-width: 400px; margin-left: auto; margin-right: auto;
        }
        .kab-founder-card__photo { width: 220px; height: 220px; }
        .kab-proof { gap: 20px; }
        .kab-press__logos { gap: 20px; margin: 28px 0 40px; }
        .kab-press__cards { grid-template-columns: 1fr; }
        .kab-team__grid { grid-template-columns: 1fr; max-width: 360px; }
    }
