  /* ─── HERO ─── */
        .hero {
            position: relative;
            height: 65vh; min-height: 440px;
            display: flex; align-items: flex-end;
            overflow: hidden;
        }
        .hero-reel {
            position: absolute; inset: 0;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
        }
        .hero-panel {
            position: relative; overflow: hidden;
            filter: brightness(0.55) saturate(0.7);
            transition: filter 0.8s ease;
        }
        .hero-panel img {
            width: 100%; height: 100%;
            object-fit: cover; display: block;
            transform: scale(1.08);
            transition: transform 8s ease-out;
        }
        .hero-panel.reveal img { transform: scale(1); }
        .hero-panel::after {
            content: '';
            position: absolute; inset: 0;
            background: linear-gradient(to bottom, transparent 40%, rgba(7,17,29,0.95) 100%);
        }
        .hero-seam {
            position: absolute; top: 0; bottom: 0;
            width: 1px; background: rgba(201,168,76,0.25);
        }
        .hero-seam:nth-child(1) { left: 33.33%; }
        .hero-seam:nth-child(2) { left: 66.66%; }
        .hero-content {
            position: relative; z-index: 4;
            padding: 0 6vw 5.5rem;
            width: 100%;
            display: flex; align-items: flex-end; justify-content: space-between;
            gap: 2rem;
        }
        .hero-left { max-width: 660px; }
        .hero-badge {
            display: inline-flex; align-items: center; gap: 10px;
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 600;
            letter-spacing: 0.26em; text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.4rem;
        }
        .hero-badge::before {
            content: '';
            display: block; width: 32px; height: 1px;
            background: var(--gold);
        }
        .hero h1 {
            font-family: var(--f-display);
            font-size: clamp(1.2rem, 4.5vw, 4rem);
            font-weight: 700;
            color: #fff;
            line-height: 0.95;
            margin-bottom: 1.6rem;
        }
        .hero h1 em { font-style: italic; color: var(--gold); }
        .hero-desc {
            font-size: 1rem; font-weight: 300;
            color: rgba(255,255,255,0.6);
            line-height: 1.85; max-width: 480px;
        }
        .hero-right {
            flex-shrink: 0;
            display: flex; flex-direction: column;
            align-items: flex-end; gap: 0.6rem;
            padding-bottom: 0.25rem;
        }
        .hero-count {
            font-family: var(--f-display);
            font-size: 5rem; font-weight: 700;
            color: #fff; line-height: 1;
        }
        .hero-count-label {
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 600;
            letter-spacing: 0.22em; text-transform: uppercase;
            color: rgba(255,255,255,0.4);
            text-align: right;
        }
        .hero-scroll-cue {
            position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
            z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 6px;
        }
        .hero-scroll-cue span {
            font-family: var(--f-cond); font-size: 10px; font-weight: 600;
            letter-spacing: 0.22em; text-transform: uppercase;
            color: rgba(255,255,255,0.3);
        }
        .scroll-pip {
            width: 1px; height: 44px;
            background: rgba(255,255,255,0.15);
            position: relative; overflow: hidden;
        }
        .scroll-pip::after {
            content: ''; position: absolute;
            top: -100%; left: 0; width: 100%; height: 100%;
            background: var(--gold);
            animation: pipDrop 2s ease-in-out infinite;
        }
        @keyframes pipDrop { 0%{top:-100%} 100%{top:100%} }

        @media (max-width: 768px) {
            .hero-reel { grid-template-columns: 1fr 1fr; }
            .hero-reel .hero-panel:nth-child(3) { display: none; }
            .hero-right { display: none; }
            .hero-content { padding-bottom: 4rem; }
        }

        /* ─── VESSEL TYPE NAV ─── */
        .type-nav-wrap {
            background: #0e1f30;
            border-bottom: 1px solid rgba(255,255,255,0.08);
            padding: 0 8px;
            position: sticky;
            top: 64px;
            z-index: 50;
        }
        .type-nav {
            display: flex;
            align-items: stretch;
            gap: 4px;
            overflow-x: auto;
            scrollbar-width: none;
            max-width: 1440px;
            margin: 0 auto;
        }
        .type-nav::-webkit-scrollbar { display: none; }

        .type-btn {
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 14px 20px;
            background: transparent;
            border: none;
            border-bottom: 3px solid transparent;
            cursor: pointer;
            transition: background 0.2s, border-color 0.2s;
            min-width: 100px;
        }
        .type-btn:hover {
            background: rgba(255,255,255,0.05);
        }
        .type-btn-icon {
            width: 26px;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .type-btn-icon svg {
            width: 22px;
            height: 22px;
            fill: none;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
            stroke: #6b7f91;
            transition: stroke 0.2s;
        }
        .type-btn-label {
            font-family: var(--f-cond);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            white-space: nowrap;
            color: #6b7f91;
            transition: color 0.2s;
        }
        .type-btn-count {
            font-family: var(--f-cond);
            font-size: 10px;
            font-weight: 700;
            padding: 2px 7px;
            border-radius: 20px;
            background: rgba(107,127,145,0.18);
            color: #6b7f91;
            transition: background 0.2s, color 0.2s;
            line-height: 1.4;
        }

        /* ── ACTIVE ── */
        .type-btn.active {
            border-bottom-color: #890505;
            background: rgba(137,5,5,0.08);
        }
        .type-btn.active .type-btn-icon svg {
            stroke: #c0433a;
        }
        .type-btn.active .type-btn-label {
            color: #fff;
        }
        .type-btn.active .type-btn-count {
            background: #890505;
            color: #fff;
        }

        /* ── HOVER ON INACTIVE ── */
        .type-btn:not(.active):hover .type-btn-label { color: #c8d6e0; }
        .type-btn:not(.active):hover .type-btn-icon svg { stroke: #c8d6e0; }

        /* ─── FLEET SHOWCASE ─── */
        .fleet-section {
            max-width: 1440px; margin: 0 auto;
            padding: 0 4vw 6rem;
        }

        /* category header */
        .cat-header {
            display: flex; align-items: flex-end;
            justify-content: space-between;
            padding: 4.5rem 0 2.5rem;
            border-bottom: 1px solid rgba(255,255,255,0.07);
            margin-bottom: 0;
        }
        .cat-label {
            font-family: var(--f-cond);
            font-size: 10px; font-weight: 700;
            letter-spacing: 0.28em; text-transform: uppercase;
            color: var(--red); margin-bottom: 0.5rem;
        }
        .cat-title {
            font-family: var(--f-display);
            font-size: clamp(2rem, 3.5vw, 3rem);
            font-weight: 700; color: #080808; line-height: 1.05;
        }
        .cat-title em { font-style: italic; color: var(--gold); }
        .cat-desc {
            font-size: 0.9rem; font-weight: 300;
            color: rgba(20, 20, 20, 0.45); line-height: 1.75;
            max-width: 380px; text-align: right;
        }

        /* vessel card layout — the signature element */
        .vessel-list { display: flex; flex-direction: column; }
        .vessel-card {
            display: grid;
            grid-template-columns: 1fr 1fr;
            min-height: 420px;
            border-bottom: 1px solid rgba(255,255,255,0.06);
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }
        .vessel-card:nth-child(even) { direction: rtl; }
        .vessel-card:nth-child(even) > * { direction: ltr; }

        /* image panel */
        .vc-img {
            position: relative; overflow: hidden;
            background: var(--steel);
        }
        .vc-img img {
            width: 100%; height: 100%;
            object-fit: cover; display: block;
            filter: brightness(0.8) saturate(0.85);
            transform: scale(1.04);
            transition: transform 0.7s ease, filter 0.5s ease;
        }
        .vessel-card:hover .vc-img img {
            transform: scale(1);
            filter: brightness(0.95) saturate(1);
        }
        .vc-img-overlay {
            position: absolute; inset: 0;
            background: linear-gradient(to right, rgba(7,17,29,0.55) 0%, transparent 60%);
            pointer-events: none;
        }
        .vessel-card:nth-child(even) .vc-img-overlay {
            background: linear-gradient(to left, rgba(7,17,29,0.55) 0%, transparent 60%);
        }
        .vc-flag {
            position: absolute; top: 1.5rem; left: 1.5rem;
            font-family: var(--f-cond);
            font-size: 9px; font-weight: 700;
            letter-spacing: 0.25em; text-transform: uppercase;
            color: var(--gold);
            background: rgba(7,17,29,0.75);
            border: 1px solid rgba(201,168,76,0.3);
            padding: 5px 10px;
            backdrop-filter: blur(6px);
        }
        .vessel-card:nth-child(even) .vc-flag { left: auto; right: 1.5rem; }

        /* info panel */
        .vc-info {
            background: var(--navy-mid);
            padding: 3.5rem 3.5rem;
            display: flex; flex-direction: column; justify-content: center;
            position: relative;
            transition: background 0.35s;
        }
        .vessel-card:hover .vc-info { background: var(--navy-lt); }
        .vc-info::before {
            content: '';
            position: absolute; top: 0; left: 0;
            width: 3px; height: 0;
            background: var(--red);
            transition: height 0.5s ease;
        }
        .vessel-card:hover .vc-info::before { height: 100%; }
        .vc-vessel-num {
            font-family: var(--f-display);
            font-size: 7rem; font-weight: 700;
            color: rgba(255,255,255,0.04);
            line-height: 1;
            position: absolute; top: 1rem; right: 2rem;
            pointer-events: none; user-select: none;
        }
        .vc-type-tag {
            display: inline-flex; align-items: center; gap: 6px;
            font-family: var(--f-cond);
            font-size: 10px; font-weight: 700;
            letter-spacing: 0.22em; text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1rem;
        }
        .vc-type-tag::before {
            content: '';
            display: block; width: 20px; height: 1px;
            background: var(--gold);
        }
        .vc-name {
            font-family: var(--f-display);
            font-size: clamp(1.6rem, 2.5vw, 2.2rem);
            font-weight: 700; color: #0b0a0a; line-height: 1.1;
            margin-bottom: 0.35rem;
        }
        .vc-imo {
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 500;
            letter-spacing: 0.1em;
            color: rgba(15, 15, 15, 0.3);
            margin-bottom: 1.5rem;
        }
        .vc-desc {
            font-size: 0.88rem; font-weight: 300;
            color: rgba(14, 13, 13, 0.55);
            line-height: 1.85; margin-bottom: 2rem;
        }
        /* spec grid */
        .vc-specs {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1px;
            background: rgb(18 18 18 / 78%);
            margin-bottom: 2rem;
        }
        .spec-cell {
            background: var(--navy-mid);
            padding: 0.9rem 1rem;
            transition: background 0.2s;
        }
        .vessel-card:hover .spec-cell { background: rgba(14,31,48,0.6); }
        .spec-val {
            font-family: var(--f-cond);
            font-size: 1.1rem; font-weight: 700;
            color: #fff; line-height: 1;
            margin-bottom: 3px;
        }
        .spec-key {
            font-size: 10px; font-weight: 500;
            letter-spacing: 0.1em; text-transform: uppercase;
            color: rgba(255,255,255,0.35);
        }
        /* actions */
        .vc-actions {
            display: flex !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
            pointer-events: auto !important;
        }
                    .vc-btn-primary,
            .vc-btn-secondary {
                opacity: 1 !important;
                visibility: visible !important;
                display: inline-flex !important;
            }
        .vc-btn-primary {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 0.7rem 1.6rem;
            background: #a10a0a; gap: 14px;
            color: #fff !important;
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 700;
            letter-spacing: 0.18em; text-transform: uppercase;
            text-decoration: none; border: none; cursor: pointer;
            border-radius: 2px;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transition: background 0.2s, gap 0.2s;
        }
        .vc-btn-primary:hover { background: #a10a0a; gap: 14px; }

        .vc-btn-secondary {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 0.7rem 1.2rem;
            color: rgba(255,255,255,0.6) !important;
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 600;
            letter-spacing: 0.16em; text-transform: uppercase;
            text-decoration: none;
            border: 1px solid rgba(255,255,255,0.25) !important;
            background: none; cursor: pointer; border-radius: 2px;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transition: border-color 0.2s, color 0.2s;
        }
        .vc-btn-secondary:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

        .vc-actions {
            display: flex;
            gap: 0.75rem;
            align-items: center;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
        }

        @media (max-width: 900px) {
            .vessel-card, .vessel-card:nth-child(even) {
                grid-template-columns: 1fr;
                direction: ltr;
            }
            .vc-img { height: 260px; }
            .vc-info { padding: 2rem; }
            .vc-vessel-num { font-size: 4rem; right: 1rem; }
            .cat-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
            .cat-desc { text-align: left; }
        }

        /* ─── CATEGORY HIDDEN STATE ─── */
        .fleet-category { display: none; }
        .fleet-category.visible { display: block; }

        /* ─── CTA STRIP ─── */
        .cta-strip {
            background: var(--red);
            padding: 5rem 6vw;
            display: flex; align-items: center; justify-content: space-between;
            gap: 2rem; flex-wrap: wrap;
            position: relative; overflow: hidden;
        }
        .cta-strip::before {
            content: '';
            position: absolute; top: -80%; right: -10%;
            width: 50vw; height: 300%;
            background: rgba(255,255,255,0.04);
            transform: rotate(-20deg);
        }
        .cta-strip-text h2 {
            font-family: var(--f-display);
            font-size: clamp(1.8rem, 3vw, 2.8rem);
            font-weight: 700; color: #080808;
        }
        .cta-strip-text p {
            font-size: 1rem; font-weight: 300;
            color: rgba(15, 15, 15, 0.75);
            margin-top: 0.5rem; max-width: 520px;
            line-height: 1.7;
        }
        .cta-strip-btn {
            flex-shrink: 0;
            display: inline-flex; align-items: center; gap: 10px;
            padding: 1rem 2.5rem;
            background: #fff; color: var(--red);
            font-family: var(--f-cond);
            font-size: 12px; font-weight: 700;
            letter-spacing: 0.2em; text-transform: uppercase;
            text-decoration: none; border-radius: 2px;
            transition: background 0.2s, transform 0.2s;
        }
        .cta-strip-btn:hover { background: var(--off); transform: translateX(4px); }

        /* ─── MODAL ─── */
        .modal-backdrop {
            position: fixed; inset: 0; z-index: 9000;
            background: rgba(7,17,29,0.92);
            backdrop-filter: blur(8px);
            display: none; align-items: center; justify-content: center;
            padding: 2rem;
        }
        .modal-backdrop.open { display: flex; }
        .modal {
            background: var(--navy-mid);
            width: 100%; max-width: 920px;
            max-height: 90vh;
            overflow-y: auto;
            border: 1px solid rgba(255,255,255,0.08);
            position: relative;
            animation: modalIn 0.35s ease;
        }
        @keyframes modalIn { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform:none; } }
        .modal-close {
            position: absolute; top: 1rem; right: 1rem;
            background: rgba(255,255,255,0.07);
            border: none; cursor: pointer;
            color: #fff; width: 36px; height: 36px;
            display: flex; align-items: center; justify-content: center;
            font-size: 18px; border-radius: 2px;
            transition: background 0.2s;
        }
        .modal-close:hover { background: var(--red); }
        .modal-img { width: 100%; height: 320px; object-fit: cover; display: block; }
        .modal-body { padding: 2.5rem; }
        .modal-body h2 {
            font-family: var(--f-display);
            font-size: 2.2rem; font-weight: 700; color: #fff;
            margin-bottom: 0.5rem;
        }
        .modal-body .modal-sub {
            font-family: var(--f-cond);
            font-size: 11px; font-weight: 600;
            letter-spacing: 0.2em; text-transform: uppercase;
            color: var(--gold); margin-bottom: 1.5rem;
        }
        .modal-body p {
            font-size: 0.95rem; font-weight: 300;
            color: rgba(255,255,255,0.65);
            line-height: 1.9; margin-bottom: 2rem;
        }
        .modal-specs {
            display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 1px; background: rgba(255,255,255,0.07);
            margin-bottom: 2rem;
        }
        .modal-spec-cell { background: var(--navy-lt); padding: 1rem 1.25rem; }
        .modal-spec-val {
            font-family: var(--f-cond); font-size: 1.3rem; font-weight: 700;
            color: #fff; line-height: 1; margin-bottom: 4px;
        }
        .modal-spec-key {
            font-size: 10px; font-weight: 500; letter-spacing: 0.12em;
            text-transform: uppercase; color: rgba(255,255,255,0.35);
        }
        .modal-enquire {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 0.85rem 2rem; background: var(--red);
            color: #fff; font-family: var(--f-cond);
            font-size: 11px; font-weight: 700;
            letter-spacing: 0.18em; text-transform: uppercase;
            text-decoration: none; border-radius: 2px;
            transition: background 0.2s;
        }
        .modal-enquire:hover { background: #a10a0a; }

        /* ─── AOS OVERRIDES ─── */
        [data-aos]:not(.vc-actions):not(.vc-btn-primary):not(.vc-btn-secondary) { pointer-events: none; }
        [data-aos].aos-animate { pointer-events: auto; }