/* ===================================================== 
   THINKORA LABS 
   SURF PAGE 
===================================================== */ 
 
 
/* ===================================================== 
   MAIN 
===================================================== */ 
 
.tl-surf-main { 
 
    width: 100%; 
 
    min-height: calc(100vh - 92px); 
 
    background: #ffffff; 
 
    color: var(--tl-black); 
 
    overflow: hidden; 
} 
 
 
 
/* ===================================================== 
   INTRO 
===================================================== */ 
 
.tl-surf-intro { 
 
    width: 100%; 
 
    padding: 25px 0 55px; 
} 
 
 
.tl-surf-intro-inner { 
 
    width: min(1180px, calc(100% - 80px)); 
 
    margin: 0 auto; 
} 
 
 
.tl-surf-eyebrow { 
 
    display: block; 
 
    margin-bottom: 14px; 
 
    color: var(--tl-blue); 
 
    font-size: 10px; 
 
    font-weight: 600; 
 
    letter-spacing: 0.14em; 
} 
 
 
.tl-surf-title { 
 
    margin: 0; 
 
    font-family: 
        "Libre Baskerville", 
        Georgia, 
        serif; 
 
    font-size: clamp(42px, 6vw, 76px); 
 
    font-weight: 400; 
 
    line-height: 1.05; 
 
    letter-spacing: -0.04em; 
} 
 
 
.tl-surf-description { 
 
    max-width: 550px; 
 
    margin: 22px 0 0; 
 
    color: var(--tl-gray); 
 
    font-size: 14px; 
 
    line-height: 1.8; 
} 
 
 
 
/* ===================================================== 
   PROGRAMS SECTION 
===================================================== */ 
 
.tl-programs-section { 
 
    width: 100%; 
 
    padding: 10px 0 100px; 
} 
 
 
.tl-programs-container { 
 
    width: min(1180px, calc(100% - 80px)); 
 
    margin: 0 auto; 
 
    display: flex; 
 
    flex-direction: column; 
 
    gap: 35px; 
} 
 
 
 
/* ===================================================== 
   PROGRAM CARD 
===================================================== */ 
 
.tl-program-card { 
 
    width: 100%; 
 
    overflow: hidden; 
 
    background: #ffffff; 
 
    border: 1px solid var(--tl-border); 
 
    border-radius: 18px; 
 
    box-shadow: 
        0 10px 35px rgba(8, 11, 18, 0.035); 
 
    transition: 
        border-color 0.3s ease, 
        box-shadow 0.3s ease, 
        transform 0.3s ease; 
} 
 
 
.tl-program-card:hover { 
 
    border-color: 
        rgba(0, 61, 223, 0.22); 
 
    box-shadow: 
        0 18px 45px rgba(8, 11, 18, 0.07); 
 
    transform: translateY(-3px); 
} 
 
 
 
/* ===================================================== 
   PROGRAM IMAGE 
===================================================== */ 
 
.tl-program-image { 
    width: 100%; 
    aspect-ratio: 16 / 9; 
    height: auto; 
    background: #f1f3f6; 
    overflow: hidden; 
} 
 
.tl-program-image img { 
    width: 100%; 
    height: 100%; 
    display: block; 
    object-fit: contain; 
    object-position: center; 
} 
 
.tl-program-image-placeholder { 
 
    width: 100%; 
 
    height: 100%; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    color: #949aa5; 
 
    font-size: 10px; 
 
    font-weight: 500; 
 
    letter-spacing: 0.12em; 
 
    text-transform: uppercase; 
} 
 
 
 
/* ===================================================== 
   PROGRAM CONTENT 
===================================================== */ 
 
.tl-program-content { 
 
    padding: 35px 40px 38px; 
} 
 
 
.tl-program-name { 
 
    margin: 0; 
 
    font-family: 
        "Libre Baskerville", 
        Georgia, 
        serif; 
 
    color: var(--tl-black); 
 
    font-size: clamp(28px, 3vw, 40px); 
 
    font-weight: 400; 
 
    line-height: 1.2; 
 
    letter-spacing: -0.025em; 
} 
 
 
.tl-program-text { 
 
    max-width: 750px; 
 
    margin: 16px 0 32px; 
 
    color: #626873; 
 
    font-size: 14px; 
 
    line-height: 1.8; 
} 
 
 
 
/* ===================================================== 
   PROGRAM META 
===================================================== */ 
 
.tl-program-meta { 
 
    display: flex; 
 
    align-items: center; 
 
    gap: 80px; 
 
    padding-top: 22px; 
 
    border-top: 1px solid var(--tl-border); 
} 
 
 
.tl-program-meta-item { 
 
    display: flex; 
 
    align-items: center; 
 
    gap: 10px; 
} 
 
 
.tl-meta-label { 
 
    color: var(--tl-gray); 
 
    font-size: 10px; 
 
    font-weight: 500; 
 
    letter-spacing: 0.04em; 
} 
 
 
.tl-meta-value { 
 
    color: var(--tl-black); 
 
    font-size: 11px; 
 
    font-weight: 600; 
 
    letter-spacing: 0.02em; 
} 
 
 
.tl-program-meta-item:first-child 
.tl-meta-value { 
 
    color: var(--tl-blue); 
} 
 
 
 
/* ===================================================== 
   TABLET 
===================================================== */ 
 
@media (max-width: 900px) { 
 
    .tl-surf-intro { 
 
        padding-top: 65px; 
 
    } 
 
 
    .tl-surf-intro-inner, 
    .tl-programs-container { 
 
        width: calc(100% - 50px); 
 
    } 
 
 
    .tl-program-image { 
 
        height: 270px; 
 
    } 
 
 
    .tl-program-content { 
 
        padding: 30px; 
 
    } 
 
 
    .tl-program-meta { 
 
        gap: 45px; 
 
    } 
 
} 
 
 
 
/* ===================================================== 
   MOBILE 
===================================================== */ 
 
@media (max-width: 768px) { 
 
    .tl-surf-main { 
 
        min-height: calc(100vh - 76px); 
 
    } 
 
 
    .tl-surf-intro { 
 
        padding: 50px 0 35px; 
 
    } 
 
 
    .tl-surf-intro-inner, 
    .tl-programs-container { 
 
        width: calc(100% - 40px); 
 
    } 
 
 
    .tl-surf-title { 
 
        font-size: 48px; 
 
    } 
 
 
    .tl-surf-description { 
 
        margin-top: 17px; 
 
        font-size: 13px; 
 
    } 
 
 
    .tl-programs-section { 
 
        padding-bottom: 65px; 
 
    } 
 
 
    .tl-programs-container { 
 
        gap: 25px; 
 
    } 
 
 
    .tl-program-card { 
 
        border-radius: 15px; 
 
    } 
 
 
    .tl-program-card:hover { 
 
        transform: none; 
 
    } 
 
 
    .tl-program-image { 
 
        height: 210px; 
 
    } 
 
 
    .tl-program-content { 
 
        padding: 25px; 
 
    } 
 
 
    .tl-program-name { 
 
        font-size: 29px; 
 
    } 
 
 
    .tl-program-text { 
 
        margin: 14px 0 25px; 
 
        font-size: 13px; 
 
        line-height: 1.75; 
 
    } 
 
 
    .tl-program-meta { 
 
        align-items: flex-start; 
 
        flex-direction: column; 
 
        gap: 14px; 
 
        padding-top: 20px; 
 
    } 
 
 
    .tl-program-meta-item { 
 
        width: 100%; 
 
        justify-content: space-between; 
 
        gap: 15px; 
 
    } 
 
} 
 
 
 
/* ===================================================== 
   SMALL MOBILE 
===================================================== */ 
 
@media (max-width: 420px) { 
 
    .tl-surf-intro { 
 
        padding-top: 40px; 
 
    } 
 
 
    .tl-surf-intro-inner, 
    .tl-programs-container { 
 
        width: calc(100% - 30px); 
 
    } 
 
 
    .tl-surf-title { 
 
        font-size: 42px; 
 
    } 
 
 
    .tl-program-image { 
 
        height: 175px; 
 
    } 
 
 
    .tl-program-content { 
 
        padding: 21px; 
 
    } 
 
 
    .tl-program-name { 
 
        font-size: 26px; 
 
    } 
 
 
    .tl-program-meta-item { 
 
        align-items: flex-start; 
 
        flex-direction: column; 
 
        gap: 5px; 
 
    } 
 
} 
 
 
 
/* ===================================================== 
   PROGRAM EXPLORE BUTTON 
===================================================== */ 
 
.tl-explore-btn { 
 
    display: inline-flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    flex-shrink: 0; 
 
    border: 1px solid var(--tl-black); 
 
    background: transparent; 
 
    color: var(--tl-black); 
 
    padding: 10px 18px; 
 
    font-family: inherit; 
 
    font-size: 12px; 
 
    font-weight: 500; 
 
    line-height: 1; 
 
    cursor: pointer; 
 
    white-space: nowrap; 
 
    transition: 
        background 0.25s ease, 
        color 0.25s ease, 
        border-color 0.25s ease; 
} 
 
 
.tl-explore-btn:hover { 
 
    background: var(--tl-black); 
 
    color: #ffffff; 
 
    border-color: var(--tl-black); 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE MODAL 
===================================================== */ 
 
.tl-pdf-modal { 
 
    position: fixed; 
 
    inset: 0; 
 
    z-index: 9999; 
 
    width: 100%; 
 
    height: 100%; 
 
    height: 100dvh; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    padding: 30px; 
 
    box-sizing: border-box; 
 
    opacity: 0; 
 
    visibility: hidden; 
 
    pointer-events: none; 
 
    transition: 
        opacity 0.25s ease, 
        visibility 0.25s ease; 
} 
 
 
.tl-pdf-modal.active { 
 
    opacity: 1; 
 
    visibility: visible; 
 
    pointer-events: auto; 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE OVERLAY 
===================================================== */ 
 
.tl-pdf-overlay { 
 
    position: absolute; 
 
    inset: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
    background: rgba(0, 0, 0, 0.82); 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE CONTAINER 
===================================================== */ 
 
.tl-pdf-dialog { 
 
    position: relative; 
 
    z-index: 2; 
 
    width: min(1000px, 90vw); 
 
    height: min(850px, 88dvh); 
 
    min-width: 0; 
 
    min-height: 0; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    background: #ffffff; 
 
    overflow: hidden; 
 
    box-shadow: 
        0 25px 80px rgba(0, 0, 0, 0.35); 
 
    border-radius: 8px; 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE IMAGE CONTAINER 
===================================================== */ 
 
.tl-brochure-image-container { 
 
    width: 100%; 
 
    height: 100%; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    overflow: hidden; 
 
    background: #f4f4f4; 
 
    padding: 20px; 
 
    box-sizing: border-box; 
 
} 
 
 
.tl-brochure-image { 
 
    display: block; 
 
    max-width: 100%; 
 
    max-height: 100%; 
 
    width: auto; 
 
    height: auto; 
 
    object-fit: contain; 
 
    user-select: none; 
 
    -webkit-user-drag: none; 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE CLOSE BUTTON 
===================================================== */ 
 
.tl-pdf-close { 
 
    position: absolute; 
 
    top: 12px; 
 
    right: 12px; 
 
    z-index: 10; 
 
    width: 40px; 
 
    height: 40px; 
 
    padding: 0; 
 
    border: none; 
 
    border-radius: 50%; 
 
    background: rgba(0, 0, 0, 0.82); 
 
    cursor: pointer; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    transition: 
        background 0.2s ease, 
        transform 0.2s ease; 
 
} 
 
 
.tl-pdf-close:hover { 
 
    background: #000000; 
 
    transform: scale(1.04); 
 
} 
 
 
.tl-pdf-close span { 
 
    position: absolute; 
 
    width: 18px; 
 
    height: 1.5px; 
 
    background: #ffffff; 
 
} 
 
 
.tl-pdf-close span:first-child { 
 
    transform: rotate(45deg); 
 
} 
 
 
.tl-pdf-close span:last-child { 
 
    transform: rotate(-45deg); 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE PREVIOUS / NEXT BUTTONS 
===================================================== */ 
 
.tl-brochure-nav { 
 
    position: absolute; 
 
    top: 50%; 
 
    z-index: 10; 
 
    width: 46px; 
 
    height: 46px; 
 
    padding: 0; 
 
    border: none; 
 
    border-radius: 50%; 
 
    background: rgba(0, 0, 0, 0.72); 
 
    color: #ffffff; 
 
    cursor: pointer; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    transform: translateY(-50%); 
 
    transition: 
        background 0.2s ease, 
        transform 0.2s ease; 
 
} 
 
 
.tl-brochure-nav:hover { 
 
    background: #000000; 
 
} 
 
 
.tl-brochure-prev { 
 
    left: 14px; 
 
} 
 
 
.tl-brochure-next { 
 
    right: 14px; 
 
} 
 
 
.tl-brochure-nav span { 
 
    font-size: 24px; 
 
    line-height: 1; 
 
    font-weight: 400; 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE PAGE INDICATOR 
===================================================== */ 
 
.tl-brochure-page-indicator { 
 
    position: absolute; 
 
    bottom: 14px; 
 
    left: 50%; 
 
    z-index: 10; 
 
    transform: translateX(-50%); 
 
    padding: 6px 12px; 
 
    border-radius: 20px; 
 
    background: rgba(0, 0, 0, 0.72); 
 
    color: #ffffff; 
 
    font-size: 11px; 
 
    line-height: 1; 
 
    pointer-events: none; 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE MODAL - TABLET 
===================================================== */ 
 
@media (max-width: 900px) { 
 
    .tl-pdf-modal { 
 
        padding: 20px; 
 
    } 
 
 
    .tl-pdf-dialog { 
 
        width: 100%; 
 
        height: 88dvh; 
 
    } 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE MODAL - MOBILE 
===================================================== */ 
 
@media (max-width: 768px) { 
 
    .tl-program-meta .tl-explore-btn { 
 
        align-self: stretch; 
 
        width: 100%; 
 
        max-width: 100%; 
 
        box-sizing: border-box; 
 
        padding: 12px 16px; 
 
        font-size: 12px; 
 
    } 
 
 
    .tl-pdf-modal { 
 
        padding: 10px; 
 
    } 
 
 
    .tl-pdf-dialog { 
 
        width: 100%; 
 
        max-width: 100%; 
 
        height: 88dvh; 
 
        max-height: 88dvh; 
 
        border-radius: 6px; 
 
    } 
 
 
    .tl-brochure-image-container { 
 
        padding: 12px; 
 
    } 
 
 
    .tl-brochure-nav { 
 
        width: 38px; 
 
        height: 38px; 
 
    } 
 
 
    .tl-brochure-prev { 
 
        left: 8px; 
 
    } 
 
 
    .tl-brochure-next { 
 
        right: 8px; 
 
    } 
 
 
    .tl-brochure-nav span { 
 
        font-size: 20px; 
 
    } 
 
 
    .tl-pdf-close { 
 
        top: 8px; 
 
        right: 8px; 
 
        width: 36px; 
 
        height: 36px; 
 
    } 
 
 
    .tl-pdf-close span { 
 
        width: 16px; 
 
    } 
 
 
    .tl-brochure-page-indicator { 
 
        bottom: 10px; 
 
        font-size: 10px; 
 
    } 
 
} 
 
 
 
/* ===================================================== 
   BROCHURE MODAL - SMALL MOBILE 
===================================================== */ 
 
@media (max-width: 420px) { 
 
    .tl-pdf-modal { 
 
        padding: 7px; 
 
    } 
 
 
    .tl-pdf-dialog { 
 
        height: 86dvh; 
 
        max-height: 86dvh; 
 
        border-radius: 5px; 
 
    } 
 
 
    .tl-brochure-image-container { 
 
        padding: 8px; 
 
    } 
 
 
    .tl-brochure-nav { 
 
        width: 34px; 
 
        height: 34px; 
 
    } 
 
 
    .tl-brochure-prev { 
 
        left: 6px; 
 
    } 
 
 
    .tl-brochure-next { 
 
        right: 6px; 
 
    } 
 
 
    .tl-brochure-nav span { 
 
        font-size: 18px; 
 
    } 
 
 
    .tl-pdf-close { 
 
        top: 7px; 
 
        right: 7px; 
 
        width: 34px; 
 
        height: 34px; 
 
    } 
 
 
    .tl-pdf-close span { 
 
        width: 15px; 
 
    } 
 
}