@media (min-width: 769px) and (max-width: 1300px) {
    section {
        max-width: 100vw;
    }

    /* ── HEADER ──────────────────────────────────────────────── */
    header {
        width: 440px;
        padding: 10px 12px;
        top: 20px;
    }

    nav {
        gap: 16px;
    }

    nav a {
        font-size: 13px;
        letter-spacing: -0.39px;
        padding: 12px 8px;
    }

    nav a.active {
        padding: 12px 18px;
        border-radius: 14px;
    }

    /* ── HERO ────────────────────────────────────────────────── */
    .hero {
        height: 800px;
        background-size: cover;
    }

    .hero-content {
        margin-top: 160px;
    }

    .hero-badge {
        gap: 6px;
        margin-bottom: 24px;
        width: 370px;
        height: 32px;
        border-radius: 16px;
    }

    .hero-badge .dot {
        width: 5px;
        height: 5px;
    }

    .hero-badge span {
        font-size: 12px;
        letter-spacing: 0.25em;
    }

    .hero-logo img {
        max-width: 420px;
    }

    .hero-headline {
        margin-top: 50px;
        margin-bottom: 30px;
        font-size: 36px;
        line-height: 38px;
        letter-spacing: -1.08px;
    }

    .hero-sub {
        max-width: 480px;
        margin-bottom: 40px;
        font-size: 14px;
        line-height: 24px;
        letter-spacing: -0.42px;
    }

    .hero-ctas {
        gap: 12px;
    }

    .btn-primary {
        border-radius: 20px;
        width: 210px;
        height: 54px;
        font-size: 15px;
        letter-spacing: -0.45px;
    }

    .btn-outline {
        border-radius: 20px;
        width: 186px;
        height: 54px;
        font-size: 15px;
        letter-spacing: -0.45px;
    }

    /* ── SECTION COMMON ──────────────────────────────────────── */
    .section-title {
        margin-bottom: 10px;
        font-size: 36px;
        line-height: 40px;
        letter-spacing: -1.08px;
    }

    .section-sub {
        max-width: 460px;
        font-size: 14px;
        line-height: 22px;
        letter-spacing: -0.42px;
    }

    .section-header {
        margin-bottom: 48px;
    }

    .container {
        max-width: 90%;
        padding: 0 20px;
    }

    /* ── ABOUT / HISTORY ─────────────────────────────────────── */
    #about {
        padding: 60px 0 0;
        height: 1050px;
    }

    .tl-year-label {
        margin-bottom: 14px;
        font-size: 24px;
        line-height: 22px;
        letter-spacing: -0.72px;
    }

    .tl-dot-wrap {
        width: 40px;
        height: 40px;
        background-size: contain;
    }

    .tl-item:not(.tl-active) .tl-dot-wrap::after {
        width: 12px;
        height: 12px;
    }

    .tl-row::after {
        top: 56px;
    }

    .tl-content-panel p {
        max-width: 380px;
        font-size: 14px;
        line-height: 22px;
        letter-spacing: -0.42px;
    }

    .tl-content-area {
        margin-top: 60px;
        max-width: 400px;
    }

    .img-content-area img {
        height: 100%;
    }

    /* ── OPERATIONS ───────────────────────────────────────────── */
    #operations {
        position: relative;
        overflow: hidden;
        padding: 15px 0 80px;
    }

    #operations .section-header {
        margin-bottom: 60px;
    }

    .ops-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        max-width: 96%;
        margin: 0 auto;
        height: 560px;
    }

    .ops-card {
        padding: 40px 0 0 24px;
    }

    .ops-icon {
        width: 42px;
        height: 42px;
    }

    .ops-card.active .ops-icon,
    .ops-card:hover .ops-icon {
        width: 30px;
        height: 30px;
    }

    .ops-title {
        font-size: 24px;
        line-height: 27px;
        letter-spacing: -0.72px;
        margin-bottom: 36px;
        margin-top: 20px;
        max-width: 180px;
        height: 54px;
    }

    .ops-card:not(.active) .ops-title {
        margin-top: 320px;
    }

    .ops-card.active .ops-title,
    .ops-card:hover .ops-title {
        margin-top: 20px;
    }

    .ops-desc {
        max-width: 220px;
        font-size: 12px;
        line-height: 19px;
        letter-spacing: -0.36px;
    }

    .ops-card.active::after,
    .ops-card:hover::after {
        width: 380px;
        height: 610px;
        top: -50px;
        left: -60px;
    }

    /* ── TEAM ────────────────────────────────────────────────── */
    #team {
        padding: 0 0 60px;
    }

    #team .section-header {
        margin-bottom: 80px;
    }

    #team .section-header .section-title {
        margin-bottom: 20px;
    }

    #team .section-header .section-sub {
        max-width: 400px;
    }

    .team-desktop {
        display: grid !important;
    }

    .team-mobile {
        display: none !important;
    }

    .team-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        max-width: 710px;
        padding: 0 20px;
    }

    .team-card {
        height: 542px;
        padding-top: 40px;
        margin-bottom: 60px;
    }

    .team-photo {
        top: -60px;
        height: 360px;
    }

    .team-name {
        font-size: 18px;
        line-height: 99.92%;
        letter-spacing: 1.08px;
        margin-bottom: 4px;
    }

    .team-role {
        font-size: 10px;
        line-height: 99.92%;
        letter-spacing: 0.6px;
        margin-bottom: 20px;
    }

    .team-bio {
        font-size: 13px;
        line-height: 120%;
        letter-spacing: 0.66px;
        max-width: 280px;
    }

    /* ── CONTACT / FOOTER ────────────────────────────────────── */
    #contact {
        padding: 70px 30px 0;
    }

    .contact-inner {
        padding: 0;
    }

    .contact-top {
        display: flex;
        margin-bottom: 40px;
    }

    .contact-left h2 {
        font-size: 36px;
        margin-bottom: 12px;
        line-height: 40px;
        letter-spacing: -1.08px;
    }

    .contact-left p {
        font-size: 14px;
        line-height: 22px;
        letter-spacing: -0.42px;
        max-width: 380px;
    }

    .footer-nav {
        gap: 18px;
        padding-top: 6px;
    }

    .footer-nav a {
        font-size: 13px;
        letter-spacing: -0.39px;
    }

    .contact-cards {
        gap: 12px;
        margin-bottom: 48px;
    }

    .contact-card {
        border-radius: 22px;
        padding: 18px 18px;
        min-width: 150px;
    }

    .contact-card-title {
        font-size: 13px;
        margin-bottom: 10px;
        line-height: 1.3;
    }

    .contact-card a {
        font-size: 11px;
        letter-spacing: -0.33px;
    }

    .footer-bar {
        padding: 24px 0 28px;
    }

    .footer-logo img {
        height: 28px;
        width: auto;
    }

    .footer-copy {
        font-size: 12px;
        letter-spacing: -0.36px;
    }
    #team::before {
        height: 1580px;
    }
    .tl-content-panel {
        max-width: 380px;
    }
    .content__body {
        font-size: 15px;
        line-height: 23px;
        max-width: 90vw;
    }
    .content__title {
        font-size: 45px;
        line-height: 45px;
    }
    .content {
        padding: 127px 0 68px 0;
    }
}
@media (min-width: 769px) and (max-width: 1000px) {
    .ops-grid {
        gap: 0px;
    }
    .ops-card {
        padding: 40px 0 0 15px;
    }
    .ops-card.active::after, .ops-card:hover::after {
        left: -71px;
    }
}