:root{--adt-blue:#083b75;--adt-navy:#052647;--adt-red:#dc2430;--adt-light:#f3f7fb;--adt-sky:#dceaf7;--adt-text:#1d2a36}
html{scroll-behavior:smooth} body{font-family:Arial,Helvetica,sans-serif;color:var(--adt-text);line-height:1.65}.topbar{background:var(--adt-navy);color:#d9e6f2}.topbar a,.site-footer a{color:inherit;text-decoration:none}.topbar a:hover,.site-footer a:hover{color:#fff}.navbar{min-height:86px}.navbar-brand{gap:10px}.brand-mark{font-weight:900;font-style:italic;font-size:2rem;letter-spacing:-3px;color:var(--adt-blue);border-right:4px solid var(--adt-red);padding-right:12px}.brand-copy{line-height:1;display:flex;flex-direction:column;letter-spacing:.06em;color:var(--adt-red)}.brand-copy small{font-size:.72rem;color:var(--adt-blue);letter-spacing:.18em;margin-top:4px}.navbar .nav-link{font-weight:700;color:#26384a;padding:.8rem .72rem!important}.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--adt-red)}.hero{min-height:640px;background:linear-gradient(90deg,rgba(3,28,54,.88),rgba(3,28,54,.45)),url('../images/about/about04.png') center/cover no-repeat;display:flex;align-items:center;color:#fff}.hero h1{font-size:clamp(2.8rem,6vw,5.3rem);font-weight:900;line-height:.98;text-transform:uppercase}.hero .lead{max-width:760px;font-size:1.2rem}.eyebrow{font-weight:800;letter-spacing:.16em;font-size:.78rem;text-transform:uppercase;color:var(--adt-red)}.section-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--adt-navy);line-height:1.05}.bg-lightblue{background:var(--adt-light)}.section-pad{padding:90px 0}.feature-card,.program-card,.event-card,.resource-card{border:0;border-radius:18px;box-shadow:0 12px 35px rgba(13,50,88,.09);height:100%;overflow:hidden;background:#fff}.feature-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--adt-sky);color:var(--adt-blue);font-size:1.6rem}.program-card .card-header{background:var(--adt-blue);color:#fff;border:0;padding:22px}.program-card .price{font-size:1.15rem;font-weight:800;color:var(--adt-red)}.event-date{display:inline-block;background:var(--adt-red);color:#fff;border-radius:10px;padding:8px 12px;font-weight:800}.page-hero{padding:95px 0;background:linear-gradient(135deg,var(--adt-navy),var(--adt-blue));color:#fff}.page-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);font-weight:900}.portrait{border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.18);width:100%;object-fit:cover}.image-grid img{width:100%;height:260px;object-fit:cover;border-radius:18px}.cta-strip{background:linear-gradient(135deg,var(--adt-red),#b31221)}.site-footer{background:#031d36}.footer-brand{font-size:1.35rem;font-weight:900}.footer-brand span{color:#75a7d9}.footer-links li{margin:.45rem 0}.footer-links a{color:#b9c9d9}.btn-primary{background:var(--adt-blue);border-color:var(--adt-blue)}.btn-primary:hover{background:#062f5e;border-color:#062f5e}.btn-danger{background:var(--adt-red);border-color:var(--adt-red)}.table thead th{background:var(--adt-navy);color:#fff}.form-control,.form-select{padding:.8rem 1rem;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#5a8ec1;box-shadow:0 0 0 .2rem rgba(8,59,117,.13)}.resource-logo{height:70px;object-fit:contain;max-width:180px}.accordion-button:not(.collapsed){background:#eaf2f9;color:var(--adt-blue)}@media(max-width:991px){.hero{min-height:570px}.section-pad{padding:65px 0}.navbar{min-height:72px}}


/* ==========================================
   ADT VIDEO HERO - FIXED LAYERING
========================================== */

.hero {
    position: relative !important;
    min-height: 640px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #052647;
    isolation: isolate;
}

/* VIDEO - BOTTOM LAYER */
.hero-bg-video {
    position: absolute !important;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: -3 !important;
    pointer-events: none;
}

/* DARK BLUE OVERLAY - MIDDLE LAYER */
.hero-video-overlay {
    position: absolute !important;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: linear-gradient(
        90deg,
        rgba(3, 28, 54, 0.92) 0%,
        rgba(3, 28, 54, 0.75) 45%,
        rgba(3, 28, 54, 0.40) 75%,
        rgba(3, 28, 54, 0.25) 100%
    );

    z-index: -2 !important;
    pointer-events: none;
}

/* CONTENT - TOP LAYER */
.hero-content {
    position: relative !important;
    z-index: 10 !important;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Make absolutely sure Bootstrap container stays above video */
.hero > .container {
    position: relative !important;
    z-index: 10 !important;
}

/* Heading */
.hero h1 {
    position: relative;
    z-index: 11;
    color: #ffffff;

    font-size: clamp(2.8rem, 6vw, 5.3rem);
    font-weight: 900;
    line-height: .98;
    text-transform: uppercase;
}

/* Paragraph */
.hero .lead {
    position: relative;
    z-index: 11;

    max-width: 760px;
    font-size: 1.2rem;
    color: #ffffff;
}

/* Buttons */
.hero .btn {
    position: relative;
    z-index: 11;
}

/* Small heading */
.hero .eyebrow {
    position: relative;
    z-index: 11;
}

/* MOBILE */
@media (max-width: 991px) {

    .hero {
        min-height: 570px;
    }

    .hero-content {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media (max-width: 767px) {

    .hero-video-overlay {
        background: rgba(3, 28, 54, 0.72);
    }

    .hero h1 {
        font-size: 3rem;
    }
}

/* ==========================================
   PARTNER / DIVING RESOURCES SLIDER
========================================== */

.partner-section {
    background: #ffffff;
    overflow: hidden;
}

.partner-slider {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
}

.partner-slider .swiper-wrapper {
    align-items: center;
}

.partner-slider .swiper-slide {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partner-slider .slide-item {
    width: 100%;
    height: 110px;

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

    padding: 15px;
}

.partner-slider .slide-item img {
    display: block;

    max-width: 100%;
    max-height: 85px;

    width: auto;
    height: auto;

    object-fit: contain;

    transition: transform 0.3s ease,
                opacity 0.3s ease;
}

.partner-slider .slide-item:hover img {
    transform: scale(1.08);
}

html {
    scroll-behavior: smooth;
}

#video-library {
    scroll-margin-top: 100px;
}

