/* --- PADEL LOGAN — MEMBERSHIPS ---------------------------------------
           Same navy + white system as index.html. Logo navy #0F3B59.
           No scroll-reveal on this page: pricing must never be hidden behind JS.
        --------------------------------------------------------------------- */
        :root {
            --mgc-black:    #0F3B59;
            --mgc-ink:      #0F3B59;
            --green-deep:   #0F3B59;
            --green-mid:    #17567E;
            --green-court:  #1E6F94;
            --green-lt:     #2E93BE;
            --white:        #FFFFFF;
            --cream:        #EAF1F6;
            --cream-dim:    rgba(234,241,246,0.95);
            --gold:         #0F3B59;
            --gold-lt:      #0F3B59;
            --border-light: rgba(234,241,246,0.12);
            --border-dark:  rgba(15,59,89,0.14);
            --body-grey:    #47586A;
        }

        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }

        body {
            background: var(--white);
            color: var(--green-deep);
            font-family: 'DM Sans', sans-serif;
            font-weight: 300;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        /* ── GRAIN ── */
        .grain {
            position: fixed; inset: -50%; width: 200%; height: 200%;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
            opacity: 0.028; pointer-events: none; z-index: 9999;
        }

        /* ── STICKY MOBILE CTA ── */
        .sticky-cta {
            display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 300;
            background: var(--mgc-black); border-top: 1px solid var(--border-light); padding: 1rem 1.5rem;
        }
        .sticky-cta a {
            display: block; width: 100%; text-align: center;
            background: #ffffff; color: var(--green-deep); border: 1.5px solid var(--green-deep);
            font-size: 0.8rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
            padding: 1rem; text-decoration: none;
        }
        @media (max-width: 600px) {
            .sticky-cta { display: block; }
            body { padding-bottom: 4.5rem; }
        }

        /* ── NAV ── */
        nav {
            position: fixed; top: 0; left: 0; right: 0; z-index: 200;
            padding: 1.5rem 2.5rem; display: flex; align-items: center; justify-content: space-between;
            background: linear-gradient(to bottom, rgba(15,59,89,0.96) 0%, rgba(15,59,89,0.35) 70%, transparent 100%);
            transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
        }
        nav.scrolled {
            background: var(--mgc-ink);
            box-shadow: 0 10px 30px -14px rgba(0,0,0,0.65);
            padding-top: 1rem; padding-bottom: 1rem;
        }
        .nav-logo { height: 30px; width: auto; display: block; filter: brightness(0) invert(1); }
        .nav-right { display: flex; align-items: center; gap: 1.6rem; }
        .nav-link {
            font-size: 0.68rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
            color: rgba(255,255,255,0.85); text-decoration: none; transition: color 0.2s;
        }
        .nav-link:hover { color: #ffffff; }
        .nav-cta {
            font-size: 0.7rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
            text-decoration: none; padding: 0.6rem 1.5rem; white-space: nowrap;
            background: #ffffff; color: var(--green-deep); border: 1.5px solid var(--green-deep);
            transition: background 0.22s, color 0.22s, border-color 0.22s;
        }
        .nav-cta:hover { background: var(--green-deep); color: #ffffff; border-color: #ffffff; }

        /* ── HERO ── */
        .m-hero {
            position: relative; min-height: 78svh; display: flex; align-items: flex-end;
            overflow: hidden; background: var(--mgc-ink);
            background-image: url("/assets/img/hero.jpg");
            background-size: cover; background-position: center 45%; background-repeat: no-repeat;
        }
        .m-hero-overlay {
            position: absolute; inset: 0; pointer-events: none;
            background:
                linear-gradient(to right, rgba(15,59,89,0.94) 0%, rgba(15,59,89,0.80) 52%, rgba(15,59,89,0.52) 100%),
                linear-gradient(to top, rgba(15,59,89,0.88) 0%, transparent 55%);
        }
        .m-hero-inner {
            position: relative; z-index: 2; max-width: 1140px; margin: 0 auto; width: 100%;
            padding: 10rem 2.5rem 4.5rem;
        }
        .m-eyebrow {
            display: inline-flex; align-items: center; gap: 0.75rem;
            font-size: 0.66rem; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase;
            color: var(--white); margin-bottom: 1.4rem;
        }
        .m-eyebrow::before { content: ''; display: inline-block; width: 2.2rem; height: 1px; background: var(--white); opacity: 0.55; }
        .m-hero-title { line-height: 0.9; margin-bottom: 1.6rem; }
        .m-hero-serif {
            display: block; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300;
            font-size: clamp(2.6rem, 6vw, 5.4rem); color: var(--cream); letter-spacing: 0.01em;
        }
        .m-hero-block {
            display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
            font-size: clamp(3.4rem, 12vw, 11rem); text-transform: uppercase; letter-spacing: -0.03em;
            -webkit-text-stroke: 2.5px var(--white); color: transparent;
        }
        .m-hero-sub {
            font-size: clamp(0.9rem, 1.7vw, 1.05rem); color: var(--cream); line-height: 1.75;
            max-width: 46ch; margin-bottom: 2.4rem;
        }
        .m-hero-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

        /* ── BUTTONS ── */
        .btn-primary, .btn-ghost {
            display: inline-block; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.16em;
            text-transform: uppercase; text-decoration: none; padding: 1.05rem 2.4rem;
            transition: background 0.25s, color 0.25s, border-color 0.25s;
        }
        .btn-primary { background: #ffffff; color: var(--green-deep); border: 1.5px solid var(--green-deep); }
        .btn-primary:hover { background: var(--green-deep); color: #ffffff; border-color: #ffffff; }
        .btn-ghost { background: transparent; color: #ffffff; border: 1.5px solid rgba(255,255,255,0.55); }
        .btn-ghost:hover { background: #ffffff; color: var(--green-deep); border-color: #ffffff; }

        /* on white sections the primary button inverts to navy fill on hover */
        .on-white .btn-primary:hover { border-color: var(--green-deep); }
        .on-white .btn-ghost { color: var(--green-deep); border-color: rgba(15,59,89,0.4); }
        .on-white .btn-ghost:hover { background: var(--green-deep); color: #ffffff; border-color: var(--green-deep); }

        /* ── SECTION FURNITURE ── */
        .sec { padding: 6.5rem 2.5rem; }
        .sec-white { background: var(--white); color: var(--green-deep); }
        .sec-navy  { background: var(--mgc-ink); color: var(--cream); }
        .sec-inner { max-width: 1140px; margin: 0 auto; }
        .chip {
            display: inline-block; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.3em;
            text-transform: uppercase; margin-bottom: 0.9rem;
        }
        .sec-white .chip { color: var(--green-court); }
        .sec-navy .chip  { color: var(--white); }
        .sec-h2 {
            font-family: 'Cormorant Garamond', serif; font-weight: 300; line-height: 1.12;
            font-size: clamp(2.3rem, 4.8vw, 4rem); margin-bottom: 1.2rem;
        }
        .sec-white .sec-h2 { color: var(--green-deep); }
        .sec-navy .sec-h2  { color: var(--white); }
        .sec-h2 em { font-style: italic; }
        .sec-lead { font-size: 0.92rem; line-height: 1.8; max-width: 52ch; }
        .sec-white .sec-lead { color: var(--body-grey); }
        .sec-navy .sec-lead  { color: var(--cream-dim); }

        /* ── FOUNDATION MEMBERSHIP ── */
        .found-grid {
            display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 4.5rem; align-items: start;
            margin-top: 3.5rem;
        }
        .price-card {
            border: 1.5px solid var(--green-deep); padding: 2.8rem 2.4rem; position: relative;
            background: #ffffff; border-radius: 6px;
            box-shadow:
                0 0 0 4px rgba(30,111,148,0.07),
                0 26px 55px -28px rgba(15,59,89,0.6),
                0 0 58px -12px rgba(30,111,148,0.52);
            animation: cardGlowLight 4.5s ease-in-out infinite;
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }
        .price-flag {
            position: absolute; top: 0; left: 0; transform: translateY(-50%);
            background: var(--green-deep); color: #ffffff;
            font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; font-weight: 700;
            letter-spacing: 0.2em; text-transform: uppercase; padding: 0.45rem 1.1rem; margin-left: 2.4rem;
        }
        .price-name {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.5rem; font-weight: 800;
            text-transform: uppercase; letter-spacing: 0.07em; color: var(--green-deep);
            margin-top: 0.6rem; line-height: 1.1;
        }
        .price-term { font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--green-court); margin-top: 0.4rem; }
        .price-amount {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 900; line-height: 0.9;
            font-size: clamp(4.2rem, 9vw, 6.6rem); color: var(--green-deep);
            margin: 1.6rem 0 0.2rem; letter-spacing: -0.02em;
        }
        .price-amount sup { font-size: 0.42em; vertical-align: super; font-weight: 800; }
        .price-note { font-size: 0.8rem; color: var(--body-grey); line-height: 1.7; margin-bottom: 2rem; }
        .price-rule { height: 1px; background: var(--border-dark); margin: 0 0 1.6rem; }
        .price-card .btn-primary { display: block; text-align: center; }

        .inc-title {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.14em; color: var(--green-deep);
            padding-bottom: 1rem; border-bottom: 1px solid var(--border-dark); margin-bottom: 0.4rem;
        }
        .inc-list { list-style: none; }
        .inc-item {
            display: flex; gap: 1.1rem; align-items: flex-start;
            padding: 1.15rem 0; border-bottom: 1px solid var(--border-dark);
        }
        .inc-icon { width: 22px; height: 22px; flex-shrink: 0; margin-top: 1px; }
        .inc-icon path, .inc-icon circle, .inc-icon rect, .inc-icon line, .inc-icon polyline {
            fill: none; stroke: var(--green-court); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
        }
        .inc-body { flex: 1; }
        .inc-label {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.02rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.08em; color: var(--green-deep); line-height: 1.25;
        }
        .inc-desc { font-size: 0.82rem; color: var(--body-grey); line-height: 1.65; margin-top: 0.2rem; }
        .inc-value {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 800;
            color: var(--green-deep); white-space: nowrap; letter-spacing: 0.02em; padding-left: 0.8rem;
        }
        .inc-value.free { color: var(--green-court); }

        /* ── NON MEMBER PRICING ── */
        .rate-grid {
            display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem;
            margin-top: 3.5rem;
        }
        /* Glowing tiles: gradient fill, lit edge, slow ambient pulse */
        .rate {
            position: relative;
            background: linear-gradient(158deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.035) 55%, rgba(255,255,255,0.02) 100%);
            border: 1px solid rgba(190,225,245,0.44);
            border-radius: 8px;
            padding: 2.6rem 2rem;
            display: flex; flex-direction: column; gap: 0.45rem;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.28),
                0 22px 45px -24px rgba(0,0,0,0.85),
                0 0 48px -8px rgba(143,211,240,0.46);
            animation: cardGlow 4.5s ease-in-out infinite;
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }
        .rate:nth-child(2) { animation-delay: 0.9s; }
        .rate:nth-child(3) { animation-delay: 1.8s; }

        /* lit top edge */
        .rate::after {
            content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px;
            background: linear-gradient(to right, transparent, rgba(205,240,255,1), transparent);
            filter: drop-shadow(0 0 6px rgba(143,211,240,0.9));
        }

        @keyframes cardGlow {
            0%, 100% {
                box-shadow:
                    inset 0 1px 0 rgba(255,255,255,0.28),
                    0 22px 45px -24px rgba(0,0,0,0.85),
                    0 0 48px -8px rgba(143,211,240,0.46);
            }
            50% {
                box-shadow:
                    inset 0 1px 0 rgba(255,255,255,0.38),
                    0 22px 45px -24px rgba(0,0,0,0.85),
                    0 0 82px -2px rgba(143,211,240,0.78);
            }
        }
        @keyframes cardGlowLight {
            0%, 100% {
                box-shadow:
                    0 0 0 4px rgba(30,111,148,0.07),
                    0 26px 55px -28px rgba(15,59,89,0.6),
                    0 0 58px -12px rgba(30,111,148,0.52);
            }
            50% {
                box-shadow:
                    0 0 0 7px rgba(30,111,148,0.11),
                    0 26px 55px -28px rgba(15,59,89,0.65),
                    0 0 88px -6px rgba(30,111,148,0.78);
            }
        }
        @media (hover: hover) {
            .rate:hover {
                transform: translateY(-6px);
                border-color: rgba(205,240,255,0.7);
                box-shadow:
                    inset 0 1px 0 rgba(255,255,255,0.45),
                    0 30px 55px -24px rgba(0,0,0,0.9),
                    0 0 95px 0 rgba(143,211,240,0.85);
                animation: none;
            }
            .price-card:hover {
                transform: translateY(-6px);
                box-shadow:
                    0 0 0 8px rgba(30,111,148,0.13),
                    0 34px 60px -26px rgba(15,59,89,0.7),
                    0 0 100px -4px rgba(30,111,148,0.85);
                animation: none;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .rate, .price-card { animation: none; transition: none; }
            .rate:hover, .price-card:hover { transform: none; }
        }
        .rate-name {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.2rem; font-weight: 800;
            text-transform: uppercase; letter-spacing: 0.07em; color: var(--white); line-height: 1.2;
        }
        .rate-meta { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(234,241,246,0.55); margin-bottom: 1.1rem; }
        .rate-price {
            font-family: 'Barlow Condensed', sans-serif; font-size: 3.4rem; font-weight: 900;
            color: var(--white); line-height: 0.95; letter-spacing: -0.01em;
        }
        .rate-price sup { font-size: 0.4em; vertical-align: super; font-weight: 800; }
        .rate-per { font-size: 0.78rem; color: rgba(234,241,246,0.6); letter-spacing: 0.06em; }
        .rate-court {
            margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--border-light);
            font-size: 0.8rem; color: var(--cream-dim);
        }
        .rate-court strong { font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 800; letter-spacing: 0.03em; }

        /* ── Non member / member tiers inside each tile ── */
        /* flex:1 on the non-member tier pushes the member rate to the bottom of every
           tile, so the member rows line up across all three even when the non-member
           block has an extra per-hour line */
        .rate-tiers { margin-top: 1.4rem; display: flex; flex-direction: column; flex: 1; }
        .tier { padding: 1.15rem 0; border-top: 1px solid rgba(234,241,246,0.18); }
        .tier:not(.tier-member) { flex: 1; }
        .tier-label {
            font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase;
            color: rgba(234,241,246,0.6); margin-bottom: 0.5rem;
        }
        .tier-price {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
            font-size: 2.6rem; line-height: 0.95; color: var(--white); letter-spacing: -0.01em;
        }
        .tier-price sup { font-size: 0.42em; vertical-align: super; font-weight: 800; }
        .tier-per { font-size: 0.74rem; color: rgba(234,241,246,0.6); letter-spacing: 0.05em; margin-top: 0.35rem; }
        .tier-alt {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; font-weight: 700;
            letter-spacing: 0.05em; text-transform: uppercase;
            color: rgba(234,241,246,0.78); margin-top: 0.4rem;
        }
        /* the member rate is the sell, so it gets the light */
        .tier-member .tier-label { color: #BEE8FF; }
        .tier-member .tier-price { color: #DCF3FF; text-shadow: 0 0 22px rgba(143,211,240,0.55); }
        .tier-member .tier-per { color: rgba(220,243,255,0.75); }
        .tier-free { letter-spacing: 0.01em; }

        .save-strip {
            margin-top: 2.6rem; padding: 1.5rem 1.9rem;
            border: 1px solid rgba(234,241,246,0.22);
            display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap;
        }
        .save-strip svg { width: 24px; height: 24px; flex-shrink: 0; }
        .save-strip svg path { fill: none; stroke: var(--white); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
        .save-strip p { font-size: 0.88rem; line-height: 1.7; color: var(--cream-dim); flex: 1; min-width: 260px; }
        .save-strip strong { color: var(--white); font-weight: 500; }

        /* ── EMAIL CTA ── */
        .cta-band { background: var(--white); padding: 6.5rem 2.5rem; border-top: 1px solid var(--border-dark); }
        .cta-inner { max-width: 780px; margin: 0 auto; text-align: center; }
        .cta-h2 {
            font-family: 'Cormorant Garamond', serif; font-weight: 300; line-height: 1.1;
            font-size: clamp(2.4rem, 5.4vw, 4.4rem); color: var(--green-deep); margin-bottom: 1.1rem;
        }
        .cta-h2 em { font-style: italic; }
        .cta-sub { font-size: 0.95rem; line-height: 1.8; color: var(--body-grey); margin-bottom: 2.4rem; }
        .cta-email {
            display: inline-flex; align-items: center; gap: 0.85rem;
            font-family: 'Barlow Condensed', sans-serif; font-weight: 800; letter-spacing: 0.04em;
            font-size: clamp(1.35rem, 3.6vw, 2.3rem); text-transform: none;
            color: var(--green-deep); text-decoration: none;
            border-bottom: 2px solid var(--green-deep); padding-bottom: 0.35rem;
            transition: opacity 0.2s;
            word-break: break-word;
        }
        .cta-email:hover { opacity: 0.65; }
        .cta-email svg { width: 26px; height: 26px; flex-shrink: 0; }
        .cta-email svg path, .cta-email svg rect, .cta-email svg polyline {
            fill: none; stroke: var(--green-deep); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
        }
        .cta-actions { margin-top: 2.6rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
        .cta-fine { margin-top: 2rem; font-size: 0.75rem; color: rgba(15,59,89,0.55); letter-spacing: 0.04em; }
        .cta-fine a { color: inherit; }

        /* ── FOOTER ── */
        footer { background: var(--mgc-black); border-top: 1px solid var(--border-light); padding: 3rem 2.5rem 2rem; color: var(--cream); }
        .footer-row { max-width: 1140px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
        .footer-logo { height: 26px; width: auto; display: block; filter: brightness(0) invert(1); opacity: 0.95; }
        .footer-links { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem 2rem; }
        .footer-links a {
            font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
            color: rgba(234,241,246,0.85); text-decoration: none; transition: color 0.2s;
        }
        .footer-links a:hover { color: var(--white); }
        .footer-social { display: flex; gap: 0.6rem; }
        .footer-social a {
            width: 2.1rem; height: 2.1rem; border: 1px solid var(--border-light);
            display: flex; align-items: center; justify-content: center;
            color: rgba(234,241,246,0.75); text-decoration: none; transition: border-color 0.22s, color 0.22s;
        }
        .footer-social a:hover { border-color: var(--white); color: var(--white); }
        .footer-mgc {
            max-width: 1140px; margin: 2rem auto 0; padding-top: 1.5rem;
            border-top: 1px solid rgba(234,241,246,0.06); display: flex; align-items: center; gap: 1rem;
            font-size: 0.68rem; color: rgba(234,241,246,0.8); letter-spacing: 0.05em; flex-wrap: wrap;
        }
        .footer-mgc-divider { width: 1px; height: 1rem; background: rgba(234,241,246,0.12); }
        .footer-base {
            max-width: 1140px; margin: 1rem auto 0; display: flex; justify-content: space-between;
            flex-wrap: wrap; gap: 0.5rem; font-size: 0.62rem; color: rgba(234,241,246,0.7); letter-spacing: 0.06em;
        }

        /* ── RESPONSIVE ── */
        @media (max-width: 960px) {
            .found-grid { grid-template-columns: 1fr; gap: 3rem; }
            .rate-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 600px) {
            nav { padding: 1.2rem 1.5rem; }
            /* The wide wordmark leaves no room for links beside it — the logo
               links home and the sticky bar carries the CTA. */
            .nav-cta, .nav-link { display: none; }
            .nav-right { gap: 1rem; }
            .m-hero { min-height: 72svh; }
            .m-hero-inner { padding: 8.5rem 1.5rem 3.5rem; }
            .sec, .cta-band { padding: 4.5rem 1.5rem; }
            .price-card { padding: 2.2rem 1.5rem; }
            .price-flag { margin-left: 1.5rem; }
            .rate { padding: 2.2rem 1.6rem; }
            .inc-item { gap: 0.9rem; }
            .inc-value { padding-left: 0.5rem; }
            footer { padding: 2.5rem 1.5rem 1.5rem; }
            .footer-row { flex-direction: column; align-items: flex-start; }
            .cta-actions .btn-primary, .cta-actions .btn-ghost { width: 100%; text-align: center; }
        }
        @media (max-width: 380px) {
            .inc-item { flex-wrap: wrap; }
            .inc-value { padding-left: 0; margin-left: 33px; }
        }

        /* ══ FOUNDING MEMBERSHIP TIERS ══════════════════════════════════════ */
        .tier-grid {
            display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-top: 3.5rem;
        }
        .mcard {
            position: relative; display: flex; flex-direction: column;
            background: linear-gradient(158deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.035) 55%, rgba(255,255,255,0.02) 100%);
            border: 1px solid rgba(190,225,245,0.44); border-radius: 8px;
            padding: 2.6rem 1.9rem 2rem;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.28),
                0 22px 45px -24px rgba(0,0,0,0.85),
                0 0 48px -8px rgba(143,211,240,0.46);
            animation: cardGlow 4.5s ease-in-out infinite;
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }
        .mcard:nth-child(2) { animation-delay: 0.9s; }
        .mcard:nth-child(3) { animation-delay: 1.8s; }
        .mcard::after {
            content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px;
            background: linear-gradient(to right, transparent, rgba(205,240,255,1), transparent);
            filter: drop-shadow(0 0 6px rgba(143,211,240,0.9));
        }
        .mcard-tier {
            font-size: 0.6rem; letter-spacing: 0.26em; text-transform: uppercase;
            color: rgba(234,241,246,0.6); margin-bottom: 0.5rem;
        }
        .mcard-name {
            font-family: 'Barlow Condensed', sans-serif; font-size: 2.1rem; font-weight: 900;
            text-transform: uppercase; letter-spacing: 0.04em; color: var(--white); line-height: 1;
        }
        .mcard-price {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 3.9rem;
            line-height: 0.95; color: var(--white); letter-spacing: -0.01em; margin-top: 1.3rem;
        }
        .mcard-price sup { font-size: 0.4em; vertical-align: super; font-weight: 800; }
        .mcard-term { font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(234,241,246,0.62); margin-top: 0.45rem; }
        .mcard-value {
            margin-top: 0.9rem; font-size: 0.78rem; color: #BEE8FF; letter-spacing: 0.04em;
        }
        .mcard-value strong { font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 800; letter-spacing: 0.02em; }

        .mcard-golf {
            margin-top: 1.5rem; padding: 1.1rem 1.1rem 1.15rem;
            border: 1px solid rgba(190,225,245,0.3); border-radius: 5px;
            background: rgba(143,211,240,0.07);
        }
        .mcard-golf-lbl { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: #BEE8FF; margin-bottom: 0.4rem; }
        .mcard-golf-val {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.28rem; font-weight: 800;
            text-transform: uppercase; letter-spacing: 0.04em; color: #DCF3FF; line-height: 1.2;
        }
        .mcard-note { font-size: 0.68rem; line-height: 1.55; color: rgba(234,241,246,0.55); margin-top: 0.6rem; }
        .mcard .btn-primary { margin-top: auto; display: block; text-align: center; }
        .mcard-pad { margin-top: 1.6rem; }

        /* ══ INCLUSIONS (repeated inside every tier card, navy ground) ══════ */
        .incl-row {
            display: flex; align-items: flex-start; gap: 0.8rem;
            padding: 0.72rem 0; border-bottom: 1px solid rgba(234,241,246,0.13);
        }
        .incl-row:last-child { border-bottom: none; }
        .incl-tick {
            width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px;
            border-radius: 50%; border: 1.5px solid rgba(190,232,255,0.6);
            display: flex; align-items: center; justify-content: center;
        }
        .incl-tick svg { width: 9px; height: 9px; }
        .incl-tick svg polyline { fill: none; stroke: #BEE8FF; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
        .incl-text { flex: 1; font-size: 0.83rem; line-height: 1.45; color: rgba(234,241,246,0.88); }
        .incl-text b { font-weight: 500; color: var(--white); }
        .incl-val {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.02rem; font-weight: 800;
            color: #BEE8FF; white-space: nowrap; padding-left: 0.7rem; letter-spacing: 0.02em;
        }

        /* golf sits in the list as a normal inclusion; the card summary above
           carries the emphasis, with padel first */
        .incl-golf-detail {
            font-size: 0.78rem; color: rgba(234,241,246,0.62);
            line-height: 1.4; margin-top: 0.15rem;
        }
        .incl-note { font-size: 0.68rem; line-height: 1.5; color: rgba(234,241,246,0.6); margin-top: 0.45rem; }

        /* what you are actually buying, on every card and every width:
           a padel membership, with golf as an inclusion */
        .mcard-summary {
            margin-top: 1.3rem; padding: 1rem 1.1rem;
            background: rgba(143,211,240,0.09);
            border: 1px solid rgba(190,225,245,0.28); border-radius: 5px;
        }
        .sum-lbl {
            display: block; font-size: 0.56rem; letter-spacing: 0.22em;
            text-transform: uppercase; color: #BEE8FF; margin-bottom: 0.5rem;
        }
        .sum-padel {
            display: block; font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.35rem; font-weight: 900; text-transform: uppercase;
            letter-spacing: 0.04em; color: var(--white); line-height: 1.15;
        }
        .sum-golf {
            display: block; font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.08rem; font-weight: 800; text-transform: uppercase;
            letter-spacing: 0.04em; color: #DCF3FF; line-height: 1.2; margin-top: 0.3rem;
        }
        .sum-detail {
            display: block; font-size: 0.75rem; color: rgba(234,241,246,0.7);
            letter-spacing: 0.03em; margin-top: 0.3rem;
        }

        /* ── accordion: open on desktop, collapsible on mobile ── */
        .incl-acc { margin-top: 1.5rem; }
        .incl-acc > summary {
            display: flex; align-items: center; justify-content: space-between; gap: 0.8rem;
            cursor: pointer; list-style: none; padding: 0.85rem 0;
            border-top: 1px solid rgba(234,241,246,0.18); border-bottom: 1px solid rgba(234,241,246,0.18);
            font-family: 'DM Sans', sans-serif; font-size: 0.7rem; font-weight: 500;
            letter-spacing: 0.16em; text-transform: uppercase; color: var(--white);
        }
        .incl-acc > summary::-webkit-details-marker { display: none; }
        .incl-count {
            display: inline-flex; align-items: center; justify-content: center;
            min-width: 1.5rem; height: 1.5rem; padding: 0 0.4rem; border-radius: 999px;
            background: rgba(143,211,240,0.16); border: 1px solid rgba(190,225,245,0.35);
            font-family: 'Barlow Condensed', sans-serif; font-size: 0.82rem; font-weight: 800;
            letter-spacing: 0.02em; color: #DCF3FF;
        }
        .incl-acc > summary .incl-chev {
            display: inline-block; width: 7px; height: 7px; margin-left: 0.1rem;
            border-right: 1.6px solid #DCF3FF; border-bottom: 1.6px solid #DCF3FF;
            transform: translateY(-2px) rotate(45deg); transition: transform 0.25s ease;
        }
        .incl-acc[open] > summary .incl-chev { transform: translateY(1px) rotate(-135deg); }
        .incl-summary-right { display: inline-flex; align-items: center; gap: 0.7rem; }
        .incl-list { padding-top: 0.35rem; }

        /* desktop: always open, no control shown */
        @media (min-width: 961px) {
            .incl-acc > summary { display: none; }
        }

        /* ══ COURT HIRE HOURS ═══════════════════════════════════════════════ */
        .hours-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6rem; margin-top: 3.5rem; }
        .hour-band { padding: 2.4rem 2rem; }
        .hour-name {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.5rem; font-weight: 900;
            text-transform: uppercase; letter-spacing: 0.05em; color: var(--white); line-height: 1.1;
        }
        .hour-time {
            display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.6rem;
            font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: #BEE8FF;
        }
        .hour-time svg { width: 14px; height: 14px; }
        .hour-time svg circle, .hour-time svg polyline { fill: none; stroke: #BEE8FF; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
        .hour-rates { display: flex; gap: 2.2rem; margin-top: 1.35rem; flex-wrap: wrap; }
        .hour-rate-lbl { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(234,241,246,0.55); margin-bottom: 0.4rem; }
        .hour-rate-val {
            font-family: 'Barlow Condensed', sans-serif; font-size: 3.7rem; font-weight: 900;
            color: var(--white); line-height: 0.9; letter-spacing: -0.01em;
        }
        .hour-rate-val sup { font-size: 0.42em; vertical-align: super; font-weight: 800; }
        .hour-rate-sub { font-size: 0.7rem; color: rgba(234,241,246,0.55); margin-top: 0.25rem; }
        .hour-member {
            margin-top: 1.35rem; padding-top: 1.1rem; border-top: 1px solid rgba(234,241,246,0.18);
            display: flex; align-items: baseline; gap: 0.8rem; flex-wrap: wrap;
        }
        .hour-member-lbl { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: #BEE8FF; }
        .hour-member-val {
            font-family: 'Barlow Condensed', sans-serif; font-size: 2.7rem; font-weight: 900;
            color: #DCF3FF; text-shadow: 0 0 22px rgba(143,211,240,0.55); letter-spacing: 0.01em;
            line-height: 0.95;
        }
        .hour-member-sub {
            flex-basis: 100%; font-size: 0.72rem; letter-spacing: 0.04em;
            color: rgba(220,243,255,0.75); margin-top: 0.35rem;
        }

        /* ══ TERMS ══════════════════════════════════════════════════════════ */
        .terms { background: var(--white); padding: 4rem 2.5rem 3rem; }
        .terms-inner { max-width: 1140px; margin: 0 auto; }
        .terms-title {
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.05rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.16em; color: var(--green-deep);
            padding-bottom: 0.9rem; border-bottom: 1px solid var(--border-dark); margin-bottom: 1.2rem;
        }
        .terms-list { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem 2.5rem; }
        .terms-list li {
            position: relative; padding-left: 1.1rem;
            font-size: 0.78rem; line-height: 1.65; color: rgba(15,59,89,0.62);
        }
        .terms-list li::before { content: ''; position: absolute; left: 0; top: 0.6em; width: 4px; height: 4px; border-radius: 50%; background: var(--green-court); }

        @media (max-width: 960px) {
            .tier-grid, .hours-grid, .incl-grid, .terms-list { grid-template-columns: 1fr; }
            .incl-grid { gap: 0; }
        }
        @media (max-width: 600px) {
            .mcard { padding: 2.2rem 1.5rem 1.8rem; }
            .hour-band { padding: 2rem 1.5rem; }
            .terms { padding: 3rem 1.5rem 2.4rem; }
        }
