/* =========================================================
   JEBTAM — HOMEPAGE
   Clean consolidated stylesheet
   Updated 09/23/2026
   ========================================================= */

/* =========================================================
   JEBTAM — HOMEPAGE HERO
   FINAL DESKTOP / TABLET / MOBILE LAYOUT
   ========================================================= */

body.home .jebtam-hero-ecosystem {
    position: relative;
    display: flex;
    align-items: center;
    min-height: calc(100svh - 74px);
    padding: 30px 0 24px;
    overflow: hidden;
    background: transparent;
    box-sizing: border-box;
}

body.home .jebtam-hero-ecosystem > .jebtam-container {
    width: calc(100% - 48px);
    max-width: 1110px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

body.home .jebtam-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 365px;
    gap: 42px;
    align-items: stretch;
}

body.home .jebtam-hero-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    /*
     * IMPORTANT:
     * The tan panel is now the REAL grid item background.
     * No oversized pseudo-element is used, so its top and
     * bottom are measurable by CSS Grid and can align exactly
     * with the portrait/name column.
     */
    margin-left: -80px;
    padding: 48px 38px 48px 80px;

    background: rgba(238, 231, 223, 0.94);

    box-sizing: border-box;
}

body.home .jebtam-hero-ecosystem .jebtam-eyebrow {
    margin: 0 0 20px;
    color: #815a37;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.16em;
}

body.home .jebtam-hero-ecosystem h1 {
    max-width: 100%;
    margin: 0;
    color: #111719;
    font-size: clamp(50px, 4vw, 58px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.05em;
    white-space: normal;
}

body.home .jebtam-hero-ecosystem h1 span { color: #9a6d42; }

body.home .jebtam-hero-intro {
    max-width: 640px;
    margin: 26px 0 0;
    color: #343c40;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.62;
}

body.home .jebtam-hero-positioning {
    margin: 12px 0 0;
    color: #2f3639;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

body.home .jebtam-hero-positioning span {
    color: #8b6039;
    font-weight: 800;
}

body.home .jebtam-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 21px;
}

body.home .jebtam-hero-actions .jebtam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border: 2px solid #9a6d42;
    border-radius: 2px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body.home .jebtam-btn-primary { background: #9a6d42; color: #ffffff !important; }
body.home .jebtam-btn-secondary { background: rgba(255,255,255,0.82); color: #8b6039 !important; }
body.home .jebtam-hero-actions .jebtam-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,28,31,0.12); }
body.home .jebtam-btn-primary:hover { background: #7f5836; border-color: #7f5836; }
body.home .jebtam-btn-secondary:hover { background: #171c1f; border-color: #171c1f; color: #ffffff !important; }

body.home .jebtam-hero-visual {
    position: relative;

    display: flex;
    flex-direction: column;
    align-self: stretch;

    width: 365px;
    min-width: 0;
    min-height: 0;
}

body.home .jebtam-hero-photo-wrap {
    position: relative;

    flex: 1 1 0;

    width: 365px;
    min-height: 0;

    overflow: hidden;

    background: #d9d0c7;

    box-shadow: 0 24px 60px rgba(23,28,31,0.14);
}

body.home .jebtam-hero-photo-wrap::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    width: 4px;
    background: #9a6d42;
}

body.home .jebtam-hero-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

@media (min-width: 901px) {
    body.home .jebtam-hero-photo-wrap {
        min-height: 420px;
    }
}

body.home .jebtam-hero-names {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    width: 100%;
    margin-top: 13px;
    padding: 0 3px;
    box-sizing: border-box;
}

body.home .jebtam-hero-person { position: relative; padding-top: 10px; }
body.home .jebtam-hero-person::before { content: ""; position: absolute; top: 0; width: 32px; height: 2px; background: #9a6d42; }
body.home .jebtam-hero-person-left { text-align: left; }
body.home .jebtam-hero-person-left::before { left: 0; }
body.home .jebtam-hero-person-right { text-align: right; }
body.home .jebtam-hero-person-right::before { right: 0; }
body.home .jebtam-hero-person strong { display: block; margin: 0 0 4px; color: #202629; font-size: 11px; font-weight: 800; line-height: 1.2; letter-spacing: 0.07em; text-transform: uppercase; }
body.home .jebtam-hero-person span { display: block; color: #737a7e; font-size: 10px; font-weight: 600; line-height: 1.3; }

body.home .jebtam-ecosystem {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    margin-top: 20px;
    padding: 17px 10px 3px;
    border-top: 1px solid rgba(139,96,57,0.25);
    background: transparent;
    white-space: nowrap;
    box-sizing: border-box;
}

body.home .jebtam-ecosystem a,
body.home .jebtam-ecosystem-strategy { color: #31383c !important; font-size: 10px; font-weight: 800; line-height: 1; letter-spacing: 0.07em; text-decoration: none !important; }
body.home .jebtam-ecosystem a:hover { color: #8b6039 !important; }
body.home .jebtam-ecosystem-plus { color: rgba(49,56,60,0.45); font-size: 13px; font-weight: 500; }
body.home .jebtam-ecosystem-arrow { margin: 0 3px; color: #9a6d42; font-size: 19px; font-weight: 400; line-height: 1; }
body.home .jebtam-ecosystem-strategy { padding: 9px 13px; border: 1px solid rgba(154,109,66,0.45); background: rgba(255,255,255,0.72); color: #805936 !important; }
body.home .jebtam-ecosystem-growth { color: #8b6039 !important; font-weight: 900 !important; }

@media (max-width: 1180px) {
    body.home .jebtam-hero-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 34px; }
    body.home .jebtam-hero-ecosystem h1 { font-size: clamp(46px, 4.5vw, 54px); }
    body.home .jebtam-hero-visual,
    body.home .jebtam-hero-photo-wrap { width: 330px; }
    body.home .jebtam-hero-intro { font-size: 14px; }
    body.home .jebtam-ecosystem { gap: 7px; }
    body.home .jebtam-ecosystem a,
    body.home .jebtam-ecosystem-strategy { font-size: 9px; letter-spacing: 0.045em; }
}

@media (max-width: 900px) {
    body.home .jebtam-hero-ecosystem { min-height: auto; padding: 36px 0 32px; align-items: flex-start; }
    body.home .jebtam-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(235px, 290px); gap: 28px; align-items: start; }
    body.home .jebtam-hero-content {
        margin-left: 0;
        padding: 30px;
    }
    body.home .jebtam-hero-ecosystem h1 { font-size: clamp(42px, 6.2vw, 52px); white-space: normal; }
    body.home .jebtam-hero-intro { margin-top: 21px; font-size: 14px; line-height: 1.55; }
    body.home .jebtam-hero-visual,
    body.home .jebtam-hero-photo-wrap { width: 100%; }
    body.home .jebtam-hero-photo-wrap { min-height: 0; height: auto; flex: none; }
    body.home .jebtam-hero-photo { height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
    body.home .jebtam-ecosystem { flex-wrap: wrap; row-gap: 9px; white-space: normal; }
}

@media (max-width: 600px) {
    body.home .jebtam-hero-ecosystem { min-height: auto; padding: 28px 0 30px; }
    body.home .jebtam-hero-ecosystem > .jebtam-container { width: calc(100% - 32px); }
    body.home .jebtam-hero-grid { grid-template-columns: 1fr; gap: 0; }
    body.home .jebtam-hero-content {
        margin-left: 0;
        padding: 28px 18px 30px;
        background: rgba(238,231,223,0.94);
    }
    body.home .jebtam-hero-ecosystem .jebtam-eyebrow { margin-bottom: 15px; font-size: 9px; letter-spacing: 0.10em; }
    body.home .jebtam-hero-ecosystem h1 { font-size: clamp(39px, 12vw, 50px); line-height: 1; white-space: normal; }
    body.home .jebtam-hero-intro { margin-top: 19px; font-size: 15px; line-height: 1.55; }
    body.home .jebtam-hero-positioning { font-size: 12px; }
    body.home .jebtam-hero-actions { gap: 9px; margin-top: 20px; }
    body.home .jebtam-hero-actions .jebtam-btn { min-height: 44px; padding: 0 14px; font-size: 11px; }
    body.home .jebtam-hero-visual { display: flex; flex-direction: column; width: min(100%, 340px); margin: 30px auto 0; overflow: visible; }
    body.home .jebtam-hero-photo-wrap { width: 100%; min-height: 0; height: auto; flex: none; }
    body.home .jebtam-hero-photo { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
    body.home .jebtam-hero-names { gap: 12px; margin-top: 13px; }
    body.home .jebtam-hero-person strong { font-size: 10px; letter-spacing: 0.06em; }
    body.home .jebtam-hero-person span { font-size: 9px; }
    body.home .jebtam-ecosystem { justify-content: flex-start; flex-wrap: wrap; gap: 7px; margin-top: 28px; padding: 15px 0 0; white-space: normal; }
    body.home .jebtam-ecosystem a,
    body.home .jebtam-ecosystem-strategy { font-size: 8px; letter-spacing: 0.04em; }
    body.home .jebtam-ecosystem-plus { font-size: 10px; }
    body.home .jebtam-ecosystem-arrow { margin: 0 1px; font-size: 15px; }
    body.home .jebtam-ecosystem-strategy { padding: 8px 9px; }
}



/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .jebtam-hero-grid {
        grid-template-columns: minmax(0, 1fr) 370px;
        gap: 20px;
    }

    .jebtam-ecosystem {
        width: 370px;
        height: 420px;
        transform: scale(0.88);
        transform-origin: center right;
    }
}

@media (max-width: 959px) {

    .jebtam-container {
        width: min(100% - 40px, 1180px);
    }

    .jebtam-hero {
        min-height: 600px;
    }

    .jebtam-hero-grid {
        grid-template-columns: 1fr;
    }

    .jebtam-hero-content {
        max-width: 820px;
        padding: 75px 0 90px;
    }

    .jebtam-hero-intro {
        font-size: 19px;
    }

    .jebtam-ecosystem {
        display: none;
    }

}

/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .jebtam-container {
        width: calc(100% - 36px);
    }

    .jebtam-hero {
        min-height: auto;
    }

    .jebtam-hero-content {
        padding: 68px 0 78px;
    }

    .jebtam-eyebrow {
        margin-bottom: 18px;
        font-size: 11px;
        letter-spacing: 0.13em;
    }

    .jebtam-hero h1 {
        font-size: clamp(46px, 14vw, 62px);
        line-height: 1;
    }

    .jebtam-hero-intro {
        margin-top: 26px;
        font-size: 18px;
        line-height: 1.55;
    }

    .jebtam-hero-actions {
        flex-direction: column;
        margin-top: 32px;
    }

    .jebtam-btn {
        width: 100%;
    }
}

/* =========================================================
   JEBTAM — OUR WORK / FEATURED PROJECTS
   SECTION 4 — TWO PROJECTS / EQUAL HEIGHT VISUAL PANELS
   ========================================================= */

body.home .jebtam-featured-work {
    position: relative;
    padding: 105px 0 90px;
    overflow: hidden;
    background: rgba(247, 244, 241, 0.90) !important;
}

body.home .jebtam-featured-work::before {
    content: "";
    position: absolute;
    top: -260px;
    right: -220px;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(139, 100, 62, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

body.home .jebtam-featured-work > .jebtam-container {
    position: relative;
    z-index: 2;
}


/* ---------------------------------------------------------
   PROJECT ROW
   Both columns stretch to the same row height.
   --------------------------------------------------------- */

body.home .jebtam-work-project {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 70px;
    align-items: stretch;
}

body.home .jebtam-work-project-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 18px 0;
}

body.home .jebtam-project-label {
    margin: 0 0 18px;
    color: #9a6d42;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: 0.14em;
}

body.home .jebtam-project-label span {
    padding: 0 5px;
    color: #a8a09a;
}

body.home .jebtam-work-project-content h3 {
    margin: 0 0 24px;
    color: #171c1f;
    font-size: clamp(34px, 3.25vw, 47px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

body.home .jebtam-work-project-content h3 span {
    color: #9a6d42;
}

body.home .jebtam-work-project-content p {
    margin: 0 0 19px;
    color: #5b6367;
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.72;
}

body.home .jebtam-work-project-content p:last-child {
    margin-bottom: 0;
}

body.home .jebtam-work-project-content .jebtam-project-lead {
    color: #202629;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.52;
}


/* ---------------------------------------------------------
   EQUAL-HEIGHT VISUAL PANEL
   The panel matches the text-column height. The source image
   stays fully visible inside it — no crop and no distortion.
   --------------------------------------------------------- */

body.home .jebtam-work-project-visual {
    position: relative;
    min-width: 0;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    padding: 28px;
    overflow: hidden;
    border: 1px solid #ded5cc;
    border-left: 4px solid #9a6d42;
    background:
        linear-gradient(
            145deg,
            rgba(238, 231, 223, 0.92) 0%,
            rgba(255, 255, 255, 0.96) 58%,
            rgba(238, 231, 223, 0.72) 100%
        );
    box-shadow: 0 18px 42px rgba(23, 28, 31, 0.08);
    box-sizing: border-box;
}

body.home .jebtam-work-project-visual::before {
    content: none;
}

body.home .jebtam-work-project-visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    border: 1px solid #d8d0c8;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(23, 28, 31, 0.12);
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   DIVIDER
   --------------------------------------------------------- */

body.home .jebtam-work-divider {
    width: 100%;
    height: 1px;
    margin: 76px 0;
    background: rgba(154, 109, 66, 0.22);
}


/* ---------------------------------------------------------
   SECTION FOOTER
   --------------------------------------------------------- */

body.home .jebtam-work-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 72px;
    padding-top: 24px;
    border-top: 1px solid rgba(154, 109, 66, 0.20);
}

body.home .jebtam-work-footer p {
    margin: 0;
    color: #686f73;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

body.home .jebtam-work-footer .jebtam-text-link {
    display: inline-flex !important;
    margin-top: 0;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    body.home .jebtam-featured-work {
        padding: 88px 0 82px;
    }

    body.home .jebtam-work-project {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
        gap: 42px;
    }

    body.home .jebtam-work-project-content h3 {
        font-size: clamp(32px, 4.2vw, 42px);
    }

    body.home .jebtam-work-project-visual {
        padding: 20px;
    }

    body.home .jebtam-work-divider {
        margin: 62px 0;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 760px) {

    body.home .jebtam-featured-work {
        padding: 72px 0;
    }

    body.home .jebtam-featured-work > .jebtam-container {
        width: calc(100% - 32px);
    }

    body.home .jebtam-work-project {
        grid-template-columns: 1fr;
        gap: 30px;
        align-items: start;
    }

    body.home .jebtam-work-project-content {
        padding: 0;
        justify-content: flex-start;
    }

    body.home .jebtam-work-project-content h3 {
        font-size: 36px;
    }

    body.home .jebtam-work-project-content .jebtam-project-lead {
        font-size: 17px;
    }

    body.home .jebtam-work-project-content p {
        font-size: 15.5px;
        line-height: 1.65;
    }

    body.home .jebtam-work-project-visual {
        min-height: 0;
        padding: 16px;
    }

    body.home .jebtam-work-project-visual img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    body.home .jebtam-work-divider {
        margin: 54px 0;
    }

    body.home .jebtam-work-footer {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 56px;
    }
}



/* =========================================================
   FINAL CALL TO ACTION
   ========================================================= */

.jebtam-final-cta {
    position: relative;
    padding: 125px 0 130px;
    overflow: hidden;
   background: #171c1f;
}

.jebtam-final-cta::after {
    content: "";
    position: absolute;
    top: -260px;
    right: -180px;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    pointer-events: none;
}

.jebtam-final-cta-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
}

.jebtam-final-cta-eyebrow {
    margin: 0 0 25px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.18em;
    color: #B58A5E;
}

.jebtam-final-cta h2 {
    margin: 0;
    font-size: clamp(48px, 5.3vw, 76px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.04em;
    color: #ffffff;
}

.jebtam-final-cta h2 span {
    color: #B58A5E;
}

.jebtam-final-cta-copy {
    max-width: 690px;
    margin: 32px 0 0;
    font-size: 19px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.68);
}

.jebtam-final-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-top: 35px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: none !important;
}

.jebtam-final-cta-link span {
    font-size: 22px;
    color: #B58A5E;
    transition: transform 0.2s ease;
}

.jebtam-final-cta-link:hover span {
    transform: translateX(6px);
}


/* =========================================================
   FINAL CTA — RESPONSIVE
   ========================================================= */

@media (max-width: 959px) {

    .jebtam-final-cta {
        padding: 100px 0 105px;
    }
}

@media (max-width: 600px) {

    .jebtam-final-cta {
        padding: 78px 0 82px;
    }

    .jebtam-final-cta-eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
        letter-spacing: 0.14em;
    }

    .jebtam-final-cta h2 {
        font-size: clamp(40px, 12vw, 54px);
    }

    .jebtam-final-cta-copy {
        margin-top: 26px;
        font-size: 17px;
    }

    .jebtam-final-cta-link {
        margin-top: 30px;
    }
}

/* =========================================================
   JEBTAM — FIXED BRAND BACKGROUND
   ========================================================= */

body.home {
    background-image: url('/wp-content/uploads/2026/09/static-home.png');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* =========================================================
   JEBTAM — HOMEPAGE HERO BACKGROUND REVEAL
   ========================================================= */

body.home .jebtam-home {
    background: transparent !important;
}

body.home .jebtam-hero {
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.72) 0%,
            rgba(255, 255, 255, 0.58) 42%,
            rgba(255, 255, 255, 0.88) 62%,
            rgba(255, 255, 255, 0.96) 100%
        ) !important;
}

/* =========================================================
   JEBTAM — HOMEPAGE FIXED BACKGROUND THROUGH PAGE
   ========================================================= */

/*
 * Keep the fixed brand image visible behind the homepage
 * while preserving the existing light section treatments.
 */

body.home .jebtam-together {
    background: rgba(255, 255, 255, 0.76) !important;
}

body.home .jebtam-featured-work {
    background: rgba(247, 244, 241, 0.78) !important;
}

/*
 * Cards retain stronger backgrounds for readability.
 */

body.home .jebtam-capability {
    background: rgba(255, 255, 255, 0.92);
}

body.home .jebtam-project-browser {
    background: rgba(255, 255, 255, 0.96);
}

/*
 * Keep the closing CTA intentionally solid and dark.
 */

body.home .jebtam-final-cta {
    background: #171c1f !important;
}

/* =========================================================
   JEBTAM — DIGITAL PRESENCE MANAGEMENT
   SECTION 3 — LANDSCAPE PHOTO LEFT / COPY RIGHT
   ========================================================= */

body.home .jebtam-presence {
    position: relative !important;
    padding: 105px 0 !important;
    overflow: hidden !important;
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(154, 109, 66, 0.08),
            transparent 28%
        ),
        rgba(247, 245, 242, 0.96) !important;
    color: #171c1f !important;
}

body.home .jebtam-presence::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 48px), 1110px);
    height: 1px;
    background: rgba(154, 109, 66, 0.22);
    transform: translateX(-50%);
    pointer-events: none;
}

body.home .jebtam-presence::after {
    content: none !important;
}

body.home .jebtam-presence > .jebtam-container {
    position: relative;
    z-index: 2;
    width: calc(100% - 48px);
    max-width: 1110px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   TWO-COLUMN LAYOUT
   --------------------------------------------------------- */

body.home .jebtam-presence-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 70px;
    align-items: start;
}


/* ---------------------------------------------------------
   LEFT IMAGE
   --------------------------------------------------------- */

body.home .jebtam-presence-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 70px;
    align-items: stretch;
}

body.home .jebtam-presence-visual {
    min-width: 0;
    display: flex;
    align-self: stretch;
}

body.home .jebtam-presence-photo-placeholder {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid #ded5cc;
    border-left: 4px solid #9a6d42;
    background: #eee7df;
    box-shadow: 0 18px 42px rgba(23, 28, 31, 0.08);
    box-sizing: border-box;
    flex: 1 1 auto;
}

/* Placeholder decorations are disabled once a real image is used. */
body.home .jebtam-presence-photo-placeholder::before {
    content: none !important;
}

body.home .jebtam-presence-photo-label,
body.home .jebtam-presence-photo-placeholder > strong,
body.home .jebtam-presence-photo-placeholder > p {
    display: none !important;
}

body.home .jebtam-presence-photo-placeholder img,
body.home .jebtam-presence-photo-placeholder video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}


/* ---------------------------------------------------------
   RIGHT COPY
   --------------------------------------------------------- */

body.home .jebtam-presence-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0;
}

body.home .jebtam-presence .jebtam-eyebrow {
    margin: 0 0 18px !important;
    color: #815a37 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.18em !important;
}

body.home .jebtam-presence-content h2 {
    max-width: 650px;
    margin: 0 !important;
    color: #171c1f !important;
    font-size: clamp(43px, 4vw, 58px) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
}

body.home .jebtam-presence-content h2 span {
    color: #9a6d42 !important;
}

body.home .jebtam-presence-content .jebtam-presence-lead {
    max-width: 650px !important;
    margin: 28px 0 0 !important;
    color: #171c1f !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
}

body.home .jebtam-presence-content > p:not(.jebtam-eyebrow):not(.jebtam-presence-lead):not(.jebtam-presence-positioning) {
    max-width: 650px;
    margin: 18px 0 0;
    color: #555d61;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.72;
}

body.home .jebtam-presence-positioning {
    max-width: 650px;
    margin: 22px 0 0 !important;
    padding-top: 20px;
    border-top: 1px solid rgba(154, 109, 66, 0.20);
    color: #815a37 !important;
    font-size: 15px;
    line-height: 1.55;
}

body.home .jebtam-presence-positioning strong {
    font-weight: 800;
}

body.home .jebtam-presence-content .jebtam-text-link {
    margin-top: 25px;
    color: #8b6039 !important;
}

body.home .jebtam-presence-content .jebtam-text-link:hover {
    color: #171c1f !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    body.home .jebtam-presence {
        padding: 85px 0 !important;
    }

    body.home .jebtam-presence-grid {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
        gap: 42px;
    }

    body.home .jebtam-presence-content h2 {
        font-size: clamp(38px, 5vw, 50px) !important;
    }

    body.home .jebtam-presence-content .jebtam-presence-lead {
        font-size: 19px !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 760px) {

    body.home .jebtam-presence {
        padding: 72px 0 !important;
    }

    body.home .jebtam-presence > .jebtam-container {
        width: calc(100% - 32px);
    }

    body.home .jebtam-presence::before {
        width: calc(100% - 32px);
    }

    body.home .jebtam-presence-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body.home .jebtam-presence-photo-placeholder {
        aspect-ratio: 4 / 3;
    }

    body.home .jebtam-presence-content {
        padding: 0;
    }

    body.home .jebtam-presence .jebtam-eyebrow {
        margin-bottom: 14px !important;
        font-size: 9px !important;
        letter-spacing: 0.13em !important;
    }

    body.home .jebtam-presence-content h2 {
        font-size: 39px !important;
        line-height: 1.03 !important;
    }

    body.home .jebtam-presence-content .jebtam-presence-lead {
        margin-top: 22px !important;
        font-size: 18px !important;
    }

    body.home .jebtam-presence-content > p:not(.jebtam-eyebrow):not(.jebtam-presence-lead):not(.jebtam-presence-positioning) {
        font-size: 16px;
        line-height: 1.65;
    }
}



/* =========================================================
   JEBTAM — HOMEPAGE DESIGN SYSTEM / SECTION POLISH
   Keeps the hero language consistent through every section.
   ========================================================= */

body.home .jebtam-together,
body.home .jebtam-presence,
body.home .jebtam-featured-work,
body.home .jebtam-final-cta {
    position: relative;
    overflow: hidden;
}

body.home .jebtam-together > .jebtam-container,
body.home .jebtam-presence > .jebtam-container,
body.home .jebtam-featured-work > .jebtam-container,
body.home .jebtam-final-cta > .jebtam-container {
    width: calc(100% - 48px);
    max-width: 1110px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

body.home .jebtam-together .jebtam-eyebrow,
body.home .jebtam-presence .jebtam-eyebrow,
body.home .jebtam-featured-work .jebtam-eyebrow {
    margin: 0 0 18px;
    color: #9a6d42;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.18em;
}

body.home .jebtam-together h2,
body.home .jebtam-presence h2,
body.home .jebtam-featured-work h2,
body.home .jebtam-final-cta h2 {
    margin: 0;
    color: #171c1f;
    font-size: clamp(44px, 4.3vw, 62px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

body.home .jebtam-together h2 span,
body.home .jebtam-presence h2 span,
body.home .jebtam-featured-work h2 span,
body.home .jebtam-presence-management h3 span,
body.home .jebtam-project-content h3 span {
    color: #9a6d42;
}

body.home .jebtam-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    color: #8b6039 !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    transition: gap 180ms ease, color 180ms ease;
}

body.home .jebtam-text-link:hover {
    gap: 14px;
    color: #171c1f !important;
}



/* =========================================================
   JEBTAM — CONNECTED DIGITAL STRATEGY
   SECTION 2 — IMAGE LEFT / COPY RIGHT
   ========================================================= */

body.home .jebtam-together {
    position: relative;
    padding: 105px 0 !important;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.90) !important;
    color: #171c1f;
}

body.home .jebtam-together::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 48px), 1110px);
    height: 1px;
    background: rgba(154, 109, 66, 0.22);
    transform: translateX(-50%);
    pointer-events: none;
}

body.home .jebtam-together > .jebtam-container {
    position: relative;
    z-index: 2;
    width: calc(100% - 48px);
    max-width: 1110px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

body.home .jebtam-together-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 70px;
    align-items: stretch;
}

body.home .jebtam-together-visual {
    position: relative;
    min-width: 0;
    min-height: 0;
    display: flex;
    align-self: stretch;
    overflow: hidden;
    border: 1px solid #ded5cc;
    border-left: 4px solid #9a6d42;
    background: #eee7df;
    box-shadow: 0 18px 42px rgba(23, 28, 31, 0.08);
    box-sizing: border-box;
}

body.home .jebtam-together-visual img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% center;
}

body.home .jebtam-together-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
}

body.home .jebtam-together .jebtam-eyebrow {
    margin: 0 0 18px !important;
    color: #815a37 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.18em !important;
}

body.home .jebtam-together-copy h2 {
    max-width: 650px;
    margin: 0 !important;
    color: #171c1f !important;
    font-size: clamp(43px, 4vw, 58px) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
}

body.home .jebtam-together-copy h2 span { color: #9a6d42 !important; }

body.home .jebtam-together-copy .jebtam-lead {
    max-width: 650px !important;
    margin: 28px 0 0 !important;
    color: #171c1f !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
}

body.home .jebtam-together-copy > p:not(.jebtam-eyebrow):not(.jebtam-lead):not(.jebtam-together-positioning) {
    max-width: 650px;
    margin: 18px 0 0;
    color: #555d61;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.72;
}

body.home .jebtam-together-positioning {
    max-width: 650px;
    margin: 22px 0 0 !important;
    padding-top: 20px;
    border-top: 1px solid rgba(154, 109, 66, 0.20);
    color: #815a37 !important;
    font-size: 15px;
    line-height: 1.55;
}

body.home .jebtam-together-positioning strong { font-weight: 800; }
body.home .jebtam-together-copy .jebtam-text-link { margin-top: 25px; color: #8b6039 !important; }
body.home .jebtam-together-copy .jebtam-text-link:hover { color: #171c1f !important; }

@media (max-width: 1000px) {
    body.home .jebtam-together { padding: 85px 0 !important; }
    body.home .jebtam-together-grid {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
        gap: 42px;
    }
    body.home .jebtam-together-copy h2 { font-size: clamp(38px, 5vw, 50px) !important; }
    body.home .jebtam-together-copy .jebtam-lead { font-size: 19px !important; }
}

@media (max-width: 760px) {
    body.home .jebtam-together { padding: 72px 0 !important; }
    body.home .jebtam-together > .jebtam-container { width: calc(100% - 32px); }
    body.home .jebtam-together::before { width: calc(100% - 32px); }
    body.home .jebtam-together-grid { grid-template-columns: 1fr; gap: 38px; }
    body.home .jebtam-together-visual { min-height: 0; aspect-ratio: 4 / 3; }
    body.home .jebtam-together-copy { padding: 0; }
    body.home .jebtam-together .jebtam-eyebrow { margin-bottom: 14px !important; font-size: 9px !important; letter-spacing: 0.13em !important; }
    body.home .jebtam-together-copy h2 { font-size: 39px !important; line-height: 1.03 !important; }
    body.home .jebtam-together-copy .jebtam-lead { margin-top: 22px !important; font-size: 18px !important; }
    body.home .jebtam-together-copy > p:not(.jebtam-eyebrow):not(.jebtam-lead):not(.jebtam-together-positioning) { font-size: 16px; line-height: 1.65; }
}

/* =========================================================
   FINAL CTA — MATCHES HERO STRATEGY PANEL
   ========================================================= */

body.home .jebtam-final-cta {
    padding: 95px 0;
    background:
        radial-gradient(circle at 82% 15%, rgba(154,109,66,0.18), transparent 28%),
        linear-gradient(135deg, #111719 0%, #182023 60%, #101517 100%);
}

body.home .jebtam-final-cta-inner {
    max-width: 850px;
}

body.home .jebtam-final-cta-eyebrow {
    margin: 0 0 18px;
    color: #c79564;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

body.home .jebtam-final-cta h2 {
    color: #ffffff;
}

body.home .jebtam-final-cta h2 span {
    color: #c79564;
}

body.home .jebtam-final-cta-copy {
    max-width: 760px;
    margin: 28px 0 0;
    color: rgba(255,255,255,0.70);
    font-size: 18px;
    line-height: 1.7;
}

body.home .jebtam-final-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    padding: 15px 22px;
    border: 1px solid #b47f4e;
    background: #9a6d42;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 180ms ease, background 180ms ease, gap 180ms ease;
}

body.home .jebtam-final-cta-link:hover {
    gap: 17px;
    transform: translateY(-2px);
    background: #b17e4d;
}



/* =========================================================
   HOMEPAGE SECTION RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

}

@media (max-width: 600px) {

    body.home .jebtam-presence > .jebtam-container,
    body.home .jebtam-featured-work > .jebtam-container,
    body.home .jebtam-final-cta > .jebtam-container {
        width: calc(100% - 32px);
    }

    body.home .jebtam-presence,
    body.home .jebtam-featured-work {
        padding: 75px 0;
    }

    body.home .jebtam-final-cta {
        padding: 75px 0;
    }

    body.home .jebtam-presence h2,
    body.home .jebtam-featured-work h2,
    body.home .jebtam-final-cta h2 {
        font-size: 39px;
    }

    body.home .jebtam-work-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    body.home .jebtam-people-visual {
        padding-left: 14px;
        padding-bottom: 14px;
    }
}

/* =========================================================
   JEBTAM — HOMEPAGE SCROLL REVEALS
   Pronounced cinematic movement
   ========================================================= */

.jebtam-reveal {
    will-change: transform, opacity;
}


/* =========================================================
   INITIAL HIDDEN STATE
   ========================================================= */

.jebtam-reveal-ready .jebtam-reveal {
    opacity: 0;

    transition:
        opacity 1150ms ease,
        transform 1450ms cubic-bezier(0.16, 1, 0.3, 1);
}


/* Fly in from left */

.jebtam-reveal-ready .jebtam-reveal-left {
    transform: translate3d(-240px, 0, 0);
}


/* Fly in from right */

.jebtam-reveal-ready .jebtam-reveal-right {
    transform: translate3d(240px, 0, 0);
}


/* Final CTA rises into position */

.jebtam-reveal-ready .jebtam-reveal-up {
    transform: translate3d(0, 110px, 0);
}


/* =========================================================
   REVEALED POSITION
   ========================================================= */

.jebtam-reveal-ready .jebtam-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}


/* =========================================================
   STAGGER
   Second panel follows the first
   ========================================================= */

.jebtam-reveal-ready .jebtam-together-copy.is-visible,
.jebtam-reveal-ready .jebtam-presence-content.is-visible,
.jebtam-reveal-ready .jebtam-work-project-visual.is-visible {
    transition-delay: 220ms;
}


/* =========================================================
   MOBILE
   Stronger movement without pushing content too far away
   ========================================================= */

@media (max-width: 767px) {

    .jebtam-reveal-ready .jebtam-reveal {
        transition:
            opacity 1050ms ease,
            transform 1300ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .jebtam-reveal-ready .jebtam-reveal-left {
        transform: translate3d(-105px, 0, 0);
    }

    .jebtam-reveal-ready .jebtam-reveal-right {
        transform: translate3d(105px, 0, 0);
    }

    .jebtam-reveal-ready .jebtam-reveal-up {
        transform: translate3d(0, 75px, 0);
    }

}


/* =========================================================
   ACCESSIBILITY — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .jebtam-reveal-ready .jebtam-reveal,
    .jebtam-reveal-ready .jebtam-reveal-left,
    .jebtam-reveal-ready .jebtam-reveal-right,
    .jebtam-reveal-ready .jebtam-reveal-up,
    .jebtam-reveal-ready .jebtam-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}

/* =========================================================
   ACCESSIBILITY — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .jebtam-reveal-ready .jebtam-reveal,
    .jebtam-reveal-ready .jebtam-reveal-left,
    .jebtam-reveal-ready .jebtam-reveal-right,
    .jebtam-reveal-ready .jebtam-reveal-up,
    .jebtam-reveal-ready .jebtam-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}


/* Hero second line — single line on desktop */
@media (min-width: 960px) {

    body .jebtam-hero h1 span {
        display: block !important;
        white-space: nowrap !important;

        font-size: 0.72em !important;
        line-height: 1.08 !important;
        letter-spacing: -0.04em !important;

        margin-top: 8px !important;
    }

}