
    @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap');

    :root {
        --ta-ivory: #F6F0E4;
        --ta-ivory-soft: #FBF8F0;
        --ta-forest: #073C2E;
        --ta-forest-deep: #042B21;
        --ta-clay: #B65228;
        --ta-gold: #C7A552;
        --ta-ink: #183129;
        --ta-muted: #746D62;
        --ta-border: #D9CFBD;

        --ta-header-h: 88px;
        --ta-container: 1280px;

        --ta-space-1: 8px;
        --ta-space-2: 16px;
        --ta-space-3: 24px;
        --ta-space-4: 32px;
        --ta-space-5: 48px;
        --ta-space-6: 64px;
        --ta-space-7: 80px;
        --ta-space-8: 96px;
        --ta-space-9: 128px;
    }

    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
        font-family: "Cormorant Garamond", Georgia, serif;
        background: var(--ta-ivory);
        color: var(--ta-ink);
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .ta-shell {
        min-height: 100vh;
        background: var(--ta-ivory);
        color: var(--ta-ink);
    }

    .ta-container {
        width: min(100% - 40px, var(--ta-container));
        margin-inline: auto;
    }

    @media (min-width: 768px) {
        .ta-container {
            width: min(100% - 64px, var(--ta-container));
        }
    }

    @media (min-width: 1200px) {
        .ta-container {
            width: min(100% - 96px, var(--ta-container));
        }
    }

    .ta-section {
        padding-top: var(--ta-space-8);
        padding-bottom: var(--ta-space-8);
    }

    .ta-section-lg {
        padding-top: var(--ta-space-9);
        padding-bottom: var(--ta-space-9);
    }

    .ta-divider {
        height: 1px;
        background: var(--ta-border);
    }

    .ta-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 14px;
        font-size: 13px;
        line-height: 1;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: var(--ta-gold);
        font-weight: 600;
    }

    .ta-eyebrow::before {
        content: "";
        width: 46px;
        height: 1px;
        background: currentColor;
        display: inline-block;
    }

    .ta-display-xl {
        font-size: clamp(4rem, 7vw, 7rem);
        line-height: .88;
        font-weight: 700;
        letter-spacing: -0.045em;
    }

    .ta-display-lg {
        font-size: clamp(3.2rem, 5.8vw, 5.5rem);
        line-height: .92;
        font-weight: 700;
        letter-spacing: -0.04em;
    }

    .ta-display-md {
        font-size: clamp(2.4rem, 4vw, 4rem);
        line-height: .95;
        font-weight: 700;
        letter-spacing: -0.035em;
    }

    .ta-title-sm {
        font-size: clamp(1.8rem, 2.3vw, 2.5rem);
        line-height: 1;
        font-weight: 600;
        letter-spacing: -0.025em;
    }

    .ta-body-lg {
        font-size: 1.5rem;
        line-height: 1.5;
        font-weight: 400;
    }

    .ta-body {
        font-size: 1.2rem;
        line-height: 1.6;
        font-weight: 400;
    }

    .ta-meta {
        font-size: 1rem;
        line-height: 1.45;
        color: var(--ta-muted);
        font-weight: 500;
    }

    .ta-btn {
        min-height: 52px;
        padding: 0 26px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid transparent;
        text-transform: uppercase;
        letter-spacing: .08em;
        font-size: 15px;
        font-weight: 700;
        transition: all .25s ease;
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
    }

    .ta-btn-primary {
        background: var(--ta-forest);
        color: #fff;
        border-color: var(--ta-forest);
    }

    .ta-btn-primary:hover {
        background: var(--ta-forest-deep);
        border-color: var(--ta-forest-deep);
    }

    .ta-btn-secondary {
        background: transparent;
        color: var(--ta-ivory);
        border-color: rgba(255,255,255,.45);
    }

    .ta-btn-secondary:hover {
        border-color: #fff;
        background: rgba(255,255,255,.05);
    }

    .ta-btn-outline-dark {
        background: transparent;
        color: var(--ta-forest);
        border-color: rgba(7,60,46,.25);
    }

    .ta-btn-outline-dark:hover {
        border-color: var(--ta-forest);
        background: rgba(7,60,46,.04);
    }

    .ta-card {
        background: var(--ta-ivory-soft);
        border: 1px solid var(--ta-border);
    }

    .ta-grid-2 {
        display: grid;
        gap: 32px;
    }

    @media (min-width: 992px) {
        .ta-grid-2 {
            grid-template-columns: 1fr 1fr;
        }
    }

    .ta-grid-3 {
        display: grid;
        gap: 24px;
    }

    @media (min-width: 768px) {
        .ta-grid-3 {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
    }

    @media (min-width: 1200px) {
        .ta-grid-3 {
            grid-template-columns: repeat(3, minmax(0,1fr));
        }
    }

    .ta-topbar {
        position: sticky;
        top: 0;
        z-index: 50;
        height: var(--ta-header-h);
        background: rgba(246, 240, 228, .96);
        border-bottom: 1px solid var(--ta-border);
        backdrop-filter: blur(10px);
    }

    .ta-topbar-inner {
        height: 100%;
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 32px;
    }

    .ta-brand {
        display: inline-flex;
        align-items: flex-end;
        gap: 12px;
        color: var(--ta-clay);
        text-decoration: none;
    }

    .ta-brand-mark {
        color: var(--ta-gold);
        font-size: 28px;
        line-height: 1;
    }

    .ta-brand-text {
        font-size: clamp(2rem, 2.2vw, 3rem);
        line-height: .9;
        font-weight: 700;
        letter-spacing: -.03em;
        color: var(--ta-clay);
        border-bottom: 2px solid currentColor;
        padding-bottom: 8px;
    }

    .ta-nav {
        display: none;
        align-items: center;
        justify-content: center;
        gap: 28px;
    }

    @media (min-width: 1100px) {
        .ta-nav {
            display: flex;
        }
    }

    .ta-nav a {
        position: relative;
        font-size: 15px;
        line-height: 1;
        letter-spacing: .08em;
        text-transform: uppercase;
        font-weight: 700;
        color: rgba(24,49,41,.78);
        text-decoration: none;
        transition: color .2s ease;
    }

    .ta-nav a:hover,
    .ta-nav a.ta-active {
        color: var(--ta-clay);
    }

    .ta-nav a.ta-active::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -14px;
        height: 2px;
        background: var(--ta-gold);
    }

    .ta-header-actions {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .ta-mobile-toggle {
        display: inline-flex;
        min-height: 44px;
        min-width: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ta-border);
        background: transparent;
        color: var(--ta-forest);
        cursor: pointer;
    }

    @media (min-width: 1100px) {
        .ta-mobile-toggle {
            display: none;
        }
    }

    .ta-mobile-panel {
        display: none;
        border-bottom: 1px solid var(--ta-border);
        background: var(--ta-ivory-soft);
    }

    .ta-mobile-panel.is-open {
        display: block;
    }

    .ta-mobile-panel a {
        display: block;
        padding: 16px 0;
        border-top: 1px solid rgba(217, 207, 189, .6);
        color: var(--ta-ink);
        text-decoration: none;
        font-size: 1.15rem;
        font-weight: 600;
    }

    .ta-footer {
        background: var(--ta-forest);
        color: rgba(255,255,255,.88);
        border-top: 1px solid rgba(255,255,255,.1);
    }

    .ta-footer a {
        color: rgba(255,255,255,.7);
        text-decoration: none;
    }

    .ta-footer a:hover {
        color: #fff;
    }

    .ta-field {
        display: grid;
        gap: 10px;
    }

    .ta-field-label {
        font-size: 13px;
        line-height: 1;
        letter-spacing: .14em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--ta-muted);
    }

    .ta-input,
    .ta-select,
    .ta-textarea {
        width: 100%;
        border: 0;
        border-bottom: 1px solid var(--ta-border);
        background: transparent;
        color: var(--ta-ink);
        font-family: "Cormorant Garamond", Georgia, serif;
        font-size: 1.2rem;
        padding: 0 0 10px 0;
        outline: none;
        border-radius: 0;
    }

    .ta-input,
    .ta-select {
        min-height: 52px;
    }

    .ta-textarea {
        min-height: 140px;
        resize: vertical;
        padding-top: 8px;
    }

    .ta-input:focus,
    .ta-select:focus,
    .ta-textarea:focus {
        border-bottom-color: var(--ta-forest);
        box-shadow: inset 0 -1px 0 var(--ta-forest);
    }

    .ta-checkbox {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        font-size: 1rem;
        line-height: 1.5;
        color: var(--ta-muted);
    }

    .ta-checkbox input {
        margin-top: 3px;
        accent-color: var(--ta-forest);
    }

    .ta-segmented-grid {
        display: grid;
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .ta-segmented-input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .ta-segmented-label {
        display: flex;
        min-height: 58px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ta-border);
        background: rgba(255,255,255,.58);
        color: var(--ta-forest);
        font-size: 1.1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all .2s ease;
        text-align: center;
        padding: 10px 12px;
    }

    .ta-segmented-input:checked + .ta-segmented-label {
        background: var(--ta-forest);
        border-color: var(--ta-forest);
        color: #fff;
    }

    .ta-home-hero {
        position: relative;
        min-height: calc(100vh - var(--ta-header-h));
        display: flex;
        align-items: stretch;
        overflow: hidden;
        background: var(--ta-forest-deep);
    }

    .ta-home-hero-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        opacity: .72;
        transform: scale(1.002);
    }

    .ta-home-hero-overlay {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                90deg,
                rgba(4,43,33,.94) 0%,
                rgba(4,43,33,.82) 32%,
                rgba(4,43,33,.48) 57%,
                rgba(4,43,33,.18) 76%,
                rgba(4,43,33,.26) 100%
            ),
            linear-gradient(
                0deg,
                rgba(4,43,33,.28) 0%,
                rgba(4,43,33,0) 42%
            );
    }

    .ta-home-hero-inner {
        position: relative;
        z-index: 2;
        width: 100%;
        display: grid;
        align-items: center;
        gap: 48px;
        padding-top: 56px;
        padding-bottom: 56px;
    }

    @media (min-width: 1100px) {
        .ta-home-hero-inner {
            grid-template-columns: minmax(0, 1.1fr) minmax(360px, 460px);
            gap: 64px;
            min-height: calc(100vh - var(--ta-header-h));
        }
    }

    .ta-home-copy {
        color: #fff;
        max-width: 760px;
    }

    .ta-home-copy .ta-eyebrow {
        color: var(--ta-gold);
    }

    .ta-home-copy .ta-body-lg,
    .ta-home-copy .ta-meta {
        color: rgba(255,255,255,.78);
    }

    .ta-home-copy-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 34px;
    }

    .ta-booking-panel {
        background: rgba(251,248,240,.97);
        border: 1px solid rgba(217, 207, 189, .95);
        padding: 28px;
        backdrop-filter: blur(4px);
        box-shadow: 0 10px 40px rgba(0,0,0,.08);
    }

    @media (min-width: 768px) {
        .ta-booking-panel {
            padding: 34px;
        }
    }

    .ta-booking-head {
        display: grid;
        gap: 12px;
        margin-bottom: 24px;
    }

    .ta-booking-form {
        display: grid;
        gap: 22px;
    }

    .ta-booking-grid-2 {
        display: grid;
        gap: 18px;
    }

    @media (min-width: 640px) {
        .ta-booking-grid-2 {
            grid-template-columns: 1fr 1fr;
        }
    }

    .ta-booking-note {
        padding-top: 6px;
        border-top: 1px solid var(--ta-border);
        color: var(--ta-muted);
        font-size: 1rem;
        line-height: 1.45;
    }

    .ta-court-card {
        display: grid;
        background: var(--ta-ivory-soft);
        border: 1px solid var(--ta-border);
        overflow: hidden;
    }

    .ta-court-card-image {
        aspect-ratio: 4 / 3;
        width: 100%;
        object-fit: cover;
        background: #e8e0d4;
    }

    .ta-court-card-body {
        padding: 24px;
        display: grid;
        gap: 14px;
    }

    .ta-rich-panel {
        border: 1px solid var(--ta-border);
        background: var(--ta-ivory-soft);
        padding: 26px;
    }

    @media (max-width: 767px) {
        .ta-display-xl {
            font-size: clamp(3rem, 12vw, 4.4rem);
        }

        .ta-home-copy-actions {
            flex-direction: column;
            align-items: stretch;
        }

        .ta-home-copy-actions .ta-btn {
            width: 100%;
        }

        .ta-header-actions .ta-btn {
            display: none;
        }

        .ta-booking-panel {
            padding: 24px;
        }
    }


    /* =========================================================
       HOME AVAILABILITY CAROUSEL
       ========================================================= */

    .ta-availability-section {
        position: relative;
        background: var(--ta-ivory);
        border-bottom: 1px solid var(--ta-border);
    }

    .ta-availability-inner {
        padding-top: 64px;
        padding-bottom: 72px;
    }

    .ta-availability-heading {
        display: grid;
        gap: 18px;
        margin-bottom: 36px;
    }

    @media (min-width: 900px) {
        .ta-availability-heading {
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: end;
        }
    }

    .ta-availability-heading-copy {
        max-width: 720px;
    }

    .ta-availability-heading-title {
        margin: 16px 0 0;
        font-size: clamp(2.6rem, 4vw, 4.3rem);
        line-height: .95;
        font-weight: 700;
        letter-spacing: -.035em;
        color: var(--ta-forest);
    }

    .ta-availability-heading-text {
        margin: 16px 0 0;
        max-width: 620px;
        font-size: 1.2rem;
        line-height: 1.55;
        color: var(--ta-muted);
    }

    .ta-availability-controls {
        display: grid;
        gap: 24px;
        padding: 26px 0;
        border-top: 1px solid var(--ta-border);
        border-bottom: 1px solid var(--ta-border);
    }

    @media (min-width: 900px) {
        .ta-availability-controls {
            grid-template-columns: minmax(0, 1fr) 300px;
            align-items: end;
        }
    }

    .ta-availability-courts {
        display: grid;
        grid-template-columns: repeat(
            auto-fit,
            minmax(140px, 1fr)
        );
        gap: 8px;
    }

    .ta-availability-court-input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .ta-availability-court-label {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ta-border);
        background: transparent;
        color: var(--ta-forest);
        cursor: pointer;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        transition:
            background .2s ease,
            color .2s ease,
            border-color .2s ease;
    }

    .ta-availability-court-input:checked
    + .ta-availability-court-label {
        background: var(--ta-forest);
        border-color: var(--ta-forest);
        color: #fff;
    }

    .ta-availability-date-wrap {
        position: relative;
    }

    .ta-availability-date {
        width: 100%;
        min-height: 54px;
        border: 0;
        border-bottom: 1px solid var(--ta-border);
        border-radius: 0;
        background: transparent;
        color: var(--ta-ink);
        outline: 0;
        font-family: inherit;
        font-size: 1.2rem;
        font-weight: 600;
    }

    .ta-availability-date:focus {
        border-bottom-color: var(--ta-forest);
        box-shadow: inset 0 -1px 0 var(--ta-forest);
    }

    .ta-carousel-toolbar {
        margin-top: 30px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
    }

    .ta-carousel-status {
        font-size: 1.05rem;
        color: var(--ta-muted);
    }

    .ta-carousel-status strong {
        color: var(--ta-forest);
    }

    .ta-carousel-arrows {
        display: flex;
        gap: 8px;
    }

    .ta-carousel-arrow {
        width: 48px;
        height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ta-border);
        background: transparent;
        color: var(--ta-forest);
        cursor: pointer;
        font-family: inherit;
        font-size: 1.4rem;
        transition: all .2s ease;
    }

    .ta-carousel-arrow:hover {
        background: var(--ta-forest);
        border-color: var(--ta-forest);
        color: #fff;
    }

    .ta-slot-carousel {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 22px 1px 8px;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .ta-slot-carousel::-webkit-scrollbar {
        display: none;
    }

    .ta-slot-card {
        position: relative;
        flex: 0 0 188px;
        min-height: 174px;
        scroll-snap-align: start;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 22px;
        border: 1px solid var(--ta-border);
        background: var(--ta-ivory-soft);
        color: var(--ta-ink);
        text-decoration: none;
        transition:
            transform .2s ease,
            background .2s ease,
            border-color .2s ease;
    }

    .ta-slot-card:hover {
        transform: translateY(-3px);
        border-color: var(--ta-forest);
        background: #fff;
    }

    .ta-slot-card-time {
        font-size: 2rem;
        line-height: .95;
        font-weight: 700;
        letter-spacing: -.025em;
        color: var(--ta-forest);
    }

    .ta-slot-card-end {
        margin-top: 6px;
        font-size: 1rem;
        color: var(--ta-muted);
    }

    .ta-slot-card-bottom {
        padding-top: 16px;
        border-top: 1px solid var(--ta-border);
    }

    .ta-slot-card-price {
        font-size: 1rem;
        font-weight: 600;
        color: var(--ta-ink);
    }

    .ta-slot-card-action {
        margin-top: 5px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--ta-clay);
    }

    .ta-carousel-loading,
    .ta-carousel-empty,
    .ta-carousel-error {
        width: 100%;
        min-height: 174px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ta-border);
        color: var(--ta-muted);
        background: var(--ta-ivory-soft);
        font-size: 1.15rem;
        text-align: center;
        padding: 24px;
    }

    .ta-carousel-error {
        color: #8a3e28;
    }

    @media (max-width: 767px) {
        .ta-availability-inner {
            padding-top: 48px;
            padding-bottom: 56px;
        }

        .ta-slot-card {
            flex-basis: 160px;
            min-height: 160px;
            padding: 18px;
        }

        .ta-slot-card-time {
            font-size: 1.75rem;
        }

        .ta-carousel-arrows {
            display: none;
        }
    }




    /* =========================================================
       PREMIUM INTERNAL PAGES
       ========================================================= */

    .ta-page-hero {
        position: relative;
        min-height: 640px;
        overflow: hidden;
        display: flex;
        align-items: stretch;
        background: var(--ta-forest-deep);
        color: #fff;
    }

    .ta-page-hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .ta-page-hero-overlay {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                90deg,
                rgba(4,43,33,.94) 0%,
                rgba(4,43,33,.80) 38%,
                rgba(4,43,33,.36) 70%,
                rgba(4,43,33,.18) 100%
            ),
            linear-gradient(
                0deg,
                rgba(4,43,33,.40) 0%,
                transparent 48%
            );
    }

    .ta-page-hero-inner {
        position: relative;
        z-index: 2;
        width: 100%;
        min-height: 640px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-top: 80px;
        padding-bottom: 72px;
    }

    .ta-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        margin-bottom: auto;
        font-size: 12px;
        line-height: 1;
        letter-spacing: .15em;
        text-transform: uppercase;
        font-weight: 700;
        color: rgba(255,255,255,.68);
    }

    .ta-breadcrumb a {
        color: inherit;
        text-decoration: none;
    }

    .ta-breadcrumb a:hover {
        color: #fff;
    }

    .ta-page-hero-copy {
        max-width: 790px;
    }

    .ta-page-title {
        margin: 20px 0 0;
        font-size: clamp(4rem, 7vw, 7rem);
        line-height: .86;
        letter-spacing: -.05em;
        font-weight: 700;
        color: #fff;
    }

    .ta-page-lead {
        max-width: 650px;
        margin: 28px 0 0;
        font-size: 1.35rem;
        line-height: 1.55;
        color: rgba(255,255,255,.78);
    }

    .ta-section-head {
        display: grid;
        gap: 22px;
        margin-bottom: 46px;
    }

    @media (min-width: 900px) {
        .ta-section-head {
            grid-template-columns: minmax(0,1fr) minmax(280px,.55fr);
            align-items: end;
        }
    }

    .ta-section-title {
        margin: 18px 0 0;
        max-width: 760px;
        font-size: clamp(2.8rem, 4.6vw, 4.8rem);
        line-height: .93;
        letter-spacing: -.04em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-section-intro {
        margin: 0;
        font-size: 1.2rem;
        line-height: 1.6;
        color: var(--ta-muted);
    }

    .ta-courts-editorial {
        display: grid;
        border-top: 1px solid var(--ta-border);
    }

    .ta-court-editorial {
        display: grid;
        min-height: 570px;
        border-bottom: 1px solid var(--ta-border);
        background: var(--ta-ivory-soft);
    }

    @media (min-width: 950px) {
        .ta-court-editorial {
            grid-template-columns: 1fr 1fr;
        }

        .ta-court-editorial:nth-child(even) .ta-court-editorial-media {
            order: 2;
        }

        .ta-court-editorial:nth-child(even) .ta-court-editorial-content {
            order: 1;
        }
    }

    .ta-court-editorial-media {
        min-height: 420px;
        overflow: hidden;
        background: #ded7ca;
    }

    .ta-court-editorial-media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 420px;
        object-fit: cover;
        transition: transform .7s cubic-bezier(.2,.7,.2,1);
    }

    .ta-court-editorial:hover .ta-court-editorial-media img {
        transform: scale(1.025);
    }

    .ta-court-editorial-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 52px;
    }

    .ta-court-index {
        font-size: .85rem;
        letter-spacing: .18em;
        color: var(--ta-gold);
        font-weight: 700;
    }

    .ta-court-title {
        margin: 18px 0 0;
        font-size: clamp(3rem, 4vw, 4.6rem);
        line-height: .92;
        letter-spacing: -.04em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-court-copy {
        margin: 24px 0 0;
        max-width: 500px;
        font-size: 1.2rem;
        line-height: 1.62;
        color: var(--ta-muted);
    }

    .ta-court-actions {
        margin-top: 32px;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .ta-court-detail {
        display: grid;
        min-height: calc(100vh - var(--ta-header-h));
        background: var(--ta-ivory-soft);
    }

    @media (min-width: 1000px) {
        .ta-court-detail {
            grid-template-columns: 1.04fr .96fr;
        }
    }

    .ta-court-detail-media {
        min-height: 520px;
        overflow: hidden;
    }

    .ta-court-detail-media img {
        width: 100%;
        height: 100%;
        min-height: 520px;
        object-fit: cover;
    }

    .ta-court-detail-copy {
        padding: 56px 42px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    @media (min-width: 1200px) {
        .ta-court-detail-copy {
            padding: 72px 76px;
        }
    }

    .ta-court-detail-title {
        margin: 20px 0 0;
        font-size: clamp(4rem, 6vw, 6rem);
        line-height: .88;
        letter-spacing: -.05em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-court-detail-description {
        margin: 30px 0 0;
        max-width: 560px;
        white-space: pre-line;
        font-size: 1.25rem;
        line-height: 1.62;
        color: var(--ta-muted);
    }

    .ta-pricing-wrap {
        border-top: 1px solid var(--ta-border);
    }

    .ta-price-row {
        display: grid;
        gap: 18px;
        padding: 25px 0;
        border-bottom: 1px solid var(--ta-border);
        align-items: center;
    }

    @media (min-width: 850px) {
        .ta-price-row {
            grid-template-columns:
                minmax(180px,1.25fr)
                minmax(140px,.8fr)
                minmax(140px,.8fr)
                minmax(160px,.9fr)
                minmax(130px,.6fr);
        }
    }

    .ta-price-header {
        padding-top: 16px;
        padding-bottom: 16px;
        font-size: 12px;
        letter-spacing: .14em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--ta-muted);
    }

    .ta-price-name {
        font-size: 1.45rem;
        font-weight: 600;
        color: var(--ta-forest);
    }

    .ta-price-cell {
        font-size: 1.08rem;
        color: var(--ta-muted);
    }

    .ta-price-value {
        font-size: 1.6rem;
        font-weight: 700;
        color: var(--ta-clay);
    }

    .ta-editorial-page {
        background: var(--ta-ivory);
    }

    .ta-editorial-hero {
        padding-top: 96px;
        padding-bottom: 88px;
        border-bottom: 1px solid var(--ta-border);
        background: var(--ta-ivory-soft);
    }

    .ta-editorial-title {
        margin: 24px 0 0;
        max-width: 900px;
        font-size: clamp(4rem, 7vw, 7.2rem);
        line-height: .86;
        letter-spacing: -.05em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-editorial-lead {
        margin: 30px 0 0;
        max-width: 680px;
        font-size: 1.4rem;
        line-height: 1.55;
        color: var(--ta-muted);
    }

    .ta-prose {
        width: min(100% - 40px, 780px);
        margin-inline: auto;
        padding-top: 72px;
        padding-bottom: 72px;
        font-size: 1.25rem;
        line-height: 1.75;
        color: #514b42;
    }

    .ta-editorial-section {
        border-top: 1px solid var(--ta-border);
    }

    .ta-editorial-section-inner {
        display: grid;
        gap: 42px;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    @media (min-width: 950px) {
        .ta-editorial-section-inner {
            grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
            align-items: center;
        }

        .ta-editorial-section:nth-of-type(even)
        .ta-editorial-section-media {
            order: -1;
        }
    }

    .ta-editorial-section-title {
        margin: 18px 0 0;
        font-size: clamp(2.8rem, 4.2vw, 4.5rem);
        line-height: .94;
        letter-spacing: -.04em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-editorial-section-copy {
        margin-top: 22px;
        white-space: pre-line;
        font-size: 1.2rem;
        line-height: 1.65;
        color: var(--ta-muted);
    }

    .ta-editorial-section-media img {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    @media (max-width: 767px) {
        .ta-page-hero,
        .ta-page-hero-inner {
            min-height: 560px;
        }

        .ta-page-hero-inner {
            padding-top: 48px;
            padding-bottom: 48px;
        }

        .ta-court-editorial-content {
            padding: 34px 24px;
        }

        .ta-court-detail-copy {
            padding: 44px 22px;
        }

        .ta-editorial-hero {
            padding-top: 64px;
            padding-bottom: 64px;
        }
    }




    /* =========================================================
       HOME — EDITORIAL TABLE OF CONTENTS
       ========================================================= */

    .ta-home-toc {
        background: var(--ta-ivory-soft);
        border-top: 1px solid var(--ta-border);
        border-bottom: 1px solid var(--ta-border);
    }

    .ta-home-toc-inner {
        padding-top: 96px;
        padding-bottom: 88px;
    }

    .ta-home-toc-head {
        display: grid;
        gap: 32px;
        margin-bottom: 52px;
    }

    @media (min-width: 960px) {
        .ta-home-toc-head {
            grid-template-columns:
                minmax(0, 1.15fr)
                minmax(300px, .55fr);

            align-items: end;
        }
    }

    .ta-home-toc-title {
        max-width: 790px;
        margin: 20px 0 0;

        font-size: clamp(
            3.3rem,
            5.2vw,
            5.6rem
        );

        line-height: .9;
        letter-spacing: -.045em;
        font-weight: 700;

        color: var(--ta-forest);
    }

    .ta-home-toc-intro {
        padding-left: 24px;
        border-left: 1px solid var(--ta-gold);
    }

    .ta-home-toc-index {
        display: block;

        margin-bottom: 14px;

        font-size: 12px;
        line-height: 1;

        letter-spacing: .18em;
        text-transform: uppercase;
        font-weight: 700;

        color: var(--ta-clay);
    }

    .ta-home-toc-intro p {
        margin: 0;

        font-size: 1.2rem;
        line-height: 1.6;

        color: var(--ta-muted);
    }


    .ta-home-toc-grid {
        display: grid;

        border-top:
            1px solid var(--ta-border);
    }

    @media (min-width: 900px) {
        .ta-home-toc-grid {
            grid-template-columns:
                repeat(
                    2,
                    minmax(0, 1fr)
                );
        }
    }


    .ta-home-toc-card {
        position: relative;

        display: grid;

        grid-template-columns:
            52px
            minmax(0, 1fr);

        gap: 22px;

        min-height: 235px;

        padding:
            32px
            30px
            32px
            0;

        border-bottom:
            1px solid var(--ta-border);

        color: inherit;
        text-decoration: none;

        transition:
            background .25s ease;
    }


    @media (min-width: 900px) {

        .ta-home-toc-card:nth-child(odd) {
            padding-right: 42px;

            border-right:
                1px solid var(--ta-border);
        }


        .ta-home-toc-card:nth-child(even) {
            padding-left: 42px;
            padding-right: 0;
        }

    }


    .ta-home-toc-card:hover {
        background:
            rgba(
                199,
                165,
                82,
                .055
            );
    }


    .ta-home-toc-number {
        padding-top: 7px;

        font-size: .9rem;

        letter-spacing: .17em;
        font-weight: 700;

        color: var(--ta-gold);
    }


    .ta-home-toc-card-main {
        display: flex;
        flex-direction: column;

        min-width: 0;
    }


    .ta-home-toc-title-row {
        display: flex;

        align-items: flex-start;
        justify-content: space-between;

        gap: 22px;
    }


    .ta-home-toc-title-row h3 {
        margin: 0;

        font-size: clamp(
            2rem,
            2.9vw,
            3rem
        );

        line-height: .93;
        letter-spacing: -.035em;
        font-weight: 600;

        color: var(--ta-forest);

        transition:
            color .25s ease,
            transform .25s ease;
    }


    .ta-home-toc-arrow {
        flex: 0 0 auto;

        font-size: 1.35rem;
        line-height: 1;

        color: var(--ta-clay);

        transition:
            transform .25s ease;
    }


    .ta-home-toc-card p {
        max-width: 490px;

        margin:
            22px
            0
            0;

        font-size: 1.13rem;
        line-height: 1.56;

        color: var(--ta-muted);
    }


    .ta-home-toc-link {
        display: flex;

        align-items: center;

        gap: 10px;

        width: fit-content;

        margin-top: auto;
        padding-top: 24px;

        font-size: 12px;
        line-height: 1;

        text-transform: uppercase;
        letter-spacing: .14em;

        font-weight: 700;

        color: var(--ta-clay);
    }


    .ta-home-toc-link span {
        transition:
            transform .25s ease;
    }


    .ta-home-toc-card:hover
    .ta-home-toc-title-row h3 {
        color: var(--ta-clay);
        transform: translateX(3px);
    }


    .ta-home-toc-card:hover
    .ta-home-toc-arrow {
        transform:
            translate(
                4px,
                -4px
            );
    }


    .ta-home-toc-card:hover
    .ta-home-toc-link span {
        transform:
            translateX(5px);
    }


    .ta-home-toc-utilities {
        display: flex;

        flex-wrap: wrap;

        gap: 22px;

        align-items: center;

        padding-top: 28px;

        font-size: 1rem;

        color: var(--ta-muted);
    }


    .ta-home-toc-utilities span {
        color: var(--ta-forest);
        font-weight: 600;
    }


    .ta-home-toc-utilities a {
        color: var(--ta-clay);

        text-decoration: none;

        border-bottom:
            1px solid transparent;

        font-weight: 600;
    }


    .ta-home-toc-utilities a:hover {
        border-bottom-color:
            var(--ta-clay);
    }


    @media (max-width: 899px) {

        .ta-home-toc-inner {
            padding-top: 68px;
            padding-bottom: 64px;
        }


        .ta-home-toc-card {
            grid-template-columns:
                38px
                minmax(0, 1fr);

            gap: 16px;

            min-height: 0;

            padding:
                28px
                0;
        }


        .ta-home-toc-intro {
            padding-left: 18px;
        }

    }




    /* =========================================================
       HOME — DYNAMIC EDITORIAL BOOK INDEX
       ONE PAGE = ONE FULL WIDTH ROW
       ========================================================= */

    .ta-book-index {
        background:
            var(--ta-ivory-soft);

        border-top:
            1px solid var(--ta-border);

        border-bottom:
            1px solid var(--ta-border);
    }


    .ta-book-index-inner {
        padding-top:
            104px;

        padding-bottom:
            88px;
    }


    .ta-book-index-head {
        display:
            grid;

        gap:
            36px;

        margin-bottom:
            58px;
    }


    @media (min-width: 960px) {

        .ta-book-index-head {
            grid-template-columns:
                minmax(0, 1.05fr)
                minmax(320px, .55fr);

            align-items:
                end;
        }

    }


    .ta-book-index-heading {
        max-width:
            820px;

        margin:
            20px
            0
            0;

        font-size:
            clamp(
                3.5rem,
                5.5vw,
                5.8rem
            );

        line-height:
            .89;

        letter-spacing:
            -.045em;

        font-weight:
            700;

        color:
            var(--ta-forest);
    }


    .ta-book-index-lead {
        max-width:
            520px;

        margin:
            0;

        padding-left:
            24px;

        border-left:
            1px solid
            var(--ta-gold);

        font-size:
            1.18rem;

        line-height:
            1.62;

        color:
            var(--ta-muted);
    }


    .ta-book-index-list {
        border-top:
            1px solid
            var(--ta-border);
    }


    .ta-book-index-row {
        display:
            grid;

        grid-template-columns:
            62px
            minmax(0, 1fr);

        gap:
            20px;

        min-height:
            260px;

        padding:
            38px
            0;

        border-bottom:
            1px solid
            var(--ta-border);

        text-decoration:
            none;

        color:
            inherit;

        transition:
            background .3s ease;
    }


    @media (min-width: 1000px) {

        .ta-book-index-row {
            grid-template-columns:
                74px
                minmax(0, 1.25fr)
                minmax(260px, .72fr)
                110px;

            gap:
                34px;

            align-items:
                center;

            min-height:
                270px;

            padding:
                42px
                28px
                42px
                0;
        }

    }


    .ta-book-index-row:hover {
        background:
            rgba(
                199,
                165,
                82,
                .045
            );
    }


    .ta-book-index-number {
        align-self:
            start;

        padding-top:
            7px;

        font-size:
            .88rem;

        line-height:
            1;

        letter-spacing:
            .18em;

        font-weight:
            700;

        color:
            var(--ta-gold);
    }


    .ta-book-index-main {
        max-width:
            650px;
    }


    .ta-book-index-label,
    .ta-book-index-topics-label {
        margin-bottom:
            13px;

        font-size:
            11px;

        line-height:
            1;

        letter-spacing:
            .18em;

        text-transform:
            uppercase;

        font-weight:
            700;

        color:
            var(--ta-clay);
    }


    .ta-book-index-title {
        margin:
            0;

        font-size:
            clamp(
                2.6rem,
                4vw,
                4.4rem
            );

        line-height:
            .92;

        letter-spacing:
            -.04em;

        font-weight:
            600;

        color:
            var(--ta-forest);

        transition:
            color .25s ease,
            transform .25s ease;
    }


    .ta-book-index-copy {
        max-width:
            620px;

        margin:
            22px
            0
            0;

        font-size:
            1.18rem;

        line-height:
            1.62;

        color:
            var(--ta-muted);
    }


    .ta-book-index-topics {
        padding-top:
            4px;
    }


    .ta-book-index-topics ul {
        list-style:
            none;

        margin:
            0;

        padding:
            0;
    }


    .ta-book-index-topics li {
        position:
            relative;

        padding:
            10px
            0
            10px
            18px;

        border-bottom:
            1px solid
            rgba(
                217,
                207,
                189,
                .65
            );

        font-size:
            1.05rem;

        line-height:
            1.35;

        color:
            var(--ta-ink);
    }


    .ta-book-index-topics li::before {
        content:
            "";

        position:
            absolute;

        left:
            0;

        top:
            50%;

        width:
            5px;

        height:
            5px;

        border-radius:
            50%;

        background:
            var(--ta-gold);

        transform:
            translateY(-50%);
    }


    .ta-book-index-no-topics {
        font-size:
            1.05rem;

        line-height:
            1.5;

        color:
            var(--ta-muted);
    }


    .ta-book-index-open {
        align-self:
            stretch;

        display:
            flex;

        flex-direction:
            column;

        align-items:
            flex-end;

        justify-content:
            space-between;

        padding:
            5px
            0;

        color:
            var(--ta-clay);
    }


    .ta-book-index-open span {
        font-size:
            11px;

        line-height:
            1;

        letter-spacing:
            .17em;

        text-transform:
            uppercase;

        font-weight:
            700;
    }


    .ta-book-index-open strong {
        font-size:
            2rem;

        line-height:
            1;

        font-weight:
            400;

        transition:
            transform .25s ease;
    }


    .ta-book-index-row:hover
    .ta-book-index-title {
        color:
            var(--ta-clay);

        transform:
            translateX(4px);
    }


    .ta-book-index-row:hover
    .ta-book-index-open strong {
        transform:
            translateX(7px);
    }


    .ta-book-index-footer {
        display:
            flex;

        flex-wrap:
            wrap;

        gap:
            24px;

        align-items:
            center;

        padding-top:
            28px;

        font-size:
            1rem;
    }


    .ta-book-index-footer span {
        color:
            var(--ta-muted);
    }


    .ta-book-index-footer a {
        color:
            var(--ta-clay);

        text-decoration:
            none;

        font-weight:
            600;
    }


    .ta-book-index-empty {
        padding:
            48px
            0;

        font-size:
            1.15rem;

        color:
            var(--ta-muted);
    }


    @media (max-width: 999px) {

        .ta-book-index-inner {
            padding-top:
                72px;

            padding-bottom:
                68px;
        }


        .ta-book-index-row {
            grid-template-columns:
                42px
                minmax(0, 1fr);

            min-height:
                0;
        }


        .ta-book-index-topics,
        .ta-book-index-open {
            grid-column:
                2;
        }


        .ta-book-index-open {
            flex-direction:
                row;

            align-items:
                center;

            justify-content:
                flex-start;

            gap:
                14px;

            margin-top:
                8px;
        }

    }




    /* =========================================================
       HOME INDEX — FINER / LIGHTER VERSION
       ========================================================= */

    .ta-book-index-inner {
        padding-top: 76px;
        padding-bottom: 64px;
    }

    .ta-book-index-head {
        margin-bottom: 38px;
    }

    .ta-book-index-heading {
        margin-top: 14px;

        font-size: clamp(
            2.8rem,
            4.2vw,
            4.4rem
        );

        line-height: .92;
    }

    .ta-book-index-lead {
        font-size: 1.08rem;
        line-height: 1.55;
    }

    .ta-book-index-row {
        min-height: 0;

        padding:
            24px
            0;

        grid-template-columns:
            48px
            minmax(0, 1fr);

        gap: 18px;
    }

    @media (min-width: 1000px) {

        .ta-book-index-row {
            grid-template-columns:
                48px
                minmax(300px, 1.15fr)
                minmax(260px, .85fr)
                54px;

            gap: 28px;

            padding:
                25px
                0;

            align-items: center;
        }

    }

    .ta-book-index-number {
        padding-top: 3px;

        font-size: .78rem;
        letter-spacing: .16em;
    }

    .ta-book-index-title {
        font-size: clamp(
            2rem,
            2.8vw,
            2.75rem
        );

        line-height: .95;
    }

    .ta-book-index-copy {
        margin-top: 10px;

        max-width: 600px;

        font-size: 1.02rem;
        line-height: 1.45;
    }

    .ta-book-index-topics {
        display: flex;

        flex-wrap: wrap;

        gap:
            8px
            14px;

        align-items: center;

        padding-top: 0;
    }

    .ta-book-index-topics span {
        position: relative;

        font-size: .95rem;
        line-height: 1.35;

        color: var(--ta-muted);
    }

    .ta-book-index-topics span:not(:last-child)::after {
        content: "·";

        margin-left: 14px;

        color: var(--ta-gold);
    }

    .ta-book-index-open {
        align-self: center;

        display: flex;

        justify-content: flex-end;
        align-items: center;

        padding: 0;

        font-size: 1.6rem;
        font-weight: 400;

        color: var(--ta-clay);

        transition: transform .25s ease;
    }

    .ta-book-index-row:hover
    .ta-book-index-open {
        transform: translateX(5px);
    }

    .ta-book-index-row:hover {
        background:
            linear-gradient(
                90deg,
                transparent,
                rgba(199,165,82,.035),
                transparent
            );
    }

    .ta-book-index-footer {
        padding-top: 22px;
    }

    @media (max-width: 999px) {

        .ta-book-index-row {
            padding:
                22px
                0;
        }

        .ta-book-index-topics {
            grid-column: 2;

            margin-top: 4px;
        }

        .ta-book-index-open {
            grid-column: 2;

            justify-content: flex-start;

            margin-top: 2px;
        }

    }




    /* =========================================================
       HOME INDEX — COMPACT EDITORIAL ROWS WITH IMAGE
       ========================================================= */

    .ta-book-index {
        background: var(--ta-ivory-soft);
        border-top: 1px solid var(--ta-border);
        border-bottom: 1px solid var(--ta-border);
    }

    .ta-book-index-inner {
        padding-top: 76px;
        padding-bottom: 64px;
    }

    .ta-book-index-head {
        display: grid;
        gap: 28px;
        margin-bottom: 36px;
    }

    @media (min-width: 960px) {
        .ta-book-index-head {
            grid-template-columns: minmax(0, 1.05fr) minmax(300px, .55fr);
            align-items: end;
        }
    }

    .ta-book-index-heading {
        margin-top: 14px;
        font-size: clamp(2.8rem, 4.2vw, 4.4rem);
        line-height: .92;
        letter-spacing: -.04em;
        font-weight: 700;
        color: var(--ta-forest);
    }

    .ta-book-index-lead {
        max-width: 520px;
        margin: 0;
        padding-left: 20px;
        border-left: 1px solid var(--ta-gold);
        font-size: 1.05rem;
        line-height: 1.55;
        color: var(--ta-muted);
    }

    .ta-book-index-list {
        border-top: 1px solid var(--ta-border);
    }

    .ta-book-index-row {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 16px;
        padding: 20px 0;
        border-bottom: 1px solid var(--ta-border);
        text-decoration: none;
        color: inherit;
        align-items: center;
        transition: background .25s ease;
    }

    @media (min-width: 1100px) {
        .ta-book-index-row {
            grid-template-columns:
                44px
                minmax(280px, 1.1fr)
                190px
                minmax(250px, .95fr)
                36px;
            gap: 24px;
            padding: 18px 0;
        }
    }

    .ta-book-index-row:hover {
        background: linear-gradient(
            90deg,
            transparent,
            rgba(199,165,82,.03),
            transparent
        );
    }

    .ta-book-index-number {
        font-size: .76rem;
        line-height: 1;
        letter-spacing: .16em;
        font-weight: 700;
        color: var(--ta-gold);
        align-self: start;
        padding-top: 3px;
    }

    .ta-book-index-title {
        margin: 0;
        font-size: clamp(1.75rem, 2.4vw, 2.4rem);
        line-height: .97;
        letter-spacing: -.03em;
        font-weight: 600;
        color: var(--ta-forest);
        transition: color .25s ease, transform .25s ease;
    }

    .ta-book-index-copy {
        margin: 8px 0 0;
        max-width: 580px;
        font-size: .98rem;
        line-height: 1.42;
        color: var(--ta-muted);
    }

    .ta-book-index-media {
        width: 100%;
    }

    .ta-book-index-image {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        border: 1px solid var(--ta-border);
        background: #e7dfd2;
    }

    .ta-book-index-image-placeholder {
        background: #e7dfd2;
    }

    .ta-book-index-topics {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 12px;
        align-items: center;
    }

    .ta-book-index-topics span {
        font-size: .92rem;
        line-height: 1.3;
        color: var(--ta-muted);
        position: relative;
    }

    .ta-book-index-topics span:not(:last-child)::after {
        content: "·";
        margin-left: 12px;
        color: var(--ta-gold);
    }

    .ta-book-index-open {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        font-size: 1.45rem;
        color: var(--ta-clay);
        transition: transform .25s ease;
    }

    .ta-book-index-row:hover .ta-book-index-title {
        color: var(--ta-clay);
        transform: translateX(3px);
    }

    .ta-book-index-row:hover .ta-book-index-open {
        transform: translateX(4px);
    }

    .ta-book-index-footer {
        display: flex;
        flex-wrap: wrap;
        gap: 18px;
        align-items: center;
        padding-top: 20px;
        font-size: .98rem;
    }

    .ta-book-index-footer span {
        color: var(--ta-muted);
    }

    .ta-book-index-footer a {
        color: var(--ta-clay);
        text-decoration: none;
        font-weight: 600;
    }

    .ta-book-index-empty {
        padding: 40px 0;
        color: var(--ta-muted);
        font-size: 1.05rem;
    }

    @media (max-width: 1099px) {
        .ta-book-index-media,
        .ta-book-index-topics,
        .ta-book-index-open {
            grid-column: 2;
        }

        .ta-book-index-media {
            margin-top: 4px;
        }

        .ta-book-index-image {
            max-width: 260px;
        }

        .ta-book-index-topics {
            margin-top: 2px;
        }

        .ta-book-index-open {
            justify-content: flex-start;
            margin-top: 2px;
        }
    }




    /* =========================================================
       HOME INDEX — FINAL PREMIUM REFINEMENT
       ========================================================= */

    .ta-book-index {
        background:
            linear-gradient(
                180deg,
                var(--ta-ivory-soft) 0%,
                var(--ta-ivory) 100%
            );
    }

    .ta-book-index-inner {
        padding-top: 70px;
        padding-bottom: 58px;
    }

    .ta-book-index-head {
        margin-bottom: 30px;
        gap: 26px;
    }

    .ta-book-index-heading {
        margin-top: 12px;

        max-width: 680px;

        font-size: clamp(
            2.65rem,
            4vw,
            4rem
        );

        line-height: .94;
        letter-spacing: -.038em;
    }

    .ta-book-index-lead {
        max-width: 470px;

        padding-left: 18px;

        font-size: 1rem;
        line-height: 1.52;

        color: color-mix(
            in srgb,
            var(--ta-muted) 92%,
            transparent
        );
    }

    .ta-book-index-list {
        border-top:
            1px solid
            rgba(217,207,189,.88);
    }

    .ta-book-index-row {
        min-height: 0;

        padding:
            16px
            0;

        border-bottom:
            1px solid
            rgba(217,207,189,.78);

        background: transparent;
    }

    @media (min-width: 1100px) {

        .ta-book-index-row {
            grid-template-columns:
                38px
                minmax(290px, 1.15fr)
                154px
                minmax(230px, .85fr)
                28px;

            gap: 22px;

            padding:
                15px
                0;

            align-items: center;
        }

    }

    .ta-book-index-number {
        padding-top: 1px;

        font-size: .7rem;
        letter-spacing: .17em;

        color: color-mix(
            in srgb,
            var(--ta-gold) 88%,
            transparent
        );
    }

    .ta-book-index-main {
        min-width: 0;
    }

    .ta-book-index-title {
        font-size: clamp(
            1.62rem,
            2.2vw,
            2.18rem
        );

        line-height: .98;
        letter-spacing: -.028em;

        font-weight: 600;
    }

    .ta-book-index-copy {
        margin-top: 7px;

        max-width: 520px;

        font-size: .92rem;
        line-height: 1.4;

        color: var(--ta-muted);
    }

    .ta-book-index-media {
        width: 154px;
        max-width: 100%;
    }

    .ta-book-index-image {
        width: 154px;
        max-width: 100%;

        aspect-ratio: 16 / 9;

        object-fit: cover;
        object-position: center;

        border:
            1px solid
            rgba(217,207,189,.84);

        filter:
            saturate(.92)
            contrast(.98);

        transition:
            transform .45s cubic-bezier(.2,.7,.2,1),
            filter .45s ease,
            opacity .45s ease;

        opacity: .94;
    }

    .ta-book-index-row:hover
    .ta-book-index-image {
        transform: scale(1.018);

        filter:
            saturate(1)
            contrast(1);

        opacity: 1;
    }

    .ta-book-index-topics {
        gap:
            5px
            10px;

        align-content: center;
    }

    .ta-book-index-topics span {
        font-size: .84rem;
        line-height: 1.28;

        color:
            color-mix(
                in srgb,
                var(--ta-muted) 94%,
                transparent
            );
    }

    .ta-book-index-topics
    span:not(:last-child)::after {
        margin-left: 10px;

        color:
            color-mix(
                in srgb,
                var(--ta-gold) 78%,
                transparent
            );
    }

    .ta-book-index-open {
        font-size: 1.15rem;

        opacity: .72;

        transition:
            transform .25s ease,
            opacity .25s ease;
    }

    .ta-book-index-row:hover
    .ta-book-index-open {
        opacity: 1;
        transform: translateX(4px);
    }

    .ta-book-index-row:hover
    .ta-book-index-title {
        color: var(--ta-clay);
        transform: translateX(2px);
    }

    .ta-book-index-row:hover {
        background:
            linear-gradient(
                90deg,
                transparent 0%,
                rgba(199,165,82,.022) 22%,
                rgba(199,165,82,.032) 50%,
                rgba(199,165,82,.022) 78%,
                transparent 100%
            );
    }

    .ta-book-index-footer {
        padding-top: 18px;

        gap: 16px;

        font-size: .9rem;
    }

    .ta-book-index-footer a {
        position: relative;
    }

    .ta-book-index-footer a::after {
        content: "";

        position: absolute;

        left: 0;
        right: 100%;
        bottom: -3px;

        height: 1px;

        background: var(--ta-clay);

        transition:
            right .25s ease;
    }

    .ta-book-index-footer a:hover::after {
        right: 0;
    }

    @media (max-width: 1099px) {

        .ta-book-index-row {
            padding:
                20px
                0;
        }

        .ta-book-index-media {
            width: min(260px, 100%);
        }

        .ta-book-index-image {
            width: 100%;
        }

    }

    @media (max-width: 640px) {

        .ta-book-index-inner {
            padding-top: 56px;
            padding-bottom: 52px;
        }

        .ta-book-index-heading {
            font-size: 2.7rem;
        }

        .ta-book-index-row {
            grid-template-columns:
                32px
                minmax(0, 1fr);

            gap: 12px;

            padding:
                20px
                0;
        }

        .ta-book-index-title {
            font-size: 1.85rem;
        }

        .ta-book-index-copy {
            font-size: .9rem;
        }

    }




    /* =========================================================
       HOME — FOREST RHYTHM
       ========================================================= */

    .ta-home-forest-break {
        position: relative;
        overflow: hidden;

        background:
            var(--ta-forest-deep);

        color:
            var(--ta-ivory);
    }


    .ta-home-forest-break::before {
        content: "";

        position: absolute;
        inset: 0;

        pointer-events: none;

        background:
            radial-gradient(
                circle at 82% 28%,
                rgba(199,165,82,.11),
                transparent 30%
            ),
            linear-gradient(
                115deg,
                rgba(255,255,255,.018),
                transparent 45%
            );
    }


    .ta-home-forest-break-inner {
        position: relative;

        display: grid;

        gap: 24px;

        padding-top: 42px;
        padding-bottom: 42px;
    }


    @media (min-width: 980px) {

        .ta-home-forest-break-inner {
            grid-template-columns:
                105px
                minmax(0,1fr)
                minmax(230px,.48fr);

            gap: 44px;

            align-items: center;
        }

    }


    .ta-home-forest-break-kicker {
        font-size: 10px;
        line-height: 1;

        letter-spacing: .24em;
        text-transform: uppercase;

        font-weight: 700;

        color:
            rgba(246,240,228,.46);
    }


    @media (min-width: 980px) {

        .ta-home-forest-break-kicker {
            align-self: stretch;

            display: flex;
            align-items: flex-start;

            padding-top: 4px;

            border-right:
                1px solid
                rgba(246,240,228,.16);

            writing-mode: vertical-rl;

            transform:
                rotate(180deg);
        }

    }


    .ta-home-forest-break-eyebrow {
        margin-bottom: 10px;

        font-size: 10px;
        line-height: 1;

        letter-spacing: .2em;
        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-gold);
    }


    .ta-home-forest-break-main h2 {
        max-width: 760px;

        margin: 0;

        font-size:
            clamp(
                2.25rem,
                3.7vw,
                3.8rem
            );

        line-height: .94;

        letter-spacing: -.038em;

        font-weight: 600;

        color:
            var(--ta-ivory);
    }


    .ta-home-forest-break-meta {
        display: flex;
        flex-wrap: wrap;

        gap: 8px 16px;

        align-content: center;
    }


    .ta-home-forest-break-meta span {
        position: relative;

        font-size: .88rem;
        line-height: 1.3;

        color:
            rgba(246,240,228,.62);
    }


    .ta-home-forest-break-meta
    span:not(:last-child)::after {
        content: "·";

        margin-left: 16px;

        color:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       SECONDARY FOREST STRIP
       --------------------------------------------------------- */

    .ta-home-forest-strip {
        position: relative;

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);

        border-top:
            1px solid
            rgba(255,255,255,.055);

        border-bottom:
            1px solid
            rgba(255,255,255,.055);
    }


    .ta-home-forest-strip-inner {
        display: grid;

        gap: 20px;

        padding-top: 26px;
        padding-bottom: 26px;
    }


    @media (min-width: 880px) {

        .ta-home-forest-strip-inner {
            grid-template-columns:
                minmax(0,1fr)
                auto;

            align-items: center;
        }

    }


    .ta-home-forest-strip-copy {
        display: flex;

        flex-wrap: wrap;

        gap: 8px 14px;

        align-items: baseline;
    }


    .ta-home-forest-strip-copy span {
        font-size: .88rem;

        letter-spacing: .04em;

        color:
            rgba(246,240,228,.52);
    }


    .ta-home-forest-strip-copy strong {
        font-size: 1.2rem;
        line-height: 1.25;

        font-weight: 500;

        color:
            var(--ta-ivory);
    }


    .ta-home-forest-strip-links {
        display: flex;
        flex-wrap: wrap;

        gap: 22px;
    }


    .ta-home-forest-strip-links a {
        display: inline-flex;

        align-items: center;

        gap: 7px;

        text-decoration: none;

        font-size: .86rem;
        line-height: 1;

        font-weight: 600;

        color:
            rgba(246,240,228,.78);

        transition:
            color .2s ease;
    }


    .ta-home-forest-strip-links a span {
        color:
            var(--ta-gold);

        transition:
            transform .2s ease;
    }


    .ta-home-forest-strip-links a:hover {
        color:
            var(--ta-ivory);
    }


    .ta-home-forest-strip-links a:hover span {
        transform:
            translate(
                2px,
                -2px
            );
    }


    /* ---------------------------------------------------------
       CUPRINS — GREEN MICRO ACCENTS
       --------------------------------------------------------- */

    .ta-book-index-number {
        color:
            var(--ta-forest);
    }


    .ta-book-index-row {
        position: relative;
    }


    .ta-book-index-row::before {
        content: "";

        position: absolute;

        left: 0;
        top: 50%;

        width: 2px;
        height: 0;

        background:
            var(--ta-forest);

        transform:
            translateY(-50%);

        transition:
            height .25s ease;
    }


    .ta-book-index-row:hover::before {
        height: 54%;
    }


    .ta-book-index-row:hover
    .ta-book-index-number {
        color:
            var(--ta-gold);
    }


    .ta-book-index-image {
        position: relative;

        box-shadow:
            inset 0 0 0 1px
            rgba(7,60,46,.045);
    }


    @media (max-width: 700px) {

        .ta-home-forest-break-inner {
            padding-top: 34px;
            padding-bottom: 34px;
        }


        .ta-home-forest-break-main h2 {
            font-size: 2.35rem;
        }


        .ta-home-forest-strip-inner {
            padding-top: 24px;
            padding-bottom: 24px;
        }

    }




    /* =========================================================
       GLOBAL SMART HEADER
       scroll down -> hide
       scroll up   -> reveal
       ========================================================= */

    [data-ta-site-header] {
        position: sticky !important;

        top: 0;

        z-index: 1000;

        width: 100%;

        transform:
            translate3d(
                0,
                0,
                0
            );

        will-change:
            transform;

        backface-visibility:
            hidden;

        /*
         * Când revine:
         * mai lent și foarte fluid.
         */
        transition:
            transform
            480ms
            cubic-bezier(
                .16,
                1,
                .3,
                1
            ),
            box-shadow
            260ms ease,
            background-color
            260ms ease;
    }


    /*
     * SCROLL DOWN
     *
     * Retragerea este puțin mai rapidă
     * decât revenirea.
     */
    [data-ta-site-header]
    .dummy-selector-that-does-not-exist {
        display: none;
    }


    [data-ta-site-header].ta-site-header-hidden {
        transform:
            translate3d(
                0,
                -102%,
                0
            );

        transition:
            transform
            330ms
            cubic-bezier(
                .4,
                0,
                .2,
                1
            ),
            box-shadow
            200ms ease;
    }


    /*
     * SCROLL UP
     */
    [data-ta-site-header].ta-site-header-visible {
        transform:
            translate3d(
                0,
                0,
                0
            );

        transition:
            transform
            500ms
            cubic-bezier(
                .16,
                1,
                .3,
                1
            ),
            box-shadow
            260ms ease,
            background-color
            260ms ease;
    }


    /*
     * După ce utilizatorul a început scroll-ul,
     * delimităm foarte subtil header-ul de conținut.
     */
    [data-ta-site-header].ta-site-header-scrolled {
        box-shadow:
            0
            1px
            0
            rgba(
                7,
                60,
                46,
                .08
            ),
            0
            9px
            24px
            rgba(
                4,
                43,
                33,
                .035
            );
    }


    /*
     * Fără animații pentru utilizatorii care
     * au cerut explicit reduced motion.
     */
    @media (
        prefers-reduced-motion: reduce
    ) {

        [data-ta-site-header] {
            transition:
                none !important;

            transform:
                none !important;
        }

    }




    /* =========================================================
       PREMIUM MOBILE NAVIGATION
       ========================================================= */

    .ta-topbar {
        overflow:
            visible !important;
    }


    .ta-mobile-toggle {
        display:
            none;
    }


    .ta-mobile-panel {
        display:
            none;
    }


    @media (max-width: 900px) {

        /*
         * -----------------------------------------------------
         * HEADER ALIGNMENT
         * -----------------------------------------------------
         */

        .ta-topbar-inner {
            position:
                relative;

            display:
                flex;

            align-items:
                center;

            min-height:
                72px;
        }


        .ta-brand {
            position:
                relative;

            z-index:
                4;
        }


        .ta-header-actions {
            margin-left:
                auto;

            display:
                flex;

            align-items:
                center;

            justify-content:
                flex-end;

            gap:
                0;
        }


        .ta-header-reserve {
            display:
                none !important;
        }


        /*
         * -----------------------------------------------------
         * PREMIUM BURGER
         * -----------------------------------------------------
         */

        .ta-mobile-toggle {
            position:
                relative;

            z-index:
                5;

            display:
                inline-flex !important;

            align-items:
                center;

            justify-content:
                center;

            width:
                44px;

            height:
                44px;

            margin:
                0 -6px 0 0;

            padding:
                0;

            border:
                0;

            border-radius:
                0;

            background:
                transparent;

            color:
                var(--ta-forest);

            cursor:
                pointer;

            -webkit-tap-highlight-color:
                transparent;
        }


        .ta-mobile-toggle::before {
            content:
                "";

            position:
                absolute;

            inset:
                4px;

            border:
                1px solid
                transparent;

            background:
                transparent;

            transition:
                background-color
                280ms ease,
                border-color
                280ms ease,
                transform
                280ms ease;
        }


        .ta-mobile-toggle:active::before,
        .ta-mobile-toggle.is-open::before {
            background:
                rgba(
                    7,
                    60,
                    46,
                    .045
                );

            border-color:
                rgba(
                    7,
                    60,
                    46,
                    .06
                );
        }


        .ta-mobile-toggle-box {
            position:
                relative;

            display:
                block;

            width:
                25px;

            height:
                16px;
        }


        .ta-mobile-toggle-line {
            position:
                absolute;

            left:
                0;

            width:
                25px;

            height:
                1.5px;

            background:
                var(--ta-forest);

            transform-origin:
                center;

            border-radius:
                999px;

            transition:
                top
                330ms
                cubic-bezier(.16,1,.3,1),

                transform
                430ms
                cubic-bezier(.16,1,.3,1),

                width
                330ms
                cubic-bezier(.16,1,.3,1),

                background-color
                250ms ease;
        }


        .ta-mobile-toggle-line-1 {
            top:
                4px;
        }


        .ta-mobile-toggle-line-2 {
            top:
                11px;

            width:
                18px;

            left:
                7px;
        }


        /*
         * Burger -> X
         */

        .ta-mobile-toggle.is-open
        .ta-mobile-toggle-line-1 {
            top:
                7.5px;

            transform:
                rotate(45deg);
        }


        .ta-mobile-toggle.is-open
        .ta-mobile-toggle-line-2 {
            top:
                7.5px;

            left:
                0;

            width:
                25px;

            transform:
                rotate(-45deg);
        }


        /*
         * -----------------------------------------------------
         * DROPDOWN CONTAINER
         *
         * NU folosim display:none/block.
         *
         * grid-template-rows permite deschiderea
         * și închiderea lină chiar dacă înălțimea
         * conținutului este dinamică.
         * -----------------------------------------------------
         */

        .ta-mobile-panel {
            position:
                absolute;

            z-index:
                3;

            top:
                100%;

            left:
                0;

            right:
                0;

            display:
                grid !important;

            grid-template-rows:
                0fr;

            opacity:
                0;

            visibility:
                hidden;

            pointer-events:
                none;

            overflow:
                hidden;

            background:
                rgba(
                    250,
                    247,
                    239,
                    .985
                );

            border-top:
                1px solid
                rgba(
                    7,
                    60,
                    46,
                    .065
                );

            box-shadow:
                0
                28px
                50px
                rgba(
                    4,
                    43,
                    33,
                    .09
                );

            transform-origin:
                top center;

            transition:
                grid-template-rows
                520ms
                cubic-bezier(
                    .16,
                    1,
                    .3,
                    1
                ),

                opacity
                300ms
                ease,

                visibility
                0s
                linear
                520ms;
        }


        .ta-mobile-panel.is-open {
            grid-template-rows:
                1fr;

            opacity:
                1;

            visibility:
                visible;

            pointer-events:
                auto;

            transition:
                grid-template-rows
                560ms
                cubic-bezier(
                    .16,
                    1,
                    .3,
                    1
                ),

                opacity
                280ms
                ease,

                visibility
                0s;
        }


        .ta-mobile-panel-clip {
            min-height:
                0;

            overflow:
                hidden;
        }


        .ta-mobile-menu-scroll {
            max-height:
                calc(
                    100svh
                    - 72px
                );

            overflow-y:
                auto;

            overscroll-behavior:
                contain;

            scrollbar-width:
                thin;

            scrollbar-color:
                rgba(
                    7,
                    60,
                    46,
                    .18
                )
                transparent;
        }


        /*
         * -----------------------------------------------------
         * CONTENT ENTER / EXIT
         * -----------------------------------------------------
         */

        .ta-mobile-menu {
            padding-top:
                16px;

            padding-bottom:
                28px;

            opacity:
                0;

            transform:
                translate3d(
                    0,
                    -14px,
                    0
                );

            transition:
                transform
                420ms
                cubic-bezier(.16,1,.3,1),

                opacity
                240ms
                ease;
        }


        .ta-mobile-panel.is-open
        .ta-mobile-menu {
            opacity:
                1;

            transform:
                translate3d(
                    0,
                    0,
                    0
                );

            transition-delay:
                70ms;
        }


        /*
         * -----------------------------------------------------
         * SMALL INTRO
         * -----------------------------------------------------
         */

        .ta-mobile-menu-top {
            display:
                flex;

            align-items:
                center;

            justify-content:
                space-between;

            gap:
                20px;

            padding:
                0
                0
                13px;

            font-size:
                10px;

            line-height:
                1;

            letter-spacing:
                .19em;

            text-transform:
                uppercase;

            font-weight:
                700;

            color:
                rgba(
                    24,
                    49,
                    41,
                    .46
                );
        }


        /*
         * -----------------------------------------------------
         * LINKS
         * -----------------------------------------------------
         */

        .ta-mobile-nav {
            display:
                block;

            border-top:
                1px solid
                var(--ta-border);
        }


        .ta-mobile-nav a {
            position:
                relative;

            display:
                grid;

            grid-template-columns:
                36px
                minmax(
                    0,
                    1fr
                )
                24px;

            gap:
                12px;

            align-items:
                center;

            min-height:
                50px;

            padding:
                4px
                0;

            border-bottom:
                1px solid
                var(--ta-border);

            text-decoration:
                none;

            color:
                var(--ta-forest);

            opacity:
                0;

            transform:
                translate3d(
                    0,
                    -7px,
                    0
                );

            transition:
                color
                220ms ease,

                transform
                280ms
                cubic-bezier(.16,1,.3,1),

                opacity
                200ms ease,

                background-color
                220ms ease;
        }


        .ta-mobile-panel.is-open
        .ta-mobile-nav a {
            opacity:
                1;

            transform:
                translate3d(
                    0,
                    0,
                    0
                );

            transition-delay:
                calc(
                    90ms
                    +
                    (
                        var(--ta-menu-index)
                        * 28ms
                    )
                );
        }


        /*
         * Closing:
         * fără stagger invers lung.
         * Toate dispar foarte fin înainte
         * ca panelul să se strângă.
         */
        .ta-mobile-panel:not(.is-open)
        .ta-mobile-nav a {
            transition-delay:
                0ms;
        }


        .ta-mobile-nav a::before {
            content:
                "";

            position:
                absolute;

            left:
                -20px;

            top:
                50%;

            width:
                2px;

            height:
                0;

            background:
                var(--ta-clay);

            transform:
                translateY(-50%);

            transition:
                height
                260ms
                cubic-bezier(.16,1,.3,1);
        }


        .ta-mobile-nav a.ta-active::before {
            height:
                42%;
        }


        .ta-mobile-nav-number {
            font-size:
                10px;

            line-height:
                1;

            letter-spacing:
                .15em;

            font-weight:
                700;

            color:
                var(--ta-gold);
        }


        .ta-mobile-nav-label {
            font-size:
                1.4rem;

            line-height:
                1;

            letter-spacing:
                -.018em;

            font-weight:
                600;
        }


        .ta-mobile-nav-arrow {
            justify-self:
                end;

            font-size:
                1rem;

            color:
                var(--ta-clay);

            opacity:
                .58;

            transition:
                transform
                220ms ease,

                opacity
                220ms ease;
        }


        .ta-mobile-nav a.ta-active
        .ta-mobile-nav-label {
            color:
                var(--ta-clay);
        }


        .ta-mobile-nav a:active
        .ta-mobile-nav-arrow {
            opacity:
                1;

            transform:
                translate(
                    2px,
                    -2px
                );
        }


        /*
         * -----------------------------------------------------
         * FOOTER / CTA
         * -----------------------------------------------------
         */

        .ta-mobile-menu-footer {
            display:
                grid;

            gap:
                18px;

            margin-top:
                20px;

            padding-top:
                18px;
        }


        .ta-mobile-menu-footer-copy {
            display:
                flex;

            flex-wrap:
                wrap;

            gap:
                5px
                8px;

            align-items:
                baseline;
        }


        .ta-mobile-menu-footer-copy span {
            font-size:
                .86rem;

            color:
                var(--ta-muted);
        }


        .ta-mobile-menu-footer-copy strong {
            font-size:
                1rem;

            color:
                var(--ta-forest);

            font-weight:
                600;
        }


        .ta-mobile-reserve {
            display:
                flex;

            align-items:
                center;

            justify-content:
                space-between;

            min-height:
                52px;

            padding:
                0
                18px;

            background:
                var(--ta-forest);

            border:
                1px solid
                var(--ta-forest);

            color:
                var(--ta-ivory);

            text-decoration:
                none;

            font-size:
                .91rem;

            line-height:
                1;

            letter-spacing:
                .06em;

            font-weight:
                600;

            transition:
                background-color
                220ms ease,

                border-color
                220ms ease;
        }


        .ta-mobile-reserve strong {
            color:
                var(--ta-gold);

            font-size:
                1.2rem;

            font-weight:
                400;
        }


        /*
         * -----------------------------------------------------
         * BODY LOCK
         * -----------------------------------------------------
         */

        html.ta-mobile-menu-lock,
        body.ta-mobile-menu-lock {
            overflow:
                hidden;
        }

    }


    /*
     * Desktop reset.
     */
    @media (min-width: 901px) {

        .ta-mobile-toggle,
        .ta-mobile-panel {
            display:
                none !important;
        }

    }


    /*
     * Accessibility — reduced motion.
     */
    @media (
        prefers-reduced-motion:
        reduce
    ) {

        .ta-mobile-panel,
        .ta-mobile-menu,
        .ta-mobile-nav a,
        .ta-mobile-toggle-line,
        .ta-mobile-nav-arrow {
            transition:
                none !important;
        }

    }




    /* =========================================================
       HOME — PREMIUM CHAPTER CAROUSEL
       ========================================================= */

    .ta-chapter-carousel-section {
        position: relative;

        overflow: hidden;

        background:
            linear-gradient(
                180deg,
                var(--ta-ivory-soft) 0%,
                var(--ta-ivory) 100%
            );

        border-top:
            1px solid var(--ta-border);

        border-bottom:
            1px solid var(--ta-border);
    }


    .ta-chapter-carousel-section
    > .ta-container {
        padding-top:
            72px;

        padding-bottom:
            54px;
    }


    /*
     * ---------------------------------------------------------
     * HEADING
     * ---------------------------------------------------------
     */

    .ta-chapter-carousel-head {
        display: grid;

        gap: 28px;

        align-items: end;

        margin-bottom: 34px;
    }


    @media (min-width: 900px) {

        .ta-chapter-carousel-head {
            grid-template-columns:
                minmax(0, 1fr)
                minmax(280px, .44fr);
        }

    }


    .ta-chapter-carousel-heading {
        margin:
            13px
            0
            0;

        font-size:
            clamp(
                2.8rem,
                4.4vw,
                4.5rem
            );

        line-height:
            .91;

        letter-spacing:
            -.042em;

        font-weight:
            700;

        color:
            var(--ta-forest);
    }


    .ta-chapter-carousel-head-right {
        display: flex;

        flex-direction: column;

        gap: 18px;

        padding-left: 18px;

        border-left:
            1px solid var(--ta-gold);
    }


    .ta-chapter-carousel-head-right p {
        max-width: 420px;

        margin: 0;

        font-size: 1rem;
        line-height: 1.5;

        color:
            var(--ta-muted);
    }


    .ta-chapter-carousel-counter {
        display: flex;

        align-items: center;

        gap: 10px;

        width: fit-content;

        font-size: .74rem;

        line-height: 1;

        letter-spacing: .17em;

        font-weight: 700;

        color:
            var(--ta-forest);
    }


    .ta-chapter-carousel-counter i {
        display: block;

        width: 32px;
        height: 1px;

        background:
            var(--ta-gold);
    }


    /*
     * ---------------------------------------------------------
     * SHELL
     * ---------------------------------------------------------
     */

    .ta-chapter-carousel-shell {
        position: relative;
    }


    .ta-chapter-carousel-viewport {
        position: relative;

        overflow-x: auto;
        overflow-y: hidden;

        width: 100%;

        scroll-snap-type:
            x mandatory;

        overscroll-behavior-x:
            contain;

        scrollbar-width:
            none;

        -ms-overflow-style:
            none;
    }


    .ta-chapter-carousel-viewport::-webkit-scrollbar {
        display: none;
    }


    .ta-chapter-carousel-track {
        display: flex;

        width: 100%;
    }


    /*
     * ---------------------------------------------------------
     * SLIDE
     * ---------------------------------------------------------
     */

    .ta-chapter-slide {
        flex:
            0 0 100%;

        width: 100%;

        display: grid;

        scroll-snap-align:
            start;

        scroll-snap-stop:
            always;

        background:
            rgba(
                255,
                255,
                255,
                .20
            );

        border-top:
            1px solid
            var(--ta-border);

        border-bottom:
            1px solid
            var(--ta-border);
    }


    @media (min-width: 900px) {

        .ta-chapter-slide {
            grid-template-columns:
                minmax(0, 1fr)
                minmax(380px, .82fr);

            min-height:
                355px;
        }


        /*
         * Alternanță editorială:
         * imaginea schimbă partea fără să
         * rupă geometria carouselului.
         */

        .ta-chapter-slide:nth-child(even)
        .ta-chapter-slide-media {
            order: -1;

            border-left: 0;
            border-right:
                1px solid
                var(--ta-border);
        }

    }


    /*
     * ---------------------------------------------------------
     * COPY
     * ---------------------------------------------------------
     */

    .ta-chapter-slide-copy {
        display: flex;

        flex-direction: column;

        justify-content: center;

        min-width: 0;

        padding:
            42px
            54px;
    }


    .ta-chapter-slide-meta {
        display: flex;

        align-items: center;

        gap: 12px;

        margin-bottom: 17px;
    }


    .ta-chapter-slide-number {
        font-size: .76rem;

        line-height: 1;

        letter-spacing: .18em;

        font-weight: 700;

        color:
            var(--ta-gold);
    }


    .ta-chapter-slide-label {
        font-size: 10px;

        line-height: 1;

        letter-spacing: .18em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            rgba(
                24,
                49,
                41,
                .44
            );
    }


    .ta-chapter-slide-title {
        margin: 0;

        font-size:
            clamp(
                2.8rem,
                4.5vw,
                4.5rem
            );

        line-height: .9;

        letter-spacing: -.043em;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-chapter-slide-intro {
        max-width:
            590px;

        margin:
            20px
            0
            0;

        font-size:
            1.03rem;

        line-height:
            1.52;

        color:
            var(--ta-muted);
    }


    /*
     * ---------------------------------------------------------
     * TOPICS
     * ---------------------------------------------------------
     */

    .ta-chapter-slide-topics {
        display: flex;

        flex-wrap: wrap;

        gap:
            7px
            12px;

        margin-top: 22px;
    }


    .ta-chapter-slide-topics span {
        position: relative;

        font-size: .84rem;

        line-height: 1.3;

        color:
            var(--ta-ink);
    }


    .ta-chapter-slide-topics
    span:not(:last-child)::after {
        content: "·";

        margin-left: 12px;

        color:
            var(--ta-gold);
    }


    /*
     * ---------------------------------------------------------
     * LINK
     * ---------------------------------------------------------
     */

    .ta-chapter-slide-link {
        display: inline-flex;

        align-items: center;

        gap: 14px;

        width: fit-content;

        margin-top: 27px;

        text-decoration: none;

        font-size: 11px;

        line-height: 1;

        letter-spacing: .16em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-clay);
    }


    .ta-chapter-slide-link strong {
        font-size: 1.15rem;

        font-weight: 400;

        transition:
            transform
            220ms ease;
    }


    .ta-chapter-slide-link:hover strong {
        transform:
            translateX(5px);
    }


    /*
     * ---------------------------------------------------------
     * IMAGE
     * ---------------------------------------------------------
     */

    .ta-chapter-slide-media {
        position: relative;

        display: block;

        min-height: 270px;

        overflow: hidden;

        border-left:
            1px solid
            var(--ta-border);

        background:
            #d9d1c5;

        text-decoration: none;
    }


    .ta-chapter-slide-media img,
    .ta-chapter-slide-placeholder {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;

        transition:
            transform
            850ms
            cubic-bezier(
                .16,
                1,
                .3,
                1
            ),
            filter
            500ms ease;
    }


    .ta-chapter-slide-media img {
        filter:
            saturate(.92)
            contrast(.98);
    }


    .ta-chapter-slide-media:hover img {
        transform:
            scale(1.025);

        filter:
            saturate(1)
            contrast(1);
    }


    .ta-chapter-slide-placeholder {
        background:
            var(--ta-forest);
    }


    .ta-chapter-slide-image-overlay {
        position: absolute;

        inset: 0;

        background:
            linear-gradient(
                180deg,
                rgba(4,43,33,.03),
                rgba(4,43,33,.18)
            );

        pointer-events: none;
    }


    .ta-chapter-slide-image-index {
        position: absolute;

        right: 18px;
        bottom: 15px;

        z-index: 2;

        font-size: .72rem;

        line-height: 1;

        letter-spacing: .16em;

        font-weight: 700;

        color:
            rgba(
                246,
                240,
                228,
                .82
            );
    }


    /*
     * ---------------------------------------------------------
     * ARROWS
     * ---------------------------------------------------------
     */

    .ta-chapter-carousel-arrow {
        position: absolute;

        z-index: 5;

        top: 50%;

        display: flex;

        align-items: center;

        justify-content: center;

        width: 42px;
        height: 42px;

        padding: 0;

        border:
            1px solid
            rgba(
                7,
                60,
                46,
                .18
            );

        border-radius:
            50%;

        background:
            rgba(
                246,
                240,
                228,
                .92
            );

        color:
            var(--ta-forest);

        cursor: pointer;

        transform:
            translateY(-50%);

        box-shadow:
            0
            8px
            26px
            rgba(
                4,
                43,
                33,
                .07
            );

        backdrop-filter:
            blur(8px);

        -webkit-backdrop-filter:
            blur(8px);

        transition:
            background-color
            220ms ease,
            border-color
            220ms ease,
            color
            220ms ease,
            transform
            220ms
            cubic-bezier(.16,1,.3,1);
    }


    .ta-chapter-carousel-arrow span {
        font-size: 1rem;

        line-height: 1;
    }


    .ta-chapter-carousel-arrow-prev {
        left:
            -21px;
    }


    .ta-chapter-carousel-arrow-next {
        right:
            -21px;
    }


    .ta-chapter-carousel-arrow:hover {
        background:
            var(--ta-forest);

        border-color:
            var(--ta-forest);

        color:
            var(--ta-ivory);
    }


    .ta-chapter-carousel-arrow-prev:hover {
        transform:
            translate(
                -3px,
                -50%
            );
    }


    .ta-chapter-carousel-arrow-next:hover {
        transform:
            translate(
                3px,
                -50%
            );
    }


    /*
     * ---------------------------------------------------------
     * PROGRESS
     * ---------------------------------------------------------
     */

    .ta-chapter-carousel-bottom {
        display: grid;

        gap: 14px;

        margin-top: 19px;
    }


    .ta-chapter-carousel-progress {
        position: relative;

        width: 100%;
        height: 1px;

        overflow: hidden;

        background:
            rgba(
                7,
                60,
                46,
                .12
            );
    }


    .ta-chapter-carousel-progress-fill {
        width: 0;
        height: 100%;

        background:
            var(--ta-clay);

        transition:
            width
            480ms
            cubic-bezier(
                .16,
                1,
                .3,
                1
            );
    }


    .ta-chapter-carousel-hint {
        display: flex;

        align-items: center;

        justify-content: flex-end;

        gap: 10px;

        font-size: .72rem;

        line-height: 1;

        letter-spacing: .08em;

        color:
            rgba(
                24,
                49,
                41,
                .48
            );
    }


    .ta-chapter-carousel-hint i {
        display: block;

        width: 3px;
        height: 3px;

        border-radius: 50%;

        background:
            var(--ta-gold);
    }


    /*
     * ---------------------------------------------------------
     * FOOTER LINKS
     * ---------------------------------------------------------
     */

    .ta-chapter-carousel-footer {
        display: flex;

        flex-wrap: wrap;

        align-items: center;

        gap: 17px;

        margin-top: 25px;

        font-size: .88rem;
    }


    .ta-chapter-carousel-footer span {
        color:
            var(--ta-muted);
    }


    .ta-chapter-carousel-footer a {
        text-decoration: none;

        font-weight: 600;

        color:
            var(--ta-clay);
    }


    /*
     * ---------------------------------------------------------
     * MOBILE
     * ---------------------------------------------------------
     */

    @media (max-width: 899px) {

        .ta-chapter-carousel-section
        > .ta-container {
            padding-top: 56px;
            padding-bottom: 46px;
        }


        .ta-chapter-carousel-head {
            margin-bottom: 26px;
        }


        .ta-chapter-carousel-head-right {
            padding-left: 16px;
        }


        .ta-chapter-slide {
            display: flex;

            flex-direction: column;

            min-height: 0;
        }


        .ta-chapter-slide-copy {
            order: 2;

            padding:
                28px
                22px
                31px;
        }


        .ta-chapter-slide-media,
        .ta-chapter-slide:nth-child(even)
        .ta-chapter-slide-media {
            order: 1;

            min-height: 220px;

            aspect-ratio:
                16 / 10;

            border-left: 0;
            border-right: 0;

            border-bottom:
                1px solid
                var(--ta-border);
        }


        .ta-chapter-slide-title {
            font-size:
                clamp(
                    2.55rem,
                    11vw,
                    3.4rem
                );
        }


        .ta-chapter-slide-intro {
            font-size: .96rem;
        }


        /*
         * Săgețile intră puțin în carousel,
         * ca să nu iasă din viewport.
         */

        .ta-chapter-carousel-arrow {
            top:
                110px;

            width:
                38px;

            height:
                38px;

            background:
                rgba(
                    246,
                    240,
                    228,
                    .90
                );
        }


        .ta-chapter-carousel-arrow-prev {
            left: 10px;
        }


        .ta-chapter-carousel-arrow-next {
            right: 10px;
        }


        .ta-chapter-carousel-hint {
            justify-content:
                flex-start;
        }

    }


    @media (max-width: 480px) {

        .ta-chapter-carousel-arrow {
            width: 36px;
            height: 36px;
        }


        .ta-chapter-carousel-hint
        span:last-child,
        .ta-chapter-carousel-hint
        i {
            display: none;
        }

    }


    @media (
        prefers-reduced-motion:
        reduce
    ) {

        .ta-chapter-carousel-viewport {
            scroll-behavior:
                auto !important;
        }


        .ta-chapter-slide-media img,
        .ta-chapter-carousel-arrow,
        .ta-chapter-carousel-progress-fill {
            transition:
                none !important;
        }

    }




    /* =========================================================
       HOME — PREMIUM AVAILABILITY ATELIER
       ========================================================= */

    .ta-availability-section {
        position: relative;

        padding:
            76px
            0
            82px;

        overflow: hidden;

        background:
            linear-gradient(
                180deg,
                var(--ta-ivory) 0%,
                var(--ta-ivory-soft) 100%
            );
    }


    /*
     * O urmă discretă de verde în fundal.
     * Nu devine încă un bloc forest masiv.
     */
    .ta-availability-section::before {
        content: "";

        position: absolute;

        width: 520px;
        height: 520px;

        right: -230px;
        top: -260px;

        border-radius: 50%;

        pointer-events: none;

        background:
            radial-gradient(
                circle,
                rgba(7,60,46,.055) 0%,
                rgba(7,60,46,0) 70%
            );
    }


    .ta-availability-inner {
        position: relative;

        overflow: hidden;

        border:
            1px solid
            rgba(7,60,46,.14);

        background:
            rgba(
                251,
                248,
                240,
                .88
            );

        box-shadow:
            0
            22px
            55px
            rgba(
                4,
                43,
                33,
                .045
            );
    }


    /*
     * Gold micro-accent.
     */
    .ta-availability-inner::before {
        content: "";

        position: absolute;

        z-index: 3;

        left: 0;
        top: 0;

        width: 84px;
        height: 2px;

        background:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       HEADING
       --------------------------------------------------------- */

    .ta-availability-heading {
        position: relative;

        display: grid;

        gap: 28px;

        align-items: end;

        padding:
            38px
            42px
            34px;

        background:
            linear-gradient(
                115deg,
                var(--ta-forest-deep) 0%,
                var(--ta-forest) 100%
            );

        border-bottom:
            1px solid
            rgba(199,165,82,.22);

        color:
            var(--ta-ivory);
    }


    @media (min-width: 900px) {

        .ta-availability-heading {
            grid-template-columns:
                minmax(0, 1fr)
                minmax(300px, .48fr);
        }

    }


    .ta-availability-heading-copy {
        position: relative;
    }


    .ta-availability-heading
    .ta-eyebrow {
        color:
            var(--ta-gold);
    }


    .ta-availability-heading-title {
        max-width:
            690px;

        margin:
            12px
            0
            0;

        font-size:
            clamp(
                2.7rem,
                4.2vw,
                4.3rem
            );

        line-height:
            .92;

        letter-spacing:
            -.04em;

        font-weight:
            600;

        color:
            var(--ta-ivory);
    }


    .ta-availability-heading-text {
        max-width:
            480px;

        margin:
            0;

        padding-left:
            20px;

        border-left:
            1px solid
            rgba(199,165,82,.58);

        font-size:
            1rem;

        line-height:
            1.52;

        color:
            rgba(246,240,228,.67);
    }


    /* ---------------------------------------------------------
       CONTROLS
       --------------------------------------------------------- */

    .ta-availability-controls {
        display: grid;

        gap: 24px;

        align-items: end;

        padding:
            24px
            32px
            25px;

        border-bottom:
            1px solid
            rgba(7,60,46,.10);

        background:
            rgba(7,60,46,.025);
    }


    @media (min-width: 760px) {

        .ta-availability-controls {
            grid-template-columns:
                minmax(0,1fr)
                minmax(210px,.42fr);
        }

    }


    /*
     * Labels mici / editoriale.
     */
    .ta-availability-controls label,
    .ta-availability-controls
    .ta-field-label {
        font-size:
            10px;

        line-height:
            1;

        letter-spacing:
            .18em;

        text-transform:
            uppercase;

        font-weight:
            700;

        color:
            rgba(24,49,41,.58);
    }


    /* ---------------------------------------------------------
       COURT SELECTOR
       --------------------------------------------------------- */

    .ta-availability-courts {
        display: flex;

        flex-wrap: wrap;

        gap: 8px;

        margin-top:
            11px;
    }


    .ta-availability-court-input {
        position: absolute;

        opacity: 0;

        pointer-events: none;
    }


    .ta-availability-court-label {
        display: inline-flex;

        align-items: center;

        justify-content: center;

        min-height:
            42px;

        padding:
            0
            18px;

        border:
            1px solid
            rgba(7,60,46,.18);

        background:
            transparent;

        color:
            var(--ta-forest);

        cursor: pointer;

        font-size:
            .95rem;

        line-height:
            1;

        font-weight:
            600;

        transition:
            color
            220ms ease,
            background-color
            220ms ease,
            border-color
            220ms ease,
            transform
            220ms
            cubic-bezier(.16,1,.3,1);
    }


    .ta-availability-court-label:hover {
        border-color:
            rgba(7,60,46,.42);

        transform:
            translateY(-1px);
    }


    .ta-availability-court-input:checked
    + .ta-availability-court-label {
        border-color:
            var(--ta-forest);

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);
    }


    /* ---------------------------------------------------------
       DATE
       --------------------------------------------------------- */

    .ta-availability-date-wrap {
        position: relative;

        margin-top:
            11px;
    }


    .ta-availability-date {
        width: 100%;

        min-height:
            42px;

        padding:
            0
            13px;

        border:
            1px solid
            rgba(7,60,46,.18);

        border-radius:
            0;

        outline:
            none;

        background:
            rgba(255,255,255,.48);

        color:
            var(--ta-forest);

        font-family:
            inherit;

        font-size:
            .94rem;

        line-height:
            1;

        font-weight:
            600;

        transition:
            border-color
            200ms ease,
            box-shadow
            200ms ease,
            background-color
            200ms ease;
    }


    .ta-availability-date:focus {
        border-color:
            var(--ta-forest);

        background:
            rgba(255,255,255,.75);

        box-shadow:
            0
            0
            0
            3px
            rgba(7,60,46,.055);
    }


    .ta-availability-date::-webkit-calendar-picker-indicator {
        opacity:
            .56;

        cursor:
            pointer;
    }


    /* ---------------------------------------------------------
       STATUS + NAVIGATION
       --------------------------------------------------------- */

    #availabilityStatus {
        position: relative;

        display: flex;

        align-items: center;

        min-height:
            52px;

        margin:
            0;

        padding:
            0
            120px
            0
            51px;

        border-bottom:
            1px solid
            rgba(7,60,46,.085);

        font-size:
            .9rem;

        line-height:
            1.3;

        font-weight:
            600;

        color:
            var(--ta-forest);

        background:
            rgba(255,255,255,.20);
    }


    #availabilityStatus::before {
        content: "";

        position: absolute;

        left:
            32px;

        width:
            7px;

        height:
            7px;

        border-radius:
            50%;

        background:
            #6f947b;

        box-shadow:
            0
            0
            0
            4px
            rgba(111,148,123,.12);
    }


    /*
     * Săgeți foarte fine.
     */
    #availabilityPrev,
    #availabilityNext {
        position: relative;

        display: inline-flex;

        align-items: center;

        justify-content: center;

        width:
            36px;

        height:
            36px;

        padding: 0;

        border:
            1px solid
            rgba(7,60,46,.17);

        border-radius:
            50%;

        background:
            transparent;

        color:
            var(--ta-forest);

        cursor:
            pointer;

        font-family:
            inherit;

        font-size:
            .95rem;

        line-height:
            1;

        transition:
            color
            220ms ease,
            background-color
            220ms ease,
            border-color
            220ms ease,
            transform
            220ms
            cubic-bezier(.16,1,.3,1);
    }


    #availabilityPrev:hover,
    #availabilityNext:hover {
        border-color:
            var(--ta-forest);

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);
    }


    #availabilityPrev:hover {
        transform:
            translateX(-2px);
    }


    #availabilityNext:hover {
        transform:
            translateX(2px);
    }


    /* ---------------------------------------------------------
       CAROUSEL
       --------------------------------------------------------- */

    #availabilityCarousel {
        display: flex;

        gap:
            13px;

        overflow-x:
            auto;

        overflow-y:
            hidden;

        padding:
            24px
            31px
            30px;

        scroll-snap-type:
            x mandatory;

        overscroll-behavior-x:
            contain;

        scrollbar-width:
            none;

        background:
            transparent;
    }


    #availabilityCarousel::-webkit-scrollbar {
        display: none;
    }


    /*
     * Slot card.
     *
     * Selectorul pe href îl face independent
     * de clasa folosită în renderer-ul JS.
     */
    #availabilityCarousel
    a[href*="/rezervari"] {
        position: relative;

        flex:
            0 0
            215px;

        display: flex;

        flex-direction: column;

        min-height:
            164px;

        padding:
            20px
            19px
            18px;

        overflow: hidden;

        scroll-snap-align:
            start;

        border:
            1px solid
            rgba(7,60,46,.13);

        background:
            rgba(255,255,255,.50);

        color:
            var(--ta-ink);

        text-decoration:
            none;

        box-shadow:
            0
            9px
            25px
            rgba(4,43,33,.025);

        transition:
            transform
            280ms
            cubic-bezier(.16,1,.3,1),
            border-color
            220ms ease,
            box-shadow
            280ms ease,
            background-color
            220ms ease;
    }


    /*
     * Linie forest mică în partea de sus.
     */
    #availabilityCarousel
    a[href*="/rezervari"]::before {
        content: "";

        position: absolute;

        left: 0;
        top: 0;

        width: 34px;
        height: 2px;

        background:
            var(--ta-forest);

        transition:
            width
            320ms
            cubic-bezier(.16,1,.3,1),
            background-color
            220ms ease;
    }


    #availabilityCarousel
    a[href*="/rezervari"]:hover {
        transform:
            translateY(-3px);

        border-color:
            rgba(7,60,46,.28);

        background:
            rgba(255,255,255,.80);

        box-shadow:
            0
            16px
            32px
            rgba(4,43,33,.055);
    }


    #availabilityCarousel
    a[href*="/rezervari"]:hover::before {
        width:
            100%;

        background:
            var(--ta-gold);
    }


    /*
     * Resetăm marginile exagerate din
     * vechea versiune a cardului.
     */
    #availabilityCarousel
    a[href*="/rezervari"]
    > * {
        position: relative;

        z-index: 1;
    }


    #availabilityCarousel
    a[href*="/rezervari"]
    strong {
        color:
            var(--ta-forest);
    }


    /*
     * Ora capătă caracterul dominant.
     */
    #availabilityCarousel
    a[href*="/rezervari"]
    strong:first-of-type {
        font-variant-numeric:
            tabular-nums;
    }


    #availabilityCarousel
    a[href*="/rezervari"]
    small {
        color:
            var(--ta-muted);
    }


    /* ---------------------------------------------------------
       MOBILE
       --------------------------------------------------------- */

    @media (max-width: 759px) {

        .ta-availability-section {
            padding:
                54px
                0
                58px;
        }


        .ta-availability-inner {
            /*
             * Marginile containerului rămân,
             * dar componenta nu mai pare
             * înghesuită într-un card.
             */
            box-shadow:
                0
                16px
                38px
                rgba(4,43,33,.035);
        }


        .ta-availability-heading {
            padding:
                29px
                22px
                27px;
        }


        .ta-availability-heading-title {
            font-size:
                clamp(
                    2.5rem,
                    11vw,
                    3.4rem
                );
        }


        .ta-availability-heading-text {
            padding-left:
                15px;
        }


        .ta-availability-controls {
            padding:
                21px
                20px
                22px;
        }


        .ta-availability-court-label {
            flex:
                1 1
                0;

            min-width:
                100px;
        }


        #availabilityStatus {
            min-height:
                50px;

            padding:
                0
                82px
                0
                38px;

            font-size:
                .84rem;
        }


        #availabilityStatus::before {
            left:
                21px;

            width:
                6px;

            height:
                6px;
        }


        #availabilityCarousel {
            gap:
                11px;

            padding:
                19px
                20px
                24px;
        }


        #availabilityCarousel
        a[href*="/rezervari"] {
            flex-basis:
                min(
                    78vw,
                    225px
                );

            min-height:
                154px;

            padding:
                18px;
        }

    }


    @media (
        prefers-reduced-motion:
        reduce
    ) {

        #availabilityCarousel
        a[href*="/rezervari"],
        #availabilityPrev,
        #availabilityNext,
        .ta-availability-court-label {
            transition:
                none !important;
        }

    }




    /* =========================================================
       PREMIUM GLOBAL FOOTER
       ========================================================= */

    .ta-site-footer {
        position: relative;

        overflow: hidden;

        background:
            var(--ta-forest-deep);

        color:
            var(--ta-ivory);
    }


    /* ---------------------------------------------------------
       CTA BAND
       --------------------------------------------------------- */

    .ta-footer-cta {
        position: relative;

        background:
            linear-gradient(
                110deg,
                var(--ta-forest) 0%,
                var(--ta-forest-deep) 100%
            );

        border-top:
            1px solid
            rgba(199,165,82,.18);

        border-bottom:
            1px solid
            rgba(246,240,228,.08);
    }


    .ta-footer-cta::before {
        content: "";

        position: absolute;

        inset: 0;

        pointer-events: none;

        background:
            radial-gradient(
                circle at 78% 40%,
                rgba(199,165,82,.10),
                transparent 34%
            );
    }


    .ta-footer-cta-inner {
        position: relative;

        display: grid;

        gap: 24px;

        padding-top:
            34px;

        padding-bottom:
            34px;
    }


    @media (min-width: 760px) {

        .ta-footer-cta-inner {
            grid-template-columns:
                minmax(0,1fr)
                auto;

            align-items:
                center;
        }

    }


    .ta-footer-cta-copy {
        position: relative;

        padding-left:
            22px;
    }


    .ta-footer-cta-copy::before {
        content: "";

        position: absolute;

        left: 0;
        top: 2px;
        bottom: 2px;

        width: 1px;

        background:
            var(--ta-gold);
    }


    .ta-footer-cta-eyebrow {
        margin-bottom:
            7px;

        font-size:
            10px;

        line-height:
            1;

        letter-spacing:
            .2em;

        text-transform:
            uppercase;

        font-weight:
            700;

        color:
            var(--ta-gold);
    }


    .ta-footer-cta-copy h2 {
        margin: 0;

        font-size:
            clamp(
                2rem,
                3.4vw,
                3.15rem
            );

        line-height:
            .94;

        letter-spacing:
            -.035em;

        font-weight:
            600;

        color:
            var(--ta-ivory);
    }


    .ta-footer-cta-copy p {
        margin:
            5px
            0
            0;

        font-size:
            1rem;

        color:
            rgba(246,240,228,.64);
    }


    .ta-footer-cta-button {
        display: inline-flex;

        align-items: center;

        justify-content:
            space-between;

        gap: 34px;

        min-width:
            218px;

        min-height:
            52px;

        padding:
            0
            18px;

        border:
            1px solid
            rgba(199,165,82,.78);

        color:
            var(--ta-ivory);

        text-decoration:
            none;

        font-size:
            .95rem;

        font-weight:
            600;

        transition:
            background-color
            240ms ease,
            color
            240ms ease,
            border-color
            240ms ease,
            transform
            240ms
            cubic-bezier(.16,1,.3,1);
    }


    .ta-footer-cta-button strong {
        font-size:
            1.15rem;

        font-weight:
            400;

        color:
            var(--ta-gold);

        transition:
            transform
            220ms ease;
    }


    .ta-footer-cta-button:hover {
        background:
            var(--ta-gold);

        border-color:
            var(--ta-gold);

        color:
            var(--ta-forest-deep);

        transform:
            translateY(-1px);
    }


    .ta-footer-cta-button:hover strong {
        color:
            var(--ta-forest-deep);

        transform:
            translateX(4px);
    }


    /* ---------------------------------------------------------
       MAIN FOOTER
       --------------------------------------------------------- */

    .ta-footer-main {
        position: relative;

        background:
            var(--ta-forest-deep);
    }


    .ta-footer-main::before {
        content: "";

        position: absolute;

        inset: 0;

        pointer-events: none;

        background:
            radial-gradient(
                circle at 15% 30%,
                rgba(255,255,255,.018),
                transparent 25%
            ),
            linear-gradient(
                135deg,
                rgba(255,255,255,.01),
                transparent 55%
            );
    }


    .ta-footer-grid {
        position: relative;

        display: grid;

        gap:
            42px;

        padding-top:
            58px;

        padding-bottom:
            52px;
    }


    @media (min-width: 760px) {

        .ta-footer-grid {
            grid-template-columns:
                minmax(220px,1.25fr)
                minmax(140px,.7fr)
                minmax(180px,.9fr);
        }

    }


    @media (min-width: 1050px) {

        .ta-footer-grid {
            grid-template-columns:
                minmax(250px,1.25fr)
                minmax(130px,.65fr)
                minmax(190px,.9fr)
                minmax(230px,1fr);

            gap:
                58px;
        }

    }


    /* ---------------------------------------------------------
       BRAND
       --------------------------------------------------------- */

    .ta-footer-logo {
        display: inline-flex;

        align-items: center;

        gap: 13px;

        text-decoration: none;

        color:
            var(--ta-ivory);
    }


    .ta-footer-logo-mark {
        display: inline-flex;

        align-items: center;

        justify-content: center;

        width:
            40px;

        height:
            40px;

        border:
            1px solid
            rgba(199,165,82,.76);

        border-radius:
            50%;

        color:
            var(--ta-gold);

        font-size:
            1rem;
    }


    .ta-footer-logo-copy {
        display: flex;

        flex-direction: column;

        gap: 3px;
    }


    .ta-footer-logo-copy strong {
        font-size:
            1.25rem;

        line-height:
            1;

        letter-spacing:
            .07em;

        font-weight:
            600;
    }


    .ta-footer-logo-copy small {
        font-size:
            9px;

        line-height:
            1;

        letter-spacing:
            .2em;

        text-transform:
            uppercase;

        color:
            var(--ta-gold);
    }


    .ta-footer-brand-copy {
        max-width:
            310px;

        margin:
            24px
            0
            0;

        font-size:
            .98rem;

        line-height:
            1.55;

        color:
            rgba(246,240,228,.58);
    }


    /* ---------------------------------------------------------
       COLUMNS
       --------------------------------------------------------- */

    .ta-footer-column {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 8px;
    }


    .ta-footer-column-title {
        margin-bottom:
            11px;

        font-size:
            11px;

        line-height:
            1;

        letter-spacing:
            .19em;

        text-transform:
            uppercase;

        font-weight:
            700;

        color:
            var(--ta-gold);
    }


    .ta-footer-column a {
        position: relative;

        text-decoration: none;

        font-size:
            .93rem;

        line-height:
            1.35;

        color:
            rgba(246,240,228,.67);

        transition:
            color
            200ms ease,
            transform
            200ms ease;
    }


    .ta-footer-column a::after {
        content: "";

        position: absolute;

        left: 0;
        right: 100%;
        bottom: -2px;

        height: 1px;

        background:
            var(--ta-gold);

        transition:
            right
            220ms ease;
    }


    .ta-footer-column a:hover {
        color:
            var(--ta-ivory);

        transform:
            translateX(2px);
    }


    .ta-footer-column a:hover::after {
        right: 0;
    }


    /* ---------------------------------------------------------
       FINAL COLUMN
       --------------------------------------------------------- */

    .ta-footer-final {
        display: flex;

        flex-direction: column;

        align-items: flex-start;
    }


    .ta-footer-slogan {
        display: grid;

        grid-template-columns:
            1px
            minmax(0,1fr);

        gap:
            16px;

        align-items: stretch;

        margin-top:
            5px;
    }


    .ta-footer-slogan-line {
        display: block;

        width: 1px;

        background:
            var(--ta-gold);
    }


    .ta-footer-slogan p {
        max-width:
            230px;

        margin: 0;

        font-size:
            .84rem;

        line-height:
            1.7;

        letter-spacing:
            .18em;

        text-transform:
            uppercase;

        color:
            rgba(246,240,228,.70);
    }


    .ta-footer-reserve {
        display: inline-flex;

        align-items: center;

        gap: 12px;

        margin-top:
            30px;

        padding-bottom:
            5px;

        border-bottom:
            1px solid
            rgba(199,165,82,.55);

        text-decoration: none;

        font-size:
            .95rem;

        font-weight:
            600;

        color:
            var(--ta-ivory);
    }


    .ta-footer-reserve strong {
        color:
            var(--ta-gold);

        font-weight:
            400;

        transition:
            transform
            220ms ease;
    }


    .ta-footer-reserve:hover strong {
        transform:
            translate(
                3px,
                -3px
            );
    }


    /* ---------------------------------------------------------
       BOTTOM
       --------------------------------------------------------- */

    .ta-footer-bottom {
        position: relative;

        display: flex;

        flex-wrap: wrap;

        align-items: center;

        justify-content:
            space-between;

        gap: 16px;

        padding:
            20px
            0
            24px;

        border-top:
            1px solid
            rgba(246,240,228,.08);

        font-size:
            .78rem;

        line-height:
            1.4;

        color:
            rgba(246,240,228,.40);
    }


    .ta-footer-bottom-links {
        display: flex;

        flex-wrap: wrap;

        gap: 18px;
    }


    .ta-footer-bottom-links a {
        text-decoration: none;

        color:
            rgba(246,240,228,.48);

        transition:
            color
            200ms ease;
    }


    .ta-footer-bottom-links a:hover {
        color:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       MOBILE
       --------------------------------------------------------- */

    @media (max-width: 759px) {

        .ta-footer-cta-inner {
            padding-top:
                30px;

            padding-bottom:
                30px;
        }


        .ta-footer-cta-button {
            width: 100%;
        }


        .ta-footer-grid {
            gap:
                34px;

            padding-top:
                44px;

            padding-bottom:
                40px;
        }


        .ta-footer-column {
            padding-top:
                8px;

            border-top:
                1px solid
                rgba(246,240,228,.065);
        }


        .ta-footer-final {
            padding-top:
                8px;

            border-top:
                1px solid
                rgba(246,240,228,.065);
        }


        .ta-footer-bottom {
            align-items:
                flex-start;

            flex-direction:
                column;
        }

    }


    @media (
        prefers-reduced-motion:
        reduce
    ) {

        .ta-footer-cta-button,
        .ta-footer-column a,
        .ta-footer-reserve strong {
            transition:
                none !important;
        }

    }




    /* =========================================================
       PREMIUM RESERVATIONS PAGE
       ========================================================= */

    .ta-reservation-hero {
        position: relative;

        min-height: 440px;

        overflow: hidden;

        background:
            var(--ta-forest-deep);

        color:
            var(--ta-ivory);
    }


    .ta-reservation-hero-image,
    .ta-reservation-hero-overlay {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;
    }


    .ta-reservation-hero-image {
        object-fit: cover;

        object-position:
            center 58%;
    }


    .ta-reservation-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4,43,33,.94) 0%,
                rgba(4,43,33,.79) 42%,
                rgba(4,43,33,.28) 78%,
                rgba(4,43,33,.18) 100%
            ),
            linear-gradient(
                0deg,
                rgba(4,43,33,.30),
                transparent 55%
            );
    }


    .ta-reservation-hero-inner {
        position: relative;

        z-index: 2;

        min-height: 440px;

        display: grid;

        grid-template-rows:
            auto
            1fr;

        padding-top: 34px;
        padding-bottom: 54px;
    }


    .ta-reservation-breadcrumb {
        display: flex;

        gap: 9px;

        font-size: .76rem;

        letter-spacing: .08em;

        color:
            rgba(246,240,228,.60);
    }


    .ta-reservation-breadcrumb a {
        color: inherit;

        text-decoration: none;
    }


    .ta-reservation-hero-content {
        align-self: end;

        max-width: 730px;
    }


    .ta-reservation-hero-content h1 {
        margin:
            15px 0 0;

        max-width: 720px;

        font-size:
            clamp(
                4.5rem,
                8vw,
                7.6rem
            );

        line-height: .84;

        letter-spacing: -.05em;

        font-weight: 600;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-hero-content p {
        max-width: 580px;

        margin:
            25px 0 0;

        font-size: 1.2rem;
        line-height: 1.55;

        color:
            rgba(246,240,228,.72);
    }


    .ta-reservation-hero-note {
        position: absolute;

        right: 0;
        bottom: 58px;

        display: flex;

        gap: 14px;

        align-items: stretch;
    }


    .ta-reservation-hero-note span {
        display: block;

        width: 1px;

        background:
            var(--ta-gold);
    }


    .ta-reservation-hero-note p {
        margin: 0;

        font-size: .7rem;

        line-height: 1.8;

        letter-spacing: .24em;

        text-align: right;

        color:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       MAIN
       --------------------------------------------------------- */

    .ta-reservation-page {
        padding:
            76px
            0
            90px;

        background:
            linear-gradient(
                180deg,
                var(--ta-ivory-soft),
                var(--ta-ivory)
            );
    }


    .ta-reservation-intro {
        display: grid;

        gap: 26px;

        align-items: end;

        margin-bottom: 45px;
    }


    @media (min-width: 900px) {

        .ta-reservation-intro {
            grid-template-columns:
                minmax(0,1fr)
                minmax(320px,.48fr);
        }

    }


    .ta-reservation-intro h2 {
        max-width: 740px;

        margin:
            13px 0 0;

        font-size:
            clamp(
                3.2rem,
                5vw,
                5rem
            );

        line-height: .9;

        letter-spacing: -.045em;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-intro > p {
        margin: 0;

        padding-left: 20px;

        border-left:
            1px solid
            var(--ta-gold);

        font-size: 1.05rem;
        line-height: 1.55;

        color:
            var(--ta-muted);
    }


    /* ---------------------------------------------------------
       ALERTS
       --------------------------------------------------------- */

    .ta-reservation-alert {
        display: grid;

        gap: 8px;

        margin-bottom: 28px;

        padding:
            18px
            20px;

        border:
            1px solid;

        font-size: .95rem;
    }


    .ta-reservation-alert div {
        display: grid;

        gap: 4px;
    }


    .ta-reservation-alert-error {
        border-color:
            rgba(185,71,61,.28);

        background:
            rgba(185,71,61,.055);

        color:
            #8f342d;
    }


    .ta-reservation-alert-warning {
        border-color:
            rgba(199,165,82,.40);

        background:
            rgba(199,165,82,.08);

        color:
            #745b24;
    }


    /* ---------------------------------------------------------
       STAGE
       --------------------------------------------------------- */

    .ta-reservation-stage {
        margin-top: 15px;

        padding:
            32px;

        border:
            1px solid
            var(--ta-border);

        background:
            rgba(251,248,240,.80);
    }


    .ta-reservation-stage-head {
        display: flex;

        gap: 18px;

        align-items: flex-start;

        margin-bottom: 25px;
    }


    .ta-reservation-stage-number {
        flex: 0 0 auto;

        padding-top: 4px;

        font-size: .72rem;

        line-height: 1;

        letter-spacing: .18em;

        font-weight: 700;

        color:
            var(--ta-gold);
    }


    .ta-reservation-stage-head span,
    .ta-reservation-form-heading > div:last-child > span {
        display: block;

        margin-bottom: 5px;

        font-size: .68rem;

        line-height: 1;

        letter-spacing: .18em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-clay);
    }


    .ta-reservation-stage-head h3,
    .ta-reservation-form-heading h3 {
        margin: 0;

        font-size:
            clamp(
                2rem,
                3vw,
                2.8rem
            );

        line-height: .95;

        letter-spacing: -.03em;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    /* ---------------------------------------------------------
       COURTS
       --------------------------------------------------------- */

    .ta-reservation-courts {
        display: grid;

        gap: 12px;
    }


    @media (min-width: 700px) {

        .ta-reservation-courts {
            grid-template-columns:
                repeat(
                    2,
                    minmax(0,1fr)
                );
        }

    }


    .ta-reservation-court {
        position: relative;

        display: grid;

        grid-template-columns:
            145px
            minmax(0,1fr)
            20px;

        gap: 18px;

        align-items: center;

        padding: 10px;

        border:
            1px solid
            var(--ta-border);

        background:
            rgba(255,255,255,.44);

        text-align: left;

        font-family: inherit;

        color:
            var(--ta-ink);

        cursor: pointer;

        transition:
            border-color 220ms ease,
            background-color 220ms ease,
            transform 240ms cubic-bezier(.16,1,.3,1);
    }


    .ta-reservation-court:hover {
        border-color:
            rgba(7,60,46,.36);

        transform:
            translateY(-1px);
    }


    .ta-reservation-court.is-selected {
        border-color:
            var(--ta-gold);

        background:
            rgba(199,165,82,.05);
    }


    .ta-reservation-court-image {
        display: block;

        height: 94px;

        overflow: hidden;
    }


    .ta-reservation-court-image img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    .ta-reservation-court-content {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 5px;
    }


    .ta-reservation-court-state {
        font-size: .68rem;

        letter-spacing: .10em;

        text-transform: uppercase;

        color:
            #47765c;
    }


    .ta-reservation-court-content strong {
        font-size: 1.35rem;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-court-content > span:last-child {
        font-size: .88rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-court-check {
        position: relative;

        width: 17px;
        height: 17px;

        border:
            1px solid
            rgba(7,60,46,.54);

        border-radius: 50%;
    }


    .ta-reservation-court.is-selected
    .ta-reservation-court-check::after {
        content: "";

        position: absolute;

        inset: 3px;

        border-radius: 50%;

        background:
            var(--ta-forest);
    }


    /* ---------------------------------------------------------
       DATE
       --------------------------------------------------------- */

    .ta-reservation-date-form {
        display: grid;

        gap: 12px;
    }


    @media (min-width: 700px) {

        .ta-reservation-date-form {
            grid-template-columns:
                minmax(0,1fr)
                auto;

            align-items: end;
        }

    }


    .ta-reservation-field-label {
        display: block;

        margin-bottom: 9px;

        font-size: .68rem;

        letter-spacing: .16em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            rgba(24,49,41,.58);
    }


    .ta-reservation-input {
        width: 100%;

        min-height: 50px;

        padding:
            0
            15px;

        border:
            1px solid
            rgba(7,60,46,.18);

        border-radius: 0;

        outline: none;

        background:
            rgba(255,255,255,.56);

        font-family: inherit;

        font-size: 1rem;

        color:
            var(--ta-forest);
    }


    .ta-reservation-date-button {
        display: inline-flex;

        align-items: center;

        justify-content: space-between;

        gap: 20px;

        min-height: 50px;

        padding:
            0
            18px;

        border: 0;

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);

        font-family: inherit;

        font-weight: 600;

        cursor: pointer;
    }


    .ta-reservation-date-button strong {
        color:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       SLOT HEAD
       --------------------------------------------------------- */

    .ta-reservation-stage-head-slots {
        justify-content: space-between;

        gap: 28px;
    }


    .ta-reservation-stage-head-left {
        display: flex;

        gap: 18px;
    }


    .ta-reservation-legend {
        display: flex;

        flex-wrap: wrap;

        gap: 15px;

        align-items: center;

        font-size: .78rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-legend span {
        display: inline-flex;

        align-items: center;

        gap: 6px;
    }


    .ta-reservation-legend i {
        width: 7px;
        height: 7px;

        border-radius: 50%;
    }


    .ta-reservation-legend .is-free {
        background:
            #68a37d;
    }


    .ta-reservation-legend .is-selected {
        background:
            var(--ta-gold);
    }


    .ta-reservation-legend .is-busy {
        background:
            #c7c4bd;
    }


    /* ---------------------------------------------------------
       SLOT PANELS
       --------------------------------------------------------- */

    .ta-reservation-slots-panel {
        display: none;
    }


    .ta-reservation-slots-panel.is-active {
        display: block;
    }


    .ta-reservation-slots-status {
        display: flex;

        flex-wrap: wrap;

        gap: 6px;

        align-items: center;

        margin-bottom: 18px;

        font-size: .9rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-slots-status strong {
        color:
            var(--ta-forest);
    }


    .ta-reservation-status-dot {
        width: 7px;
        height: 7px;

        margin-right: 4px;

        border-radius: 50%;

        background:
            #68a37d;

        box-shadow:
            0 0 0 4px
            rgba(104,163,125,.10);
    }


    .ta-reservation-slots {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        gap: 9px;
    }


    @media (min-width: 650px) {

        .ta-reservation-slots {
            grid-template-columns:
                repeat(
                    3,
                    minmax(0,1fr)
                );
        }

    }


    @media (min-width: 1000px) {

        .ta-reservation-slots {
            grid-template-columns:
                repeat(
                    4,
                    minmax(0,1fr)
                );
        }

    }


    .ta-reservation-slot {
        position: relative;

        min-height: 145px;

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        padding:
            18px;

        border:
            1px solid
            var(--ta-border);

        background:
            rgba(255,255,255,.48);

        font-family: inherit;

        text-align: left;

        color:
            var(--ta-ink);
    }


    .ta-reservation-slot.is-available {
        cursor: pointer;

        border-color:
            rgba(81,146,102,.25);

        background:
            rgba(106,167,126,.055);

        transition:
            border-color 220ms ease,
            background-color 220ms ease,
            transform 220ms cubic-bezier(.16,1,.3,1);
    }


    .ta-reservation-slot.is-available:hover {
        transform:
            translateY(-2px);

        border-color:
            rgba(7,60,46,.36);

        background:
            rgba(255,255,255,.88);
    }


    .ta-reservation-slot.is-selected {
        border-color:
            var(--ta-gold);

        background:
            rgba(199,165,82,.10);

        box-shadow:
            inset
            0 0 0 1px
            rgba(199,165,82,.12);
    }


    .ta-reservation-slot.is-unavailable {
        opacity: .52;

        background:
            rgba(207,203,195,.20);

        cursor:
            not-allowed;
    }


    .ta-reservation-slot > strong {
        font-size: 1.48rem;

        line-height: 1;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-slot > span {
        margin-top: 4px;

        font-size: .82rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-slot > i {
        width: 24px;
        height: 1px;

        margin:
            14px 0
            11px;

        background:
            var(--ta-gold);
    }


    .ta-reservation-slot > small {
        font-size: .78rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-slot > em {
        display: flex;

        align-items: center;

        gap: 8px;

        margin-top: auto;

        padding-top: 13px;

        font-size: .76rem;

        font-style: normal;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-slot > em b {
        font-size: 1rem;

        font-weight: 400;

        color:
            var(--ta-clay);
    }


    /* ---------------------------------------------------------
       CONTACT + SUMMARY
       --------------------------------------------------------- */

    .ta-reservation-complete {
        display: grid;

        gap: 18px;

        margin-top: 16px;
    }


    @media (min-width: 1000px) {

        .ta-reservation-complete {
            grid-template-columns:
                minmax(0,1.2fr)
                minmax(320px,.62fr);

            align-items: start;
        }

    }


    .ta-reservation-customer-form,
    .ta-reservation-summary {
        border:
            1px solid
            var(--ta-border);

        background:
            rgba(251,248,240,.84);
    }


    .ta-reservation-customer-form {
        padding:
            32px;
    }


    .ta-reservation-form-heading {
        display: flex;

        gap: 18px;

        margin-bottom: 28px;
    }


    .ta-reservation-form-heading p {
        max-width: 520px;

        margin:
            10px 0 0;

        font-size: .92rem;

        line-height: 1.45;

        color:
            var(--ta-muted);
    }


    .ta-reservation-fields {
        display: grid;

        gap:
            18px
            16px;
    }


    @media (min-width: 650px) {

        .ta-reservation-fields {
            grid-template-columns:
                repeat(
                    2,
                    minmax(0,1fr)
                );
        }

    }


    .ta-reservation-field-full {
        grid-column:
            1 / -1;
    }


    .ta-reservation-field {
        display: block;
    }


    .ta-reservation-field > span {
        display: flex;

        justify-content: space-between;

        gap: 10px;

        margin-bottom: 8px;

        font-size: .72rem;

        letter-spacing: .10em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            rgba(24,49,41,.64);
    }


    .ta-reservation-field > span small {
        font-size: .67rem;

        letter-spacing: .06em;

        text-transform: none;

        font-weight: 400;

        color:
            var(--ta-muted);
    }


    .ta-reservation-field input,
    .ta-reservation-field textarea {
        width: 100%;

        border:
            1px solid
            rgba(7,60,46,.18);

        border-radius: 0;

        outline: none;

        background:
            rgba(255,255,255,.58);

        font-family: inherit;

        font-size: 1rem;

        color:
            var(--ta-ink);

        transition:
            border-color 200ms ease,
            box-shadow 200ms ease,
            background-color 200ms ease;
    }


    .ta-reservation-field input {
        min-height: 50px;

        padding:
            0 14px;
    }


    .ta-reservation-field textarea {
        min-height: 105px;

        resize: vertical;

        padding:
            13px 14px;
    }


    .ta-reservation-field input:focus,
    .ta-reservation-field textarea:focus {
        border-color:
            var(--ta-gold);

        background:
            rgba(255,255,255,.88);

        box-shadow:
            0 0 0 3px
            rgba(199,165,82,.07);
    }


    .ta-reservation-contact-error {
        margin-top: 13px;

        font-size: .85rem;

        color:
            #a03f38;
    }


    /* ---------------------------------------------------------
       GDPR
       --------------------------------------------------------- */

    .ta-reservation-gdpr {
        position: relative;

        display: grid;

        grid-template-columns:
            18px
            minmax(0,1fr);

        gap: 11px;

        align-items: start;

        margin-top: 22px;

        font-size: .84rem;

        line-height: 1.5;

        color:
            var(--ta-muted);

        cursor: pointer;
    }


    .ta-reservation-gdpr input {
        position: absolute;

        opacity: 0;
    }


    .ta-reservation-checkmark {
        position: relative;

        width: 17px;
        height: 17px;

        margin-top: 2px;

        border:
            1px solid
            rgba(7,60,46,.34);

        background:
            rgba(255,255,255,.55);
    }


    .ta-reservation-gdpr input:checked
    + .ta-reservation-checkmark {
        border-color:
            var(--ta-forest);

        background:
            var(--ta-forest);
    }


    .ta-reservation-gdpr input:checked
    + .ta-reservation-checkmark::after {
        content: "✓";

        position: absolute;

        inset: 0;

        display: flex;

        align-items: center;

        justify-content: center;

        font-size: .7rem;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-gdpr a {
        color:
            var(--ta-clay);
    }


    /* ---------------------------------------------------------
       SUMMARY
       --------------------------------------------------------- */

    .ta-reservation-summary {
        position: sticky;

        top:
            calc(
                var(--ta-header-h)
                + 18px
            );

        padding:
            27px;
    }


    .ta-reservation-summary-kicker {
        margin-bottom: 17px;

        font-size: .72rem;

        line-height: 1;

        letter-spacing: .17em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-clay);
    }


    .ta-reservation-summary-image {
        height: 165px;

        overflow: hidden;

        margin-bottom: 24px;
    }


    .ta-reservation-summary-image img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    .ta-reservation-summary-list {
        margin: 0;
    }


    .ta-reservation-summary-list > div {
        display: grid;

        grid-template-columns:
            88px
            minmax(0,1fr);

        gap: 12px;

        padding:
            13px 0;

        border-bottom:
            1px solid
            var(--ta-border);
    }


    .ta-reservation-summary-list dt {
        font-size: .76rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-summary-list dd {
        margin: 0;

        font-size: .98rem;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-submit {
        width: 100%;

        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 20px;

        min-height: 53px;

        margin-top: 23px;

        padding:
            0 18px;

        border: 0;

        background:
            var(--ta-forest);

        font-family: inherit;

        font-size: .96rem;

        font-weight: 600;

        color:
            var(--ta-ivory);

        cursor: pointer;

        transition:
            background-color 220ms ease,
            opacity 220ms ease;
    }


    .ta-reservation-submit strong {
        font-size: 1.18rem;

        font-weight: 400;

        color:
            var(--ta-gold);
    }


    .ta-reservation-submit:disabled {
        opacity: .38;

        cursor:
            not-allowed;
    }


    .ta-reservation-submit:not(:disabled):hover {
        background:
            var(--ta-forest-deep);
    }


    .ta-reservation-summary-note {
        margin:
            14px 0 0;

        font-size: .78rem;

        line-height: 1.5;

        color:
            var(--ta-muted);
    }


    .ta-reservation-summary-security {
        display: grid;

        grid-template-columns:
            27px
            minmax(0,1fr);

        gap: 10px;

        align-items: center;

        margin-top: 18px;

        padding-top: 17px;

        border-top:
            1px solid
            var(--ta-border);

        font-size: .76rem;

        line-height: 1.4;

        color:
            var(--ta-muted);
    }


    .ta-reservation-summary-security-icon {
        display: flex;

        align-items: center;

        justify-content: center;

        width: 27px;
        height: 27px;

        border:
            1px solid
            rgba(199,165,82,.55);

        border-radius: 50%;

        color:
            var(--ta-gold);
    }


    /* ---------------------------------------------------------
       EMPTY
       --------------------------------------------------------- */

    .ta-reservation-empty {
        padding:
            65px
            0;

        text-align: center;
    }


    .ta-reservation-empty h2 {
        margin:
            12px 0
            0;

        font-size:
            3rem;

        color:
            var(--ta-forest);
    }


    .ta-reservation-empty p {
        color:
            var(--ta-muted);
    }


    /* ---------------------------------------------------------
       TRUST SECTION
       --------------------------------------------------------- */

    .ta-reservation-trust {
        padding:
            72px
            0;

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);
    }


    .ta-reservation-trust-head {
        margin-bottom:
            35px;
    }


    .ta-reservation-trust-head
    .ta-eyebrow {
        color:
            var(--ta-gold);
    }


    .ta-reservation-trust-head h2 {
        margin:
            12px 0
            0;

        font-size:
            clamp(
                2.8rem,
                4.5vw,
                4.5rem
            );

        line-height: .9;

        letter-spacing: -.04em;

        font-weight: 600;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-trust-grid {
        display: grid;

        gap: 28px;
    }


    @media (min-width: 760px) {

        .ta-reservation-trust-grid {
            grid-template-columns:
                repeat(
                    3,
                    minmax(0,1fr)
                );
        }

    }


    .ta-reservation-trust-grid > div {
        padding-top: 17px;

        border-top:
            1px solid
            rgba(246,240,228,.16);
    }


    .ta-reservation-trust-grid span {
        display: block;

        margin-bottom: 21px;

        font-size: .72rem;

        letter-spacing: .16em;

        color:
            var(--ta-gold);
    }


    .ta-reservation-trust-grid strong {
        display: block;

        margin-bottom: 8px;

        font-size: 1.3rem;

        font-weight: 600;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-trust-grid p {
        max-width: 320px;

        margin: 0;

        font-size: .92rem;

        line-height: 1.5;

        color:
            rgba(246,240,228,.60);
    }


    /* ---------------------------------------------------------
       MOBILE
       --------------------------------------------------------- */

    @media (max-width: 760px) {

        .ta-reservation-hero,
        .ta-reservation-hero-inner {
            min-height: 390px;
        }


        .ta-reservation-hero-inner {
            padding-top: 25px;
            padding-bottom: 39px;
        }


        .ta-reservation-hero-content h1 {
            font-size:
                clamp(
                    4rem,
                    18vw,
                    5.6rem
                );
        }


        .ta-reservation-hero-content p {
            font-size: 1rem;
        }


        .ta-reservation-hero-note {
            display: none;
        }


        .ta-reservation-page {
            padding:
                55px
                0
                65px;
        }


        .ta-reservation-stage,
        .ta-reservation-customer-form,
        .ta-reservation-summary {
            padding:
                22px;
        }


        .ta-reservation-court {
            grid-template-columns:
                100px
                minmax(0,1fr)
                17px;

            gap: 12px;
        }


        .ta-reservation-court-image {
            height: 75px;
        }


        .ta-reservation-stage-head-slots {
            display: grid;
        }


        .ta-reservation-summary {
            position: static;
        }


        .ta-reservation-trust {
            padding:
                55px
                0;
        }

    }


    @media (max-width: 480px) {

        .ta-reservation-slots {
            grid-template-columns:
                repeat(
                    2,
                    minmax(0,1fr)
                );
        }


        .ta-reservation-slot {
            min-height: 137px;

            padding: 15px;
        }


        .ta-reservation-slot > strong {
            font-size: 1.3rem;
        }

    }


    @media (
        prefers-reduced-motion:
        reduce
    ) {

        .ta-reservation-court,
        .ta-reservation-slot,
        .ta-reservation-submit {
            transition:
                none !important;
        }

    }




    /* =========================================================
       FOOTER CTA — IVORY / WHITE REFINEMENT
       ========================================================= */

    .ta-footer-cta {
        background:
            var(--ta-ivory-soft) !important;

        border-top:
            1px solid
            var(--ta-border) !important;

        border-bottom:
            1px solid
            var(--ta-border) !important;

        color:
            var(--ta-forest) !important;
    }


    .ta-footer-cta::before {
        background:
            radial-gradient(
                circle at 78% 40%,
                rgba(7,60,46,.04),
                transparent 34%
            ) !important;
    }


    .ta-footer-cta-copy::before {
        background:
            var(--ta-gold) !important;
    }


    .ta-footer-cta-eyebrow {
        color:
            var(--ta-clay) !important;
    }


    .ta-footer-cta-copy h2 {
        color:
            var(--ta-forest) !important;
    }


    .ta-footer-cta-copy p {
        color:
            var(--ta-muted) !important;
    }


    .ta-footer-cta-button {
        border-color:
            var(--ta-forest) !important;

        background:
            transparent !important;

        color:
            var(--ta-forest) !important;
    }


    .ta-footer-cta-button strong {
        color:
            var(--ta-clay) !important;
    }


    .ta-footer-cta-button:hover {
        background:
            var(--ta-forest) !important;

        border-color:
            var(--ta-forest) !important;

        color:
            var(--ta-ivory) !important;

        transform:
            translateY(-1px);
    }


    .ta-footer-cta-button:hover strong {
        color:
            var(--ta-gold) !important;
    }




    /* =========================================================
       RESERVATIONS — PREMIUM DATE + TIME EXPERIENCE
       ========================================================= */

    /* ---------------------------------------------------------
       COMMON STAGE
       --------------------------------------------------------- */

    .ta-reservation-stage-kicker {
        display: block;

        margin-bottom: 5px;

        font-size: .68rem;

        line-height: 1;

        letter-spacing: .18em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-clay);
    }


    /* =========================================================
       02 — DATE ATELIER
       ========================================================= */

    .ta-reservation-date-stage {
        margin-top: 15px;

        border:
            1px solid
            var(--ta-border);

        background:
            var(--ta-ivory-soft);
    }


    .ta-reservation-date-stage-top {
        display: flex;

        gap: 18px;

        align-items: flex-start;

        padding:
            26px
            30px
            24px;

        border-bottom:
            1px solid
            var(--ta-border);
    }


    .ta-reservation-date-stage-top h3 {
        margin: 0;

        font-size:
            clamp(
                2rem,
                3vw,
                2.75rem
            );

        line-height: .95;

        letter-spacing: -.03em;

        font-weight: 600;

        color:
            var(--ta-forest);
    }


    .ta-reservation-date-atelier {
        display: grid;

        min-height: 275px;
    }


    @media (min-width: 850px) {

        .ta-reservation-date-atelier {
            grid-template-columns:
                minmax(280px,.68fr)
                minmax(0,1.32fr);
        }

    }


    /* ---------------------------------------------------------
       VISUAL DATE
       --------------------------------------------------------- */

    .ta-reservation-date-preview {
        position: relative;

        display: flex;

        flex-direction: column;

        justify-content: center;

        padding:
            35px
            38px;

        overflow: hidden;

        background:
            linear-gradient(
                145deg,
                var(--ta-forest-deep),
                var(--ta-forest)
            );

        color:
            var(--ta-ivory);
    }


    .ta-reservation-date-preview::after {
        content: "";

        position: absolute;

        width: 220px;
        height: 220px;

        right: -90px;
        bottom: -120px;

        border:
            1px solid
            rgba(199,165,82,.18);

        border-radius: 50%;
    }


    .ta-reservation-date-preview-label {
        margin-bottom: 19px;

        font-size: .68rem;

        letter-spacing: .18em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            var(--ta-gold);
    }


    .ta-reservation-date-preview-main {
        display: flex;

        gap: 17px;

        align-items: flex-end;
    }


    .ta-reservation-date-preview-main
    > strong {
        font-size:
            clamp(
                5rem,
                8vw,
                7rem
            );

        line-height: .73;

        letter-spacing: -.055em;

        font-weight: 500;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-date-preview-main
    > div {
        display: flex;

        flex-direction: column;

        gap: 4px;

        padding-bottom: 2px;
    }


    .ta-reservation-date-preview-main span {
        font-size: 1.3rem;

        line-height: 1;

        text-transform: capitalize;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-date-preview-main small {
        font-size: .83rem;

        letter-spacing: .12em;

        color:
            rgba(246,240,228,.52);
    }


    .ta-reservation-date-preview-weekday {
        margin-top: 17px;

        font-size: .9rem;

        text-transform: capitalize;

        letter-spacing: .05em;

        color:
            rgba(246,240,228,.68);
    }


    .ta-reservation-date-preview-line {
        width: 43px;
        height: 1px;

        margin:
            21px 0
            14px;

        background:
            var(--ta-gold);
    }


    .ta-reservation-date-preview p {
        position: relative;

        z-index: 2;

        max-width: 270px;

        margin: 0;

        font-size: .82rem;

        line-height: 1.45;

        color:
            rgba(246,240,228,.52);
    }


    /* ---------------------------------------------------------
       DATE CONTROL
       --------------------------------------------------------- */

    .ta-reservation-date-form-premium {
        display: flex;

        flex-direction: column;

        justify-content: center;

        padding:
            35px
            42px;

        background:
            rgba(255,255,255,.24);
    }


    .ta-reservation-date-control label {
        display: block;

        margin-bottom: 10px;

        font-size: .69rem;

        letter-spacing: .17em;

        text-transform: uppercase;

        font-weight: 700;

        color:
            rgba(24,49,41,.56);
    }


    .ta-reservation-date-input-wrap {
        position: relative;
    }


    .ta-reservation-date-input-premium {
        width: 100%;

        height: 56px;

        padding:
            0
            55px
            0
            17px;

        border:
            1px solid
            rgba(7,60,46,.20);

        border-radius: 0;

        outline: 0;

        background:
            rgba(255,255,255,.72);

        font-family: inherit;

        font-size: 1.05rem;

        font-weight: 600;

        color:
            var(--ta-forest);

        transition:
            border-color .2s ease,
            box-shadow .2s ease;
    }


    .ta-reservation-date-input-premium:focus {
        border-color:
            var(--ta-gold);

        box-shadow:
            0 0 0 3px
            rgba(199,165,82,.07);
    }


    .ta-reservation-date-calendar-mark {
        position: absolute;

        right: 17px;
        top: 50%;

        color:
            var(--ta-gold);

        font-size: 1rem;

        pointer-events: none;

        transform:
            translateY(-50%);
    }


    .ta-reservation-date-help {
        display: grid;

        grid-template-columns:
            28px
            minmax(0,1fr);

        gap: 12px;

        align-items: start;

        margin:
            17px 0
            21px;
    }


    .ta-reservation-date-help-line {
        display: block;

        width: 28px;
        height: 1px;

        margin-top: 8px;

        background:
            var(--ta-gold);
    }


    .ta-reservation-date-help p {
        max-width: 460px;

        margin: 0;

        font-size: .82rem;

        line-height: 1.48;

        color:
            var(--ta-muted);
    }


    .ta-reservation-date-submit {
        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 24px;

        min-height: 53px;

        padding:
            0
            19px;

        border:
            1px solid
            var(--ta-forest);

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);

        font-family: inherit;

        font-size: .94rem;

        font-weight: 600;

        cursor: pointer;

        transition:
            background-color .2s ease,
            transform .2s ease;
    }


    .ta-reservation-date-submit strong {
        color:
            var(--ta-gold);

        font-size: 1.15rem;

        font-weight: 400;

        transition:
            transform .2s ease;
    }


    .ta-reservation-date-submit:hover {
        background:
            var(--ta-forest-deep);

        transform:
            translateY(-1px);
    }


    .ta-reservation-date-submit:hover strong {
        transform:
            translateX(4px);
    }


    /* =========================================================
       03 — TIME ATELIER
       ========================================================= */

    .ta-reservation-time-stage {
        margin-top: 16px;

        overflow: hidden;

        border:
            1px solid
            rgba(7,60,46,.16);

        background:
            var(--ta-ivory-soft);
    }


    /* ---------------------------------------------------------
       FOREST HEAD
       --------------------------------------------------------- */

    .ta-reservation-time-head {
        display: grid;

        gap: 24px;

        padding:
            30px
            32px;

        background:
            linear-gradient(
                115deg,
                var(--ta-forest-deep),
                var(--ta-forest)
            );

        color:
            var(--ta-ivory);
    }


    @media (min-width: 800px) {

        .ta-reservation-time-head {
            grid-template-columns:
                minmax(0,1fr)
                auto;

            align-items: end;
        }

    }


    .ta-reservation-time-head-copy {
        display: flex;

        gap: 18px;

        align-items: flex-start;
    }


    .ta-reservation-stage-kicker-light {
        color:
            var(--ta-gold);
    }


    .ta-reservation-time-head h3 {
        margin: 0;

        font-size:
            clamp(
                2.2rem,
                3.6vw,
                3.4rem
            );

        line-height: .92;

        letter-spacing: -.035em;

        font-weight: 600;

        color:
            var(--ta-ivory);
    }


    .ta-reservation-time-head-copy p {
        max-width: 470px;

        margin:
            10px 0 0;

        font-size: .86rem;

        line-height: 1.45;

        color:
            rgba(246,240,228,.56);
    }


    /* ---------------------------------------------------------
       LEGEND
       --------------------------------------------------------- */

    .ta-reservation-time-legend {
        display: flex;

        flex-wrap: wrap;

        gap:
            9px
            15px;

        align-items: center;

        padding-bottom: 3px;
    }


    .ta-reservation-time-legend span {
        display: inline-flex;

        align-items: center;

        gap: 6px;

        font-size: .72rem;

        color:
            rgba(246,240,228,.58);
    }


    .ta-reservation-time-legend i {
        width: 6px;
        height: 6px;

        border-radius: 50%;
    }


    .ta-reservation-time-legend
    .is-free {
        background:
            #84b293;
    }


    .ta-reservation-time-legend
    .is-selected {
        background:
            var(--ta-gold);
    }


    .ta-reservation-time-legend
    .is-busy {
        background:
            rgba(246,240,228,.35);
    }


    /* ---------------------------------------------------------
       PANEL
       --------------------------------------------------------- */

    .ta-reservation-time-panel {
        display: none;
    }


    .ta-reservation-time-panel.is-active {
        display: block;
    }


    .ta-reservation-time-status {
        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 20px;

        min-height: 60px;

        padding:
            0
            26px;

        border-bottom:
            1px solid
            var(--ta-border);

        background:
            rgba(255,255,255,.25);
    }


    .ta-reservation-time-status-left {
        display: flex;

        flex-wrap: wrap;

        gap: 7px;

        align-items: center;

        font-size: .83rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-time-status-left strong {
        color:
            var(--ta-forest);
    }


    /* ---------------------------------------------------------
       TIME NAV
       --------------------------------------------------------- */

    .ta-reservation-time-nav {
        display: flex;

        gap: 7px;

        flex: 0 0 auto;
    }


    .ta-reservation-time-nav button {
        display: flex;

        align-items: center;

        justify-content: center;

        width: 35px;
        height: 35px;

        padding: 0;

        border:
            1px solid
            rgba(7,60,46,.17);

        border-radius: 50%;

        background:
            transparent;

        color:
            var(--ta-forest);

        font-family: inherit;

        cursor: pointer;

        transition:
            background-color .2s ease,
            border-color .2s ease,
            color .2s ease,
            transform .2s ease;
    }


    .ta-reservation-time-nav
    button:hover {
        border-color:
            var(--ta-forest);

        background:
            var(--ta-forest);

        color:
            var(--ta-ivory);
    }


    .ta-reservation-time-nav
    button:first-child:hover {
        transform:
            translateX(-2px);
    }


    .ta-reservation-time-nav
    button:last-child:hover {
        transform:
            translateX(2px);
    }


    /* ---------------------------------------------------------
       HORIZONTAL RAIL
       --------------------------------------------------------- */

    .ta-reservation-time-rail-wrap {
        position: relative;

        overflow: hidden;
    }


    .ta-reservation-time-rail-wrap::before,
    .ta-reservation-time-rail-wrap::after {
        content: "";

        position: absolute;

        z-index: 4;

        top: 0;
        bottom: 0;

        width: 32px;

        pointer-events: none;
    }


    .ta-reservation-time-rail-wrap::before {
        left: 0;

        background:
            linear-gradient(
                90deg,
                var(--ta-ivory-soft),
                transparent
            );
    }


    .ta-reservation-time-rail-wrap::after {
        right: 0;

        background:
            linear-gradient(
                270deg,
                var(--ta-ivory-soft),
                transparent
            );
    }


    .ta-reservation-time-rail {
        display: flex;

        gap: 10px;

        overflow-x: auto;

        padding:
            25px
            28px
            30px;

        scroll-snap-type:
            x mandatory;

        overscroll-behavior-x:
            contain;

        scrollbar-width:
            none;
    }


    .ta-reservation-time-rail::-webkit-scrollbar {
        display: none;
    }


    /* ---------------------------------------------------------
       SLOT CARD
       --------------------------------------------------------- */

    .ta-reservation-time-stage
    .ta-reservation-slot {
        flex:
            0 0
            176px;

        min-height:
            183px;

        scroll-snap-align:
            start;

        padding:
            17px;

        border:
            1px solid
            rgba(7,60,46,.12);

        background:
            rgba(255,255,255,.44);

        transition:
            transform .25s
            cubic-bezier(.16,1,.3,1),
            border-color .2s ease,
            background-color .2s ease,
            box-shadow .25s ease;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot.is-available:hover {
        transform:
            translateY(-3px);

        border-color:
            rgba(7,60,46,.32);

        background:
            rgba(255,255,255,.86);

        box-shadow:
            0
            14px
            30px
            rgba(4,43,33,.045);
    }


    .ta-reservation-time-stage
    .ta-reservation-slot.is-selected {
        border-color:
            var(--ta-gold);

        background:
            rgba(199,165,82,.10);

        box-shadow:
            inset
            0
            2px
            0
            var(--ta-gold);
    }


    .ta-reservation-slot-period {
        margin-bottom: 16px;

        font-size: .62rem !important;

        line-height: 1;

        letter-spacing: .13em;

        text-transform: uppercase;

        color:
            rgba(24,49,41,.42)
            !important;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot
    > strong {
        font-size: 1.75rem;

        letter-spacing: -.025em;
    }


    .ta-reservation-slot-until {
        margin-top: 5px !important;

        font-size: .78rem !important;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot
    > i {
        width: 31px;

        margin:
            15px 0
            12px;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot
    > small {
        font-size: .74rem;

        color:
            var(--ta-muted);
    }


    .ta-reservation-time-stage
    .ta-reservation-slot
    > em {
        width: 100%;

        justify-content: space-between;

        padding-top: 15px;

        font-size: .72rem;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot
    > em b {
        transition:
            transform .2s ease;
    }


    .ta-reservation-time-stage
    .ta-reservation-slot:hover
    > em b {
        transform:
            translateX(4px);
    }


    /* ---------------------------------------------------------
       MOBILE
       --------------------------------------------------------- */

    @media (max-width: 849px) {

        .ta-reservation-date-stage-top {
            padding:
                23px
                22px;
        }


        .ta-reservation-date-preview {
            min-height: 245px;

            padding:
                30px
                24px;
        }


        .ta-reservation-date-form-premium {
            padding:
                27px
                22px;
        }

    }


    @media (max-width: 700px) {

        .ta-reservation-time-head {
            padding:
                25px
                22px;
        }


        .ta-reservation-time-status {
            padding:
                12px
                20px;

            min-height: 0;
        }


        .ta-reservation-time-rail {
            padding:
                20px
                20px
                25px;
        }


        .ta-reservation-time-stage
        .ta-reservation-slot {
            flex-basis:
                min(
                    56vw,
                    180px
                );

            min-height:
                176px;
        }

    }


    @media (
        prefers-reduced-motion:
        reduce
    ) {

        .ta-reservation-time-nav button,
        .ta-reservation-time-stage
        .ta-reservation-slot,
        .ta-reservation-date-submit {
            transition:
                none !important;
        }

    }




    /* =========================================================
       TENIS ARENA — DESIGN SYSTEM UNIFICATION V1
       Home + Rezervări + Terenuri
       ========================================================= */

    :root {

        /*
         * -----------------------------------------------------
         * TYPOGRAPHY SCALE
         * -----------------------------------------------------
         */

        --ta-type-eyebrow:
            12px;

        --ta-type-breadcrumb:
            12px;

        --ta-type-meta:
            .84rem;

        --ta-type-body:
            1rem;

        --ta-type-lead:
            1.15rem;

        --ta-type-card-title:
            clamp(
                2rem,
                2.8vw,
                2.65rem
            );

        --ta-type-section-title:
            clamp(
                2.9rem,
                4.7vw,
                4.65rem
            );

        --ta-type-page-title:
            clamp(
                4rem,
                6.4vw,
                6.6rem
            );

        --ta-type-display:
            var(--ta-type-page-title);


        /*
         * -----------------------------------------------------
         * LINE HEIGHT
         * -----------------------------------------------------
         */

        --ta-line-display:
            .86;

        --ta-line-page-title:
            .88;

        --ta-line-section-title:
            .92;

        --ta-line-card-title:
            .96;

        --ta-line-body:
            1.58;

        --ta-line-lead:
            1.55;


        /*
         * -----------------------------------------------------
         * LETTER SPACING
         * -----------------------------------------------------
         */

        --ta-track-display:
            -.05em;

        --ta-track-title:
            -.04em;

        --ta-track-card:
            -.025em;

        --ta-track-meta:
            .15em;


        /*
         * -----------------------------------------------------
         * LAYOUT RHYTHM
         * -----------------------------------------------------
         */

        --ta-section-y:
            96px;

        --ta-section-y-compact:
            64px;

        --ta-section-head-gap:
            38px;

        --ta-component-gap:
            24px;

        --ta-card-pad:
            32px;

        --ta-control-h:
            52px;

        --ta-page-hero-h:
            440px;

    }


    /* =========================================================
       ABSOLUTE FONT CONSISTENCY
       ========================================================= */

    html,
    body,
    button,
    input,
    select,
    textarea,
    option {
        font-family:
            "Cormorant Garamond",
            Georgia,
            serif;
    }


    body {
        font-size:
            var(--ta-type-body);

        line-height:
            var(--ta-line-body);

        font-weight:
            400;

        color:
            var(--ta-ink);

        text-rendering:
            optimizeLegibility;

        -webkit-font-smoothing:
            antialiased;
    }


    button,
    input,
    select,
    textarea {
        letter-spacing:
            normal;
    }


    /* =========================================================
       EYEBROW — ONE SYSTEM
       ========================================================= */

    .ta-eyebrow,
    .ta-reservation-stage-kicker,
    .ta-reservation-form-heading
    > div:last-child
    > span {

        font-size:
            var(--ta-type-eyebrow) !important;

        line-height:
            1 !important;

        letter-spacing:
            var(--ta-track-meta) !important;

        text-transform:
            uppercase;

        font-weight:
            600 !important;

        color:
            var(--ta-clay);

    }


    .ta-eyebrow::before {
        background:
            currentColor;
    }


    /*
     * Pe fundal forest folosim auriu,
     * dar dimensiunea rămâne aceeași.
     */

    .ta-home-hero .ta-eyebrow,
    .ta-page-hero .ta-eyebrow,
    .ta-reservation-hero .ta-eyebrow,
    .ta-reservation-time-head
    .ta-reservation-stage-kicker,
    .ta-reservation-trust .ta-eyebrow {

        color:
            var(--ta-gold) !important;

    }


    /* =========================================================
       BREADCRUMB — ONE COMPONENT
       ========================================================= */

    .ta-breadcrumb {

        display:
            flex;

        align-items:
            center;

        flex-wrap:
            wrap;

        gap:
            9px;

        margin:
            0;

        font-size:
            var(--ta-type-breadcrumb) !important;

        line-height:
            1;

        letter-spacing:
            .13em !important;

        text-transform:
            uppercase;

        font-weight:
            600;

    }


    .ta-breadcrumb a {

        color:
            inherit !important;

        text-decoration:
            none;

        transition:
            color
            180ms
            ease;

    }


    .ta-breadcrumb > span:not(:last-child) {
        color:
            var(--ta-gold);
    }


    .ta-breadcrumb-on-dark {

        color:
            rgba(
                246,
                240,
                228,
                .66
            ) !important;

    }


    .ta-breadcrumb-on-dark a:hover {
        color:
            var(--ta-ivory) !important;
    }


    .ta-breadcrumb-on-light {

        color:
            var(--ta-muted) !important;

    }


    .ta-breadcrumb-on-light a:hover {
        color:
            var(--ta-clay) !important;
    }


    /* =========================================================
       DISPLAY / PAGE TITLE
       ========================================================= */

    .ta-display-xl,
    .ta-home-title {

        font-size:
            var(--ta-type-display) !important;

        line-height:
            var(--ta-line-display) !important;

        letter-spacing:
            var(--ta-track-display) !important;

        font-weight:
            600 !important;

    }


    .ta-home-title {
        margin-top:
            var(--ta-space-3) !important;

        color:
            var(--ta-ivory) !important;
    }


    .ta-page-title,
    .ta-reservation-hero-content h1,
    .ta-court-detail-title {

        font-size:
            var(--ta-type-page-title) !important;

        line-height:
            var(--ta-line-page-title) !important;

        letter-spacing:
            var(--ta-track-display) !important;

        font-weight:
            600 !important;

    }


    .ta-page-title,
    .ta-court-detail-title {
        color:
            var(--ta-forest);
    }


    .ta-reservation-hero-content h1 {
        color:
            var(--ta-ivory);
    }


    /* =========================================================
       SECTION TITLES
       ========================================================= */

    .ta-section-title,
    .ta-section-title-dynamic,
    .ta-reservation-intro h2,
    .ta-availability-heading-title,
    .ta-chapter-carousel-heading,
    .ta-home-forest-break-main h2,
    .ta-reservation-trust-head h2 {

        font-size:
            var(--ta-type-section-title) !important;

        line-height:
            var(--ta-line-section-title) !important;

        letter-spacing:
            var(--ta-track-title) !important;

        font-weight:
            600 !important;

    }


    .ta-section-title,
    .ta-section-title-dynamic,
    .ta-reservation-intro h2,
    .ta-chapter-carousel-heading {

        color:
            var(--ta-forest);

    }


    .ta-section-title-dynamic {
        margin-top:
            18px !important;
    }


    /* =========================================================
       H3 / COMPONENT TITLES
       ========================================================= */

    .ta-title-sm,
    .ta-court-title,
    .ta-reservation-stage-head h3,
    .ta-reservation-date-stage-top h3,
    .ta-reservation-time-head h3,
    .ta-reservation-form-heading h3 {

        font-size:
            var(--ta-type-card-title) !important;

        line-height:
            var(--ta-line-card-title) !important;

        letter-spacing:
            var(--ta-track-card) !important;

        font-weight:
            600 !important;

    }


    .ta-booking-title {
        color:
            var(--ta-forest) !important;
    }


    /* =========================================================
       LEAD TEXT
       ========================================================= */

    .ta-page-lead,
    .ta-court-detail-description,
    .ta-section-intro,
    .ta-reservation-intro > p,
    .ta-availability-heading-text,
    .ta-chapter-carousel-head-right p {

        font-size:
            var(--ta-type-lead) !important;

        line-height:
            var(--ta-line-lead) !important;

        font-weight:
            400;

        color:
            var(--ta-muted);

    }


    .ta-home-copy .ta-body-lg,
    .ta-reservation-hero-content p {

        font-size:
            var(--ta-type-lead) !important;

        line-height:
            var(--ta-line-lead) !important;

    }


    .ta-reservation-hero-content p {
        color:
            rgba(
                246,
                240,
                228,
                .70
            );
    }


    /* =========================================================
       BODY COPY
       ========================================================= */

    .ta-court-copy,
    .ta-reservation-form-heading p,
    .ta-reservation-date-help p,
    .ta-reservation-time-head-copy p,
    .ta-reservation-summary-note,
    .ta-reservation-trust-grid p {

        font-size:
            var(--ta-type-body);

        line-height:
            var(--ta-line-body);

    }


    /* =========================================================
       HERO GEOMETRY — INTERNAL PAGES
       ========================================================= */

    .ta-page-hero,
    .ta-reservation-hero {

        min-height:
            var(--ta-page-hero-h) !important;

    }


    .ta-page-hero-inner,
    .ta-reservation-hero-inner {

        min-height:
            var(--ta-page-hero-h) !important;

        padding-top:
            34px !important;

        padding-bottom:
            54px !important;

    }


    /*
     * Breadcrumb la aceeași distanță de partea
     * superioară a hero-ului.
     */

    .ta-page-hero .ta-breadcrumb,
    .ta-reservation-hero .ta-breadcrumb {

        align-self:
            start;

    }


    /*
     * Titlul și lead-ul au aceleași spații.
     */

    .ta-page-hero-copy .ta-eyebrow,
    .ta-reservation-hero-content .ta-eyebrow {

        margin-bottom:
            0;

    }


    .ta-page-title,
    .ta-reservation-hero-content h1 {

        margin-top:
            16px !important;

        margin-bottom:
            0 !important;

    }


    .ta-page-lead,
    .ta-reservation-hero-content p {

        margin-top:
            22px !important;

        margin-bottom:
            0 !important;

    }


    /* =========================================================
       GLOBAL SECTION RHYTHM
       ========================================================= */

    .ta-section {

        padding-top:
            var(--ta-section-y) !important;

        padding-bottom:
            var(--ta-section-y) !important;

    }


    .ta-reservation-page {

        padding-top:
            var(--ta-section-y) !important;

        padding-bottom:
            var(--ta-section-y) !important;

    }


    .ta-availability-section {

        padding-top:
            var(--ta-section-y) !important;

        padding-bottom:
            var(--ta-section-y) !important;

    }


    .ta-reservation-trust {

        padding-top:
            var(--ta-section-y-compact) !important;

        padding-bottom:
            var(--ta-section-y-compact) !important;

    }


    .ta-chapter-carousel-section
    > .ta-container {

        padding-top:
            var(--ta-section-y) !important;

        padding-bottom:
            var(--ta-section-y) !important;

    }


    /* =========================================================
       SECTION HEADS — ONE GEOMETRY
       ========================================================= */

    .ta-section-head,
    .ta-reservation-intro,
    .ta-chapter-carousel-head {

        gap:
            32px !important;

        margin-bottom:
            var(--ta-section-head-gap) !important;

        align-items:
            end;

    }


    @media (min-width: 900px) {

        .ta-section-head,
        .ta-reservation-intro,
        .ta-chapter-carousel-head {

            grid-template-columns:
                minmax(0, 1fr)
                minmax(300px, .48fr);

        }

    }


    .ta-section-intro,
    .ta-reservation-intro > p,
    .ta-chapter-carousel-head-right {

        padding-left:
            20px;

        border-left:
            1px solid
            var(--ta-gold);

    }


    /*
     * chapter head are deja structură proprie;
     * eliminăm dubla linie.
     */

    .ta-chapter-carousel-head-right {
        border-left:
            1px solid
            var(--ta-gold) !important;
    }


    /* =========================================================
       RESERVATIONS — INTERNAL RHYTHM
       ========================================================= */

    .ta-reservation-stage,
    .ta-reservation-date-stage,
    .ta-reservation-time-stage {

        margin-top:
            var(--ta-space-2) !important;

    }


    .ta-reservation-stage {

        padding:
            var(--ta-card-pad) !important;

    }


    .ta-reservation-stage-head,
    .ta-reservation-form-heading {

        gap:
            18px;

        margin-bottom:
            var(--ta-component-gap) !important;

    }


    .ta-reservation-stage-number {

        font-size:
            var(--ta-type-meta) !important;

        line-height:
            1;

        letter-spacing:
            .14em !important;

        font-weight:
            600 !important;

        color:
            var(--ta-gold);

    }


    /*
     * Date + Time păstrează designul special,
     * dar folosesc aceeași scară și spacing.
     */

    .ta-reservation-date-stage-top {

        padding:
            28px
            var(--ta-card-pad)
            26px !important;

    }


    .ta-reservation-time-head {

        padding:
            var(--ta-card-pad) !important;

    }


    .ta-reservation-customer-form,
    .ta-reservation-summary {

        padding:
            var(--ta-card-pad) !important;

    }


    /* =========================================================
       COURTS — RHYTHM
       ========================================================= */

    .ta-courts-editorial {

        margin-top:
            0;

    }


    .ta-court-editorial-content {

        padding:
            clamp(
                30px,
                4.4vw,
                54px
            ) !important;

    }


    .ta-court-index {

        font-size:
            var(--ta-type-meta) !important;

        letter-spacing:
            var(--ta-track-meta) !important;

    }


    .ta-court-copy {

        margin-top:
            18px !important;

        color:
            var(--ta-muted);

    }


    .ta-court-actions {

        gap:
            12px !important;

        margin-top:
            28px !important;

    }


    /*
     * Detail page:
     * breadcrumb / eyebrow / title / copy
     * primesc ritm clar și repetabil.
     */

    .ta-court-detail-copy
    .ta-breadcrumb {

        margin-bottom:
            31px;

    }


    .ta-court-detail-copy
    .ta-eyebrow {

        margin-bottom:
            16px;

    }


    .ta-court-detail-title {

        margin:
            0;

    }


    .ta-court-detail-description {

        margin-top:
            22px !important;

        margin-bottom:
            0;

    }


    .ta-court-detail-copy
    .ta-court-actions {

        margin-top:
            30px !important;

    }


    /* =========================================================
       HOME — SYSTEM CONSISTENCY
       ========================================================= */

    .ta-home-copy-actions {

        gap:
            12px !important;

        margin-top:
            30px;

    }


    .ta-availability-heading {

        padding:
            38px
            42px
            36px !important;

    }


    .ta-chapter-carousel-head {

        margin-bottom:
            var(--ta-section-head-gap) !important;

    }


    /*
     * Forest interlude rămâne mai compact,
     * pentru ritm vizual.
     */

    .ta-home-forest-break {

        padding-top:
            var(--ta-section-y-compact);

        padding-bottom:
            var(--ta-section-y-compact);

    }


    /* =========================================================
       BUTTON SYSTEM
       ========================================================= */

    .ta-btn,
    .ta-reservation-date-submit,
    .ta-reservation-submit,
    .ta-reservation-date-button {

        min-height:
            var(--ta-control-h) !important;

        font-size:
            .95rem !important;

        line-height:
            1 !important;

        letter-spacing:
            .035em;

        font-weight:
            600 !important;

    }


    .ta-btn {

        padding-left:
            19px !important;

        padding-right:
            19px !important;

    }


    /* =========================================================
       FORM CONTROL SYSTEM
       ========================================================= */

    .ta-input,
    .ta-select,
    .ta-reservation-input,
    .ta-reservation-date-input-premium,
    .ta-reservation-field input {

        min-height:
            var(--ta-control-h) !important;

        font-size:
            1rem !important;

    }


    .ta-reservation-field textarea {

        font-size:
            1rem !important;

        line-height:
            var(--ta-line-body) !important;

    }


    input,
    select,
    textarea,
    button {

        border-radius:
            0;

    }


    /* =========================================================
       BORDER / SURFACE CONSISTENCY
       ========================================================= */

    .ta-reservation-stage,
    .ta-reservation-date-stage,
    .ta-reservation-time-stage,
    .ta-reservation-customer-form,
    .ta-reservation-summary,
    .ta-court-editorial {

        border-color:
            var(--ta-border);

    }


    /* =========================================================
       TABLET
       ========================================================= */

    @media (max-width: 899px) {

        :root {

            --ta-section-y:
                76px;

            --ta-section-y-compact:
                54px;

            --ta-section-head-gap:
                30px;

            --ta-card-pad:
                28px;

            --ta-page-hero-h:
                410px;

        }


        .ta-section-intro,
        .ta-reservation-intro > p {

            padding-left:
                17px;

        }

    }


    /* =========================================================
       MOBILE
       ========================================================= */

    @media (max-width: 640px) {

        :root {

            --ta-type-eyebrow:
                11px;

            --ta-type-breadcrumb:
                11px;

            --ta-type-body:
                .98rem;

            --ta-type-lead:
                1.05rem;

            --ta-type-card-title:
                clamp(
                    1.85rem,
                    9vw,
                    2.3rem
                );

            --ta-type-section-title:
                clamp(
                    2.65rem,
                    12vw,
                    3.7rem
                );

            --ta-type-page-title:
                clamp(
                    3.7rem,
                    17vw,
                    5rem
                );

            --ta-type-display:
                clamp(
                    4rem,
                    18vw,
                    5.4rem
                );

            --ta-section-y:
                60px;

            --ta-section-y-compact:
                46px;

            --ta-section-head-gap:
                26px;

            --ta-component-gap:
                20px;

            --ta-card-pad:
                22px;

            --ta-control-h:
                50px;

            --ta-page-hero-h:
                385px;

        }


        .ta-page-hero-inner,
        .ta-reservation-hero-inner {

            padding-top:
                24px !important;

            padding-bottom:
                38px !important;

        }


        .ta-breadcrumb {

            gap:
                7px;

            letter-spacing:
                .11em !important;

        }


        .ta-section-head,
        .ta-reservation-intro,
        .ta-chapter-carousel-head {

            gap:
                20px !important;

        }


        .ta-section-intro,
        .ta-reservation-intro > p,
        .ta-chapter-carousel-head-right {

            padding-left:
                15px;

        }


        .ta-reservation-stage,
        .ta-reservation-customer-form,
        .ta-reservation-summary {

            padding:
                var(--ta-card-pad) !important;

        }


        .ta-reservation-date-stage-top,
        .ta-reservation-time-head {

            padding:
                var(--ta-card-pad) !important;

        }


        .ta-court-editorial-content {

            padding:
                27px
                22px
                30px !important;

        }

    }


    /* =========================================================
       REDUCED MOTION — SYSTEM LEVEL
       ========================================================= */

    @media (
        prefers-reduced-motion:
        reduce
    ) {

        *,
        *::before,
        *::after {

            scroll-behavior:
                auto !important;

        }

    }


    /* =========================================================
       PUBLIC TYPOGRAPHY CONTRACT
       Every page uses the same visual level for the same role.
       ========================================================= */

    .ta-shell main h1,
    .ta-display-xl,
    .ta-home-title,
    .ta-page-title,
    .ta-editorial-title,
    .ta-court-detail-title {
        font-size: var(--ta-type-page-title) !important;
        line-height: var(--ta-line-page-title) !important;
        letter-spacing: var(--ta-track-display) !important;
        font-weight: 600 !important;
    }

    .ta-shell main .ta-section-title,
    .ta-shell main .ta-editorial-section-title,
    .ta-shell main .ta-section-title-dynamic {
        font-size: var(--ta-type-section-title) !important;
        line-height: var(--ta-line-section-title) !important;
        letter-spacing: var(--ta-track-title) !important;
        font-weight: 600 !important;
    }

    .ta-shell main .ta-card-title,
    .ta-shell main .ta-title-sm,
    .ta-shell main .ta-court-title {
        font-size: var(--ta-type-card-title) !important;
        line-height: var(--ta-line-card-title) !important;
        letter-spacing: var(--ta-track-card) !important;
        font-weight: 600 !important;
    }

    .ta-shell main .ta-page-lead,
    .ta-shell main .ta-editorial-lead,
    .ta-shell main .ta-content-lead {
        font-size: var(--ta-type-lead) !important;
        line-height: var(--ta-line-lead) !important;
    }

    @media (max-width: 760px) {
        :root {
            --ta-type-page-title: clamp(3.25rem, 15vw, 4.35rem);
            --ta-type-section-title: clamp(2.55rem, 11vw, 3.45rem);
            --ta-type-card-title: clamp(1.85rem, 8vw, 2.35rem);
            --ta-section-y: 72px;
            --ta-section-y-compact: 48px;
        }
    }





/* ============================================================
   TENIS ARENA — GLOBAL EDITORIAL HEADING SYSTEM
   ============================================================ */

:root {
    --ta-heading-h1:
        clamp(
            3.10rem,
            4.25vw,
            5.15rem
        );

    --ta-heading-h2:
        clamp(
            2.20rem,
            3.05vw,
            3.55rem
        );

    --ta-heading-h3:
        clamp(
            1.55rem,
            1.95vw,
            2.15rem
        );

    --ta-heading-h4:
        1.20rem;
}


/*
 * Toate titlurile editoriale folosesc aceeasi familie,
 * aceeasi logica de weight si fara italic accidental.
 *
 * Clasele foarte specifice (Home hero, chapter slide etc.)
 * isi pot pastra propria scara prin specificitate.
 */

.ta-shell main h1,
.ta-shell main h2,
.ta-shell main h3,
.ta-shell main h4,
.ta-site-footer h2,
.ta-site-footer h3 {
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-style:
        normal !important;

    text-wrap:
        balance;
}


.ta-shell main h1 {
    font-size:
        var(--ta-heading-h1) !important;

    line-height:
        .92 !important;

    letter-spacing:
        -.042em !important;

    font-weight:
        500 !important;
}


.ta-shell main h2,
.ta-site-footer h2 {
    font-size:
        var(--ta-heading-h2) !important;

    line-height:
        .94 !important;

    letter-spacing:
        -.036em !important;

    font-weight:
        500 !important;
}


.ta-shell main h3,
.ta-site-footer h3 {
    font-size:
        var(--ta-heading-h3) !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.025em !important;

    font-weight:
        500 !important;
}


.ta-shell main h4 {
    font-size:
        var(--ta-heading-h4) !important;

    line-height:
        1.05 !important;

    letter-spacing:
        -.015em !important;

    font-weight:
        600 !important;
}


/*
 * Nu permitem bold excesiv in heading-uri,
 * indiferent daca markup-ul contine strong.
 */

.ta-shell main h1 strong,
.ta-shell main h2 strong,
.ta-shell main h3 strong,
.ta-site-footer h2 strong,
.ta-site-footer h3 strong {
    font-weight:
        inherit !important;
}


/*
 * Accent italic ramane posibil in continut editorial,
 * dar nu pe titlurile structurale.
 */

.ta-shell main h1 em,
.ta-shell main h2 em,
.ta-shell main h3 em,
.ta-site-footer h2 em,
.ta-site-footer h3 em {
    font-style:
        normal !important;
}


/* ============================================================
   EYEBROWS / MICRO HEADINGS
   ============================================================ */

.ta-eyebrow,
.ta-field-label,
.ta-footer-cta-eyebrow,
.ta-footer-column-title,
.ta-chapter-slide-label {
    font-style:
        normal !important;

    font-weight:
        600 !important;
}


/* ============================================================
   MOBILE HEADING SCALE
   ============================================================ */

@media (max-width: 640px) {

    :root {
        --ta-heading-h1:
            clamp(
                2.75rem,
                13vw,
                4rem
            );

        --ta-heading-h2:
            clamp(
                2.15rem,
                10vw,
                3rem
            );

        --ta-heading-h3:
            clamp(
                1.55rem,
                7.5vw,
                2rem
            );
    }

}




/*
 * IMPORTANT
 *
 * Uniformizarea cu Home se aplica NUMAI pe desktop.
 *
 * Sub 1024px nu fortam:
 * - .ta-nav
 * - .ta-header-actions
 * - hamburger
 * - mobile panel
 * - inaltimea headerului
 *
 * Astfel responsive-ul original al proiectului ramane intact.
 */

@media (min-width: 1024px) {

    :root {
        --ta-header-h:
            70px !important;
    }


    /* ========================================================
       HEADER
       ======================================================== */

    .ta-topbar {
        min-height:
            70px !important;

        height:
            70px !important;

        padding-top:
            0 !important;

        padding-bottom:
            0 !important;
    }


    .ta-topbar-inner {
        width:
            min(
                calc(100% - 96px),
                1280px
            ) !important;

        max-width:
            1280px !important;

        min-height:
            70px !important;

        height:
            70px !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;

        padding-top:
            0 !important;

        padding-bottom:
            0 !important;

        align-items:
            center !important;
    }


    /* ========================================================
       BRAND
       ======================================================== */

    .ta-topbar
    .ta-brand {
        min-width:
            max-content !important;

        width:
            auto !important;

        white-space:
            nowrap !important;

        line-height:
            .92 !important;

        font-size:
            1.35rem !important;

        font-weight:
            500 !important;

        letter-spacing:
            -.015em !important;

        flex-shrink:
            0 !important;
    }


    .ta-topbar
    .ta-brand * {
        white-space:
            nowrap !important;
    }


    .ta-topbar
    .ta-brand-name,

    .ta-topbar
    .ta-brand-title,

    .ta-topbar
    .ta-brand-wordmark,

    .ta-topbar
    .ta-brand-text {
        display:
            inline !important;

        font-size:
            1.35rem !important;

        line-height:
            .92 !important;

        font-weight:
            500 !important;

        white-space:
            nowrap !important;
    }


    /* ========================================================
       DESKTOP NAV
       ======================================================== */

    .ta-topbar
    .ta-nav {
        display:
            flex !important;

        align-items:
            center !important;

        gap:
            clamp(
                20px,
                1.65vw,
                28px
            ) !important;
    }


    .ta-topbar
    .ta-nav a {
        padding-top:
            0 !important;

        padding-bottom:
            0 !important;

        font-size:
            .68rem !important;

        line-height:
            1 !important;

        font-weight:
            500 !important;

        letter-spacing:
            .095em !important;

        white-space:
            nowrap !important;
    }


    .ta-topbar
    .ta-nav a::after {
        bottom:
            -11px !important;
    }


    /* ========================================================
       DESKTOP CTA
       ======================================================== */

    .ta-topbar
    .ta-header-actions {
        display:
            flex !important;

        align-items:
            center !important;

        flex-shrink:
            0 !important;
    }


    .ta-topbar
    .ta-header-actions
    .ta-btn,

    .ta-topbar
    a.ta-btn {
        min-height:
            38px !important;

        height:
            38px !important;

        padding:
            0
            17px !important;

        font-size:
            .65rem !important;

        line-height:
            1 !important;

        letter-spacing:
            .075em !important;
    }


    /* ========================================================
       TYPOGRAPHY
       ======================================================== */

    .ta-topbar,
    .ta-topbar * {
        font-family:
            "Cormorant Garamond",
            Georgia,
            serif !important;
    }

}


/*
 * SUB 1024px:
 *
 * NU introducem nicio regula de display pentru nav,
 * hamburger, mobile panel sau header actions.
 *
 * Responsive-ul existent din ta-global-ui ramane autoritar.
 */




@media (max-width: 1023px) {

    /*
     * CRITICAL:
     *
     * ta-mobile-panel este acum sibling al headerului,
     * nu descendant.
     *
     * Deci transform / translate al smart-headerului
     * nu mai poate afecta meniul.
     */

    body > .ta-mobile-panel {
        position:
            fixed !important;

        top:
            var(
                --ta-mobile-header-height,
                var(--ta-header-h)
            ) !important;

        right:
            0 !important;

        bottom:
            0 !important;

        left:
            0 !important;

        width:
            100% !important;

        height:
            calc(
                100dvh
                -
                var(
                    --ta-mobile-header-height,
                    var(--ta-header-h)
                )
            ) !important;

        max-height:
            calc(
                100dvh
                -
                var(
                    --ta-mobile-header-height,
                    var(--ta-header-h)
                )
            ) !important;

        margin:
            0 !important;

        z-index:
            9998 !important;

        transform:
            none !important;

        overflow:
            hidden !important;
    }


    /*
     * Closed
     */

    body >
    .ta-mobile-panel[aria-hidden="true"] {
        opacity:
            0 !important;

        visibility:
            hidden !important;

        pointer-events:
            none !important;

        height:
            0 !important;

        max-height:
            0 !important;
    }


    /*
     * Open
     */

    body >
    .ta-mobile-panel[aria-hidden="false"] {
        display:
            block !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;

        height:
            calc(
                100dvh
                -
                var(
                    --ta-mobile-header-height,
                    var(--ta-header-h)
                )
            ) !important;

        max-height:
            calc(
                100dvh
                -
                var(
                    --ta-mobile-header-height,
                    var(--ta-header-h)
                )
            ) !important;

        clip-path:
            inset(
                0
                0
                0
                0
            ) !important;

        transform:
            none !important;
    }


    body >
    .ta-mobile-panel
    .ta-mobile-panel-clip {
        width:
            100% !important;

        height:
            100% !important;

        max-height:
            100% !important;
    }


    body >
    .ta-mobile-panel
    .ta-mobile-menu-scroll {
        width:
            100% !important;

        height:
            100% !important;

        max-height:
            100% !important;

        overflow-x:
            hidden !important;

        overflow-y:
            auto !important;

        -webkit-overflow-scrolling:
            touch;

        overscroll-behavior:
            contain;
    }


    /*
     * Hamburger/header cannot disappear while open,
     * even if smart-scroll keeps adding hidden class.
     */

    .ta-site-header.ta-mobile-menu-open-lock,
    .ta-site-header.ta-mobile-menu-open-lock.ta-site-header-hidden {
        transform:
            translate3d(
                0,
                0,
                0
            ) !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;

        z-index:
            9999 !important;
    }


    .ta-site-header.ta-mobile-menu-open-lock
    .ta-mobile-toggle {
        display:
            flex !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;
    }

}


/*
 * Desktop:
 * standalone mobile panel remains unavailable.
 */

@media (min-width: 1024px) {

    body > .ta-mobile-panel {
        display:
            none !important;
    }

}




@media (max-width: 1023px) {

    /*
     * Overlay fullscreen.
     *
     * Prima linie are EXACT aceeasi inaltime
     * cu header-ul normal.
     */

    body > .ta-mobile-panel {
        position:
            fixed !important;

        inset:
            0 !important;

        width:
            100% !important;

        height:
            100dvh !important;

        max-height:
            100dvh !important;

        display:
            grid !important;

        grid-template-rows:
            var(--ta-header-h)
            minmax(0,1fr);

        margin:
            0 !important;

        padding:
            0 !important;

        overflow:
            hidden !important;

        z-index:
            20000 !important;

        background:
            var(--ta-ivory-soft) !important;

        transform:
            none !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"] {
        opacity:
            0 !important;

        visibility:
            hidden !important;

        pointer-events:
            none !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="false"] {
        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;
    }


    /* ========================================================
       HEADER — SAME GEOMETRY AS NORMAL HEADER
       ======================================================== */

    .ta-mobile-overlay-header {
        position:
            relative;

        z-index:
            3;

        width:
            100%;

        height:
            var(--ta-header-h) !important;

        min-height:
            var(--ta-header-h) !important;

        margin:
            0;

        padding:
            0;

        border-bottom:
            1px solid
            var(--ta-border);

        background:
            var(--ta-ivory-soft);
    }


    .ta-mobile-overlay-header-inner {
        width:
            min(
                100% - 40px,
                var(--ta-container)
            ) !important;

        max-width:
            var(--ta-container) !important;

        height:
            var(--ta-header-h) !important;

        min-height:
            var(--ta-header-h) !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;

        padding:
            0 !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;
    }


    /*
     * SAME BRAND CLASSES AS REAL HEADER.
     */

    .ta-mobile-overlay-header
    .ta-brand {
        display:
            inline-flex !important;

        align-items:
            center !important;

        gap:
            10px !important;

        width:
            auto !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        white-space:
            nowrap !important;
    }


    .ta-mobile-overlay-header
    .ta-brand-mark {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        flex:
            0
            0
            auto;

        margin:
            0 !important;

        padding:
            0 !important;
    }


    .ta-mobile-overlay-header
    .ta-brand-text {
        display:
            inline-block !important;

        margin:
            0 !important;

        white-space:
            nowrap !important;
    }


    /*
     * Exact acelasi spatiu rezervat butonului
     * ca in header-ul normal.
     */

    .ta-mobile-overlay-header
    .ta-header-actions {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            flex-end !important;

        margin:
            0 !important;

        padding:
            0 !important;
    }


    .ta-mobile-overlay-header
    .ta-mobile-toggle {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;
    }


    /* ========================================================
       FORCE SAME LOGO VISUALS
       ======================================================== */

    .ta-mobile-overlay-header
    .ta-brand,
    .ta-mobile-overlay-header
    .ta-brand *,
    .ta-mobile-overlay-header
    .ta-mobile-toggle,
    .ta-mobile-overlay-header
    .ta-mobile-toggle * {
        font-family:
            "Cormorant Garamond",
            Georgia,
            serif !important;
    }


    /* ========================================================
       HAMBURGER -> X
       Same button, only line orientation changes.
       ======================================================== */

    .ta-mobile-overlay-header
    .ta-mobile-toggle-line-1 {
        transform:
            translateY(0)
            rotate(45deg) !important;
    }


    .ta-mobile-overlay-header
    .ta-mobile-toggle-line-2 {
        transform:
            translateY(0)
            rotate(-45deg) !important;
    }


    /*
     * Both lines occupy the same center point.
     */

    .ta-mobile-overlay-header
    .ta-mobile-toggle-box {
        position:
            relative !important;
    }


    .ta-mobile-overlay-header
    .ta-mobile-toggle-line {
        position:
            absolute !important;

        top:
            50% !important;

        left:
            50% !important;

        margin:
            0 !important;

        transform-origin:
            center !important;
    }


    .ta-mobile-overlay-header
    .ta-mobile-toggle-line-1 {
        transform:
            translate(-50%,-50%)
            rotate(45deg) !important;
    }


    .ta-mobile-overlay-header
    .ta-mobile-toggle-line-2 {
        transform:
            translate(-50%,-50%)
            rotate(-45deg) !important;
    }


    /* ========================================================
       MENU CONTENT
       ======================================================== */

    body >
    .ta-mobile-panel
    .ta-mobile-panel-clip {
        grid-row:
            2;

        width:
            100% !important;

        height:
            100% !important;

        min-height:
            0 !important;

        overflow:
            hidden !important;
    }


    body >
    .ta-mobile-panel
    .ta-mobile-menu-scroll {
        width:
            100% !important;

        height:
            100% !important;

        min-height:
            0 !important;

        overflow-x:
            hidden !important;

        overflow-y:
            auto !important;

        -webkit-overflow-scrolling:
            touch;

        overscroll-behavior:
            contain;
    }


    html.ta-mobile-overlay-open,
    body.ta-mobile-overlay-open {
        overflow:
            hidden !important;
    }

}


@media (min-width: 1024px) {

    body > .ta-mobile-panel {
        display:
            none !important;
    }

}




@media (max-width: 1023px) {

    /*
     * Motion language:
     *
     * - lent, dar nu greoi
     * - fara bounce
     * - fara overshoot
     * - ease-out premium
     */

    :root {
        --ta-motion-premium:
            cubic-bezier(
                .22,
                1,
                .36,
                1
            );

        --ta-motion-standard:
            cubic-bezier(
                .4,
                0,
                .2,
                1
            );
    }


    /* ========================================================
       SMART HEADER
       ======================================================== */

    .ta-site-header {
        will-change:
            transform,
            opacity;

        transition:
            transform
            520ms
            var(--ta-motion-premium),

            opacity
            360ms
            ease,

            box-shadow
            320ms
            ease !important;
    }


    /*
     * Hamburger normal:
     * miscarea liniilor devine mai calma.
     */

    .ta-mobile-toggle-line {
        transition:
            transform
            420ms
            var(--ta-motion-premium),

            opacity
            260ms
            ease,

            width
            380ms
            var(--ta-motion-premium) !important;
    }


    /* ========================================================
       FULLSCREEN MENU — MASTER FADE
       ======================================================== */

    body > .ta-mobile-panel {
        will-change:
            opacity;

        transition:
            opacity
            480ms
            var(--ta-motion-premium),

            visibility
            0s
            linear
            480ms !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"] {
        opacity:
            0 !important;

        visibility:
            hidden !important;

        pointer-events:
            none !important;

        transition:
            opacity
            360ms
            var(--ta-motion-standard),

            visibility
            0s
            linear
            360ms !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="false"] {
        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;

        transition:
            opacity
            520ms
            var(--ta-motion-premium),

            visibility
            0s
            linear
            0s !important;
    }


    /* ========================================================
       OVERLAY HEADER
       ======================================================== */

    .ta-mobile-overlay-header {
        transition:
            border-color
            360ms
            ease,

            background-color
            420ms
            ease !important;
    }


    .ta-mobile-overlay-header-inner {
        will-change:
            transform,
            opacity;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-overlay-header-inner {
        opacity:
            0;

        transform:
            translateY(-7px);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-overlay-header-inner {
        opacity:
            1;

        transform:
            translateY(0);

        transition:
            opacity
            420ms
            ease
            50ms,

            transform
            520ms
            var(--ta-motion-premium)
            50ms;
    }


    /* ========================================================
       X BUTTON
       ======================================================== */

    .ta-mobile-overlay-close {
        will-change:
            transform,
            opacity;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-overlay-close {
        opacity:
            0;

        transform:
            scale(.88)
            rotate(-7deg);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-overlay-close {
        opacity:
            1;

        transform:
            scale(1)
            rotate(0);

        transition:
            opacity
            330ms
            ease
            90ms,

            transform
            520ms
            var(--ta-motion-premium)
            90ms;
    }


    .ta-mobile-overlay-close
    .ta-mobile-toggle-line {
        transition:
            transform
            480ms
            var(--ta-motion-premium),

            opacity
            280ms
            ease !important;
    }


    /* ========================================================
       MENU CONTENT
       ======================================================== */

    .ta-mobile-menu-scroll {
        will-change:
            transform,
            opacity;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-menu-scroll {
        opacity:
            0;

        transform:
            translateY(14px);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-menu-scroll {
        opacity:
            1;

        transform:
            translateY(0);

        transition:
            opacity
            430ms
            ease
            90ms,

            transform
            620ms
            var(--ta-motion-premium)
            90ms;
    }


    /* ========================================================
       MOBILE MENU TOP LABEL
       ======================================================== */

    .ta-mobile-menu-top {
        will-change:
            transform,
            opacity;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-menu-top {
        opacity:
            0;

        transform:
            translateY(8px);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-menu-top {
        opacity:
            1;

        transform:
            translateY(0);

        transition:
            opacity
            380ms
            ease
            150ms,

            transform
            500ms
            var(--ta-motion-premium)
            150ms;
    }


    /* ========================================================
       NAV LINKS — STAGGERED ENTRANCE
       ======================================================== */

    .ta-mobile-nav a {
        will-change:
            transform,
            opacity;

        transition:
            color
            280ms
            ease,

            border-color
            320ms
            ease,

            background-color
            320ms
            ease,

            transform
            520ms
            var(--ta-motion-premium),

            opacity
            380ms
            ease !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-nav a {
        opacity:
            0;

        transform:
            translateY(11px);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-nav a {
        opacity:
            1;

        transform:
            translateY(0);

        transition-delay:
            calc(
                150ms
                +
                (
                    var(
                        --ta-menu-index,
                        0
                    )
                    *
                    38ms
                )
            ) !important;
    }


    /*
     * Hover / tap feedback mai discret.
     */

    .ta-mobile-nav a:active {
        transform:
            translateX(3px)
            scale(.995) !important;

        transition-duration:
            160ms !important;
    }


    /* ========================================================
       NAV NUMBER + ARROW
       ======================================================== */

    .ta-mobile-nav-number {
        transition:
            color
            320ms
            ease,

            opacity
            320ms
            ease !important;
    }


    .ta-mobile-nav-arrow,
    .ta-mobile-nav a > strong {
        transition:
            transform
            420ms
            var(--ta-motion-premium),

            color
            320ms
            ease !important;
    }


    .ta-mobile-nav a:hover
    .ta-mobile-nav-arrow,

    .ta-mobile-nav a:hover
    > strong {
        transform:
            translateX(4px);
    }


    /* ========================================================
       BOTTOM CTA
       ======================================================== */

    .ta-mobile-menu
    .ta-btn {
        will-change:
            transform,
            opacity;

        transition:
            background-color
            360ms
            ease,

            color
            360ms
            ease,

            border-color
            360ms
            ease,

            transform
            500ms
            var(--ta-motion-premium),

            opacity
            380ms
            ease !important;
    }


    body >
    .ta-mobile-panel[aria-hidden="true"]
    .ta-mobile-menu
    .ta-btn {
        opacity:
            0;

        transform:
            translateY(10px);
    }


    body >
    .ta-mobile-panel[aria-hidden="false"]
    .ta-mobile-menu
    .ta-btn {
        opacity:
            1;

        transform:
            translateY(0);

        transition-delay:
            400ms !important;
    }


    /* ========================================================
       MENU DIVIDERS
       ======================================================== */

    .ta-mobile-menu hr,
    .ta-mobile-menu-top,
    .ta-mobile-nav a {
        border-color:
            color-mix(
                in srgb,
                var(--ta-border)
                90%,
                transparent
            );
    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .ta-site-header,
    .ta-mobile-panel,
    .ta-mobile-overlay-header-inner,
    .ta-mobile-overlay-close,
    .ta-mobile-menu-scroll,
    .ta-mobile-menu-top,
    .ta-mobile-nav a,
    .ta-mobile-toggle-line,
    .ta-mobile-menu .ta-btn {
        transition:
            none !important;

        animation:
            none !important;
    }

}




/*
 * Selectorul real al headerului este
 * [data-ta-site-header], nu .ta-site-header.
 */

@media (min-width: 1024px) {

    [data-ta-site-header],
    [data-ta-site-header].ta-site-header-hidden,
    [data-ta-site-header].ta-site-header-visible {
        transform:
            translate3d(
                0,
                0,
                0
            ) !important;

        translate:
            none !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;
    }


    [data-ta-site-header] {
        transition:
            background-color
            320ms
            ease,
            border-color
            320ms
            ease,
            box-shadow
            320ms
            ease !important;
    }

}

