/* FastLocations — FastReads.html styles */

        /* ── FL_Help shared nav / hero / toc styles ── */
        *, *::before, *::after { box-sizing: border-box; }

        :root {
            --navy:       #3d1278;
            --navy-mid:   #4d1e9a;
            --navy-light: #6230b8;
            --teal:       #9b6dd6;
            --teal-light: #c4a0ea;
            --teal-pale:  #f0eafb;
            --cream:      #f8f6f1;
            --text:       #0d1f35;
            --text-muted: #4a6070;
            --border:     #d8e4ea;
        }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--cream);
        }

        /* ── HEADER ── */
        .fl-header {
            background: var(--navy);
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid var(--navy-light);
        }

        .fl-header-inner {
            max-width: 1152px;
            margin: 0 auto;
            padding: 0 2rem;
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .fl-logo-area {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .fl-logo-area img {
            height: 44px;
            width: auto;
            filter: brightness(0) invert(1);
        }

        .fl-header-badge {
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--teal-light);
            border: 1px solid rgba(196,160,234,0.35);
            padding: 3px 10px;
            border-radius: 20px;
            font-family: 'DM Sans', sans-serif;
        }

        .fl-header-nav {
            display: flex;
            gap: 24px;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .fl-header-nav a {
            font-size: 13px;
            font-family: 'DM Sans', sans-serif;
            color: rgba(255,255,255,0.55);
            text-decoration: none;
            transition: color 0.2s;
        }
        .fl-header-nav a:hover { color: #fff; }

        /* ── HERO ── */
        .fl-hero {
            background: var(--navy);
            padding: 5rem 2rem 4.5rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .fl-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(155,109,214,0.18) 0%, transparent 70%);
            pointer-events: none;
        }

        .fl-hero-eyebrow {
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--teal-light);
            margin-bottom: 1.25rem;
            font-family: 'DM Sans', sans-serif;
        }

        .fl-hero h1 {
            font-family: 'DM Serif Display', serif;
            font-size: clamp(2.5rem, 5vw, 3.75rem);
            font-weight: 400;
            color: #fff;
            line-height: 1.1;
            margin-bottom: 1.25rem;
            letter-spacing: -0.01em;
        }

        .fl-hero h1 em {
            font-style: italic;
            color: var(--teal-light);
        }

        .fl-hero-sub {
            font-size: 1.05rem;
            color: rgba(255,255,255,0.55);
            max-width: 560px;
            margin: 0 auto;
            font-weight: 300;
            line-height: 1.65;
            font-family: 'DM Sans', sans-serif;
        }

        /* ── TOC STRIP ── */
        .fl-toc-strip {
            background: #fff;
            border-bottom: 1px solid var(--border);
        }

        .fl-toc-inner {
            max-width: 1152px;
            margin: 0 auto;
            padding: 0 2rem;
            display: flex;
            align-items: center;
            overflow-x: auto;
            scrollbar-width: none;
        }
        .fl-toc-inner::-webkit-scrollbar { display: none; }

        .fl-toc-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 1rem 1.5rem 1rem 0;
            text-decoration: none;
            color: var(--text-muted);
            font-size: 13px;
            font-family: 'DM Sans', sans-serif;
            font-weight: 400;
            white-space: nowrap;
            transition: color 0.2s;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
        }
        .fl-toc-item:hover { color: var(--navy); border-bottom-color: var(--navy); }

        .fl-toc-num {
            font-size: 10px;
            font-weight: 500;
            color: var(--teal);
            background: var(--teal-pale);
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        /* ── SECTION HEADERS (FL_Help style) ── */
        .section-header {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
            margin-bottom: 2rem;
            padding-top: 3rem;
            border-top: 1px solid #e5e7eb;
        }

        .section-header.no-border {
            border-top: none;
            padding-top: 0;
        }

        .section-num {
            font-family: 'DM Serif Display', serif;
            font-size: 3rem;
            color: #d8e4ea;
            line-height: 1;
            flex-shrink: 0;
            user-select: none;
        }

        .section-meta { flex: 1; }

        .section-tag {
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--teal);
            margin-bottom: 0.4rem;
            font-family: 'DM Sans', sans-serif;
        }

        .section-meta h2 {
            font-family: 'DM Serif Display', serif;
            font-size: 1.9rem;
            font-weight: 400;
            color: var(--navy);
            line-height: 1.2;
            letter-spacing: -0.01em;
        }

        /* ── PRINT ── */
        @media print {
            body { background-color: white !important; }
            .no-print { display: none !important; }
            main { margin-top: 0 !important; padding-top: 0 !important; }
            .fl-header, .fl-hero, .fl-toc-strip { display: none !important; }
        }

        .article-content a:hover {
            color: #3d1278;
            text-decoration-color: #3d1278;
        }

        /* ── HAMBURGER ── */
        .fl-hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 4px;
            flex-shrink: 0;
        }
        .fl-hamburger span {
            display: block;
            width: 22px;
            height: 2px;
            background: rgba(255,255,255,0.8);
            border-radius: 2px;
            transition: transform 0.2s, opacity 0.2s;
        }
        .fl-hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .fl-hamburger.active span:nth-child(2) { opacity: 0; }
        .fl-hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        @media (max-width: 640px) {
            .fl-hero { padding: 3.5rem 1.5rem 3rem; }
            .fl-header-inner { height: auto; padding: 0.8rem 1.25rem; flex-wrap: wrap; }
            .fl-hamburger { display: flex; }

            .fl-header-nav {
                display: none;
                flex-direction: column;
                gap: 0;
                width: 100%;
                padding: 0.5rem 0 0.25rem;
                margin-top: 0.6rem;
                border-top: 1px solid rgba(255,255,255,0.1);
                list-style: none;
            }
            .fl-header-nav.open { display: flex; }
            .fl-header-nav li a {
                display: block;
                padding: 0.65rem 0;
                font-size: 14px;
                color: rgba(255,255,255,0.75);
                border-bottom: 1px solid rgba(255,255,255,0.06);
            }
            .fl-header-nav li:last-child a { border-bottom: none; }
        }

        /* ── FOOTER ── */
        .fl-footer {
            background: var(--navy);
            padding: 2rem;
            text-align: center;
            margin-top: 3rem;
        }

        .fl-footer p {
            font-size: 12px;
            color: rgba(255,255,255,0.3);
            font-family: 'DM Sans', sans-serif;
        }

        .fl-footer a {
            color: var(--teal-light);
            text-decoration: none;
        }

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