@import url('https://fonts.googleapis.com/css2?family=Rubik+Glitch&display=swap');

#homepage-wrapper {
    --orange: #f26322;
    --orange-dark: #d94a12;
    --ink: #182329;
    --dark: #203037;
    --dark-2: #151d21;
    --slate: #556872;
    --text: #70777b;
    --white: #ffffff;
    --max: 1540px;
    width: 100%;
    overflow: hidden;
    font-family: Poppins, Arial, sans-serif;
    color: var(--text);
    line-height: 1.65;
}

#homepage-wrapper *,
#homepage-wrapper *::before,
#homepage-wrapper *::after { box-sizing: border-box; }

#homepage-wrapper img { display: block; max-width: 100%; }
#homepage-wrapper a { color: inherit; text-decoration: none; }
#homepage-wrapper .container { width: min(91%, var(--max)); margin-inline: auto; }
#homepage-wrapper .narrow { width: min(1100px, 91%); margin-inline: auto; text-align: center; }
#homepage-wrapper .rubik { font-family: "Rubik Glitch", system-ui; font-weight: 400; font-style: normal; }

/* BUTTON */
#homepage-wrapper .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 34px;
    border: 2px solid var(--orange);
    background: var(--orange);
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
#homepage-wrapper .btn:hover {
    background: #fff;
    border-color: #fff;
    color: var(--orange) !important;
    transform: translateY(-2px);
}

/* HERO */
#homepage-wrapper .hero {
    position: relative;
    min-height: 660px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #121c20;
    color: #fff;
    text-align: center;
}
#homepage-wrapper .hero-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
}
#homepage-wrapper .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(8,12,14,.10) 0%, rgba(8,12,14,.15) 35%, rgba(12,20,24,.48) 72%, rgba(25,39,45,.95) 100%);
    pointer-events: none;
}
#homepage-wrapper .hero-copy {
    position: relative;
    z-index: 2;
    width: min(1080px, 88%);
    padding: 145px 0 100px;
    text-shadow: 0 3px 10px rgba(0,0,0,.7);
}
#homepage-wrapper .hero .eyebrow {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 4vw, 56px);
    font-weight: 900;
    font-style: italic;
    line-height: .95;
    text-transform: uppercase;
}
#homepage-wrapper .hero h1 {
    margin: 5px 0 24px;
    color: var(--orange);
    font-size: clamp(29px, 3.5vw, 50px);
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    text-transform: uppercase;
}
#homepage-wrapper .hero-copy > p:last-child {
    width: min(850px, 100%);
    margin: 0 auto;
    color: rgba(255,255,255,.96);
    font-size: clamp(13px, 1.15vw, 18px);
    line-height: 1.5;
}

/* PACKAGE SECTION */
#homepage-wrapper .dark-section {
    position: relative;
    width: 100%;
    padding: 0 0 40px;
    background: #20333a;
}
#homepage-wrapper .package-wrap { width: 100%; margin: 0; padding: 0 2.2%; }
#homepage-wrapper .package-grid {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 2.7vw, 48px);
    width: 100%;
    margin-top: -60px;
}
#homepage-wrapper .package {
    position: relative;
    width: 100%;
    aspect-ratio: 0.77 / 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: clamp(28px, 2.5vw, 50px) clamp(24px, 2.2vw, 42px) clamp(24px, 2.2vw, 38px);
    border: 4px solid #696d6d;
    border-radius: 22px;
    background-color: #131a1e;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: inset 0 0 0 6px rgba(80,87,89,.14), 0 8px 12px rgba(0,0,0,.25);
    color: #fff;
}
#homepage-wrapper .package::before { display: none; }
#homepage-wrapper .package > * { position: relative; z-index: 2; }
#homepage-wrapper .p1 { background-image: url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/quick-fix.png'); }
#homepage-wrapper .p2 { background-image: url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/hat-trick.png'); }
#homepage-wrapper .p3 { background-image: url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/touch-down.png'); }

#homepage-wrapper .package-title {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 0 0 22px;
    color: #fff;
    line-height: .82;
    text-align: right;
    text-transform: uppercase;
}
#homepage-wrapper .package-title-main {
    display: block;
    font-size: clamp(48px, 4.8vw, 88px);
    font-weight: 900;
    font-style: italic;
    letter-spacing: -.035em;
}
#homepage-wrapper .package-title-sub {
    display: block;
    margin-top: 5px;
    font-size: clamp(37px, 3.8vw, 69px);
    font-weight: 300;
    font-style: normal;
    letter-spacing: -.04em;
}
#homepage-wrapper .package-price {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 4px;
    margin: 4px 0 0;
    color: #fff;
    font-size: clamp(58px, 6vw, 100px);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.04em;
}
#homepage-wrapper .package-price .currency {
    position: relative;
    top: 8px;
    color: var(--orange);
    font-size: .48em;
    font-weight: 800;
    line-height: 1;
}
#homepage-wrapper .package-details { width: 100%; margin-top: auto; margin-bottom: clamp(22px, 2.5vw, 38px); }
#homepage-wrapper .package-detail {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin: 7px 0;
    color: #fff;
    font-size: clamp(14px, 1.4vw, 23px);
    font-weight: 700;
    letter-spacing: .06em;
    text-align: right;
    text-transform: uppercase;
}
#homepage-wrapper .package-detail .icon-row { display: inline-flex; align-items: center; gap: 3px; min-width: 54px; }
#homepage-wrapper .gun-icon { width: clamp(24px, 1.8vw, 32px); height: auto; object-fit: contain; }
#homepage-wrapper .bullet-icon { width: clamp(8px, .72vw, 13px); height: auto; object-fit: contain; }
#homepage-wrapper .package .btn { width: 100%; min-height: clamp(52px, 4vw, 72px); font-size: clamp(12px, .95vw, 18px); }

#homepage-wrapper .review-line {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 44px 0 0;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}
#homepage-wrapper .review-dot { color: var(--orange); }
#homepage-wrapper .review-source { font-size: 18px; font-weight: 500; }

/* INTRO */
#homepage-wrapper .intro { padding: 100px 0 82px; background: #fff; }
#homepage-wrapper .intro h2 {
    margin: 0 0 25px;
    color: #737373;
    font-size: clamp(32px, 3.5vw, 58px);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}
#homepage-wrapper .intro h2 span { color: var(--orange); }
#homepage-wrapper .intro .narrow p { max-width: 1050px; margin: 0 auto; font-size: 15px; line-height: 1.7; }

/* EXPERIENCE CARDS */
#homepage-wrapper .experience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 680px));
    justify-content: center;
    gap: 16px;
    width: 100%;
    max-width: 2072px;
    margin: 55px auto 0;
    padding: 0 16px;
}
#homepage-wrapper .experience-card {
    position: relative;
    width: 100%;
    max-width: 680px;
    height: 570px;
    perspective: 1200px;
    isolation: isolate;
}
#homepage-wrapper .experience-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform: rotateY(0deg);
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: transform .75s cubic-bezier(.22,1,.36,1);
    will-change: transform;
}
@media (hover:hover) and (pointer:fine) {
    #homepage-wrapper .experience-card:hover .experience-card-inner { transform: rotateY(180deg); }
}
#homepage-wrapper .experience-card-face {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 2px solid #aaa79d;
    border-radius: 14px;
    background: #000;
    isolation: isolate;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.15);
}
#homepage-wrapper .experience-card-front {
    z-index: 2;
    transform: rotateY(0deg) translateZ(1px);
    -webkit-transform: rotateY(0deg) translateZ(1px);
}
#homepage-wrapper .experience-image-stack {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#homepage-wrapper .experience-background {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #000;
    background-image: var(--background-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    filter: brightness(.78) contrast(1.02);
    transform: scale(1.01);
}
#homepage-wrapper .experience-card-front .experience-orange-band {
    position: absolute;
    left: 0;
    top: var(--band-top,42%);
    z-index: 2;
    width: 100%;
    height: var(--band-height,28%);
    background: rgba(242,99,34,.52);
    mix-blend-mode: screen;
    pointer-events: none;
}
#homepage-wrapper .experience-subject {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background-image: var(--subject-image);
    background-repeat: no-repeat;
    background-position: var(--subject-position,center);
    background-size: var(--subject-size,cover);
    filter: none;
    opacity: 1;
    pointer-events: none;
}
#homepage-wrapper .experience-card-front::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.08) 30%, rgba(0,0,0,.02) 52%, rgba(0,0,0,.10) 72%, rgba(0,0,0,.44) 100%);
    pointer-events: none;
}
#homepage-wrapper .experience-card-front::after { display: none; }
#homepage-wrapper .experience-card-front h3 {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: clamp(24px,3vw,44px) clamp(24px,3vw,46px) clamp(28px,3vw,44px);
    color: #fff;
    font-family: "Gotham Ultra", "Gotham", "Arial Black", Arial, sans-serif;
    font-size: clamp(31px, 3.1vw, 54px);
    font-weight: 900;
    font-style: italic;
    line-height: .92;
    letter-spacing: -.025em;
    text-transform: uppercase;
    text-shadow: 0 2px 3px rgba(0,0,0,.75), 0 4px 12px rgba(0,0,0,.45);
}
#homepage-wrapper .experience-card-front h3 span {
    display: block;
    width: 100%;
    color: rgba(255,255,255,.98);
    font-family: "Gotham", Arial, sans-serif;
    font-size: clamp(16px,1.55vw,26px);
    font-weight: 400;
    font-style: normal;
    line-height: 1.1;
    letter-spacing: -.01em;
    text-align: center;
    text-shadow: 0 2px 3px rgba(0,0,0,.72), 0 3px 9px rgba(0,0,0,.42);
}
#homepage-wrapper .experience-card-back {
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: var(--orange);
    background: #0c0d0e;
    transform: rotateY(180deg) translateZ(1px);
    -webkit-transform: rotateY(180deg) translateZ(1px);
}
#homepage-wrapper .experience-card-back .experience-image-stack {
    transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    opacity: .58;
}
#homepage-wrapper .experience-card-back .experience-background {
    filter: brightness(.66) contrast(1.03);
}
#homepage-wrapper .experience-card-back .experience-subject { filter: none; }
#homepage-wrapper .experience-card-back::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(8,10,11,.45) 0%, rgba(8,10,11,.38) 45%, rgba(8,10,11,.55) 100%);
    pointer-events: none;
}
#homepage-wrapper .experience-card-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(22px,2.4vw,34px);
    width: 100%;
    padding: clamp(30px,4vw,64px);
    color: #fff;
    text-align: center;
}
#homepage-wrapper .experience-card-content p {
    width: min(100%,500px);
    margin: 0;
    color: rgba(255,255,255,.98);
    font-size: clamp(13px,1.15vw,19px);
    font-weight: 400;
    line-height: 1.6;
    text-shadow: 0 2px 4px rgba(0,0,0,.55);
}
#homepage-wrapper .experience-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%,300px);
    min-height: clamp(44px,4vw,58px);
    padding: 12px 24px;
    border: 2px solid var(--orange);
    background: var(--orange);
    color: #fff !important;
    font-size: clamp(12px,1vw,16px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
#homepage-wrapper .experience-button:hover {
    background: #fff;
    border-color: #fff;
    color: var(--orange) !important;
    transform: translateY(-2px);
}

/* MID CTA */
#homepage-wrapper .cta-band {
    position: relative;
    min-height: 185px;
    display: flex;
    align-items: center;
    padding: 20px 0;
    background-image: url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/mid-banner.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
}
#homepage-wrapper .cta-band .container {
    min-height: 145px;
    display: grid;
    grid-template-columns: 1.25fr .8fr .55fr;
    align-items: center;
    gap: 30px;
}
#homepage-wrapper .cta-band-spacer { min-height: 1px; }
#homepage-wrapper .cta-band h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(25px,2.5vw,39px);
    font-weight: 400;
    line-height: 1.08;
    text-transform: uppercase;
}
#homepage-wrapper .cta-band h2 span { display: block; color: var(--orange); font-weight: 800; }
#homepage-wrapper .cta-logo { text-align: center; }
#homepage-wrapper .cta-logo img { width: 190px; margin: 0 auto 10px; }

/* FEATURES */
#homepage-wrapper .features { padding: 95px 0; background: #fff; }
#homepage-wrapper .features-heading { text-align: center; }
#homepage-wrapper .features h2 {
    margin: 0 0 18px;
    color: #777;
    font-size: clamp(32px,3.4vw,55px);
    font-weight: 400;
    line-height: 1.05;
    text-align: center;
    text-transform: uppercase;
}
#homepage-wrapper .features h2 span { color: var(--orange); }
#homepage-wrapper .features .lead { max-width: 1100px; margin: 0 auto 10px; font-size: 15px; line-height: 1.7; text-align: center; }
#homepage-wrapper .features-subline { margin: 0; font-size: 14px; text-align: center; }
#homepage-wrapper .feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 55px; }
#homepage-wrapper .feature-grid article { overflow: hidden; padding: 0 34px 38px; border: 1px solid #e1e4e5; background: #eef1f2; text-align: center; }
#homepage-wrapper .feature-grid h3 { margin: 0 -34px; padding: 18px 10px 4px; background: var(--orange); color: #fff; font-size: 24px; font-weight: 800; line-height: 1; text-transform: uppercase; }
#homepage-wrapper .feature-grid small { display: block; margin: 0 -34px 25px; padding: 4px 10px 14px; background: var(--orange); color: #fff; font-size: 10px; font-weight: 600; text-transform: uppercase; }
#homepage-wrapper .feature-grid p { margin: 0; font-size: 14px; line-height: 1.7; }

/* HOTEL PICKUP */
#homepage-wrapper .pickup-section {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: 55px;
    width: min(91%,1500px);
    margin: 0 auto;
    padding: 90px 0;
}
#homepage-wrapper .pickup-media { position: relative; overflow: hidden; }
#homepage-wrapper .pickup-media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
#homepage-wrapper .youtube-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 78px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f00;
    color: #fff;
    font-size: 29px;
    transform: translate(-50%,-50%);
}
#homepage-wrapper .pickup-copy h2,
#homepage-wrapper .groups-copy h2 {
    margin: 0 0 22px;
    color: #777;
    font-size: clamp(32px,3.5vw,54px);
    font-weight: 400;
    line-height: 1.03;
    text-transform: uppercase;
}
#homepage-wrapper .pickup-copy h2 span,
#homepage-wrapper .groups-copy h2 span { display: block; color: var(--orange); font-weight: 800; }
#homepage-wrapper .pickup-copy p,
#homepage-wrapper .groups-copy p { font-size: 15px; line-height: 1.7; }

/* END BANNER */
#homepage-wrapper .end-banner {
    position: relative;
    width: 100vw;
    min-height: clamp(250px, 18vw, 360px);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    overflow: hidden;
    background-color: #151b1e;
    background-image: url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/banner-end-scaled.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#homepage-wrapper .end-banner-overlay {
    position: absolute;
    top: 50%;
    left: 63%;
    z-index: 3;
    width: clamp(230px, 23vw, 460px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    transform: translate(-50%, -50%);
    text-align: center;
}
#homepage-wrapper .end-banner-overlay .btn {
    width: 100%;
    min-height: clamp(54px, 5vw, 82px);
    padding: 14px 25px;
    background: var(--orange);
    border-color: var(--orange);
    color: #fff !important;
    font-size: clamp(12px, 1.1vw, 18px);
    font-weight: 800;
    white-space: nowrap;
}
#homepage-wrapper .end-banner-overlay small {
    display: block;
    color: #fff;
    font-size: clamp(10px, .95vw, 16px);
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 2px 5px rgba(0,0,0,.8);
}

/* GROUP EVENTS */
#homepage-wrapper .groups-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 65px;
    width: min(91%,1500px);
    margin: 0 auto;
    padding: 95px 0;
}
#homepage-wrapper .groups-media img { width: 100%; min-height: 470px; object-fit: cover; }

/* TESTIMONIALS */
#homepage-wrapper .testimonials {
    position: relative;
    padding: 80px 0;
    background-image:
        linear-gradient(rgba(55,80,89,.92), rgba(55,80,89,.92)),
        url('https://lasvegasshootingcenter.com/wp-content/uploads/2026/08/section-bg-scaled.jpg');
    background-position: center;
    background-size: cover;
    color: #fff;
    text-align: center;
    border-top: 6px solid var(--orange);
}
#homepage-wrapper .testimonials h2 { margin: 0 0 48px; color: #fff; font-size: clamp(31px,3vw,46px); font-weight: 400; text-transform: uppercase; }
#homepage-wrapper .quote-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
#homepage-wrapper .quote-grid blockquote {
    position: relative;
    min-height: 200px;
    margin: 0;
    padding: 42px 30px 26px;
    background: rgba(36,56,63,.78);
    border-bottom: 6px solid var(--orange);
    color: #fff;
    font-size: 16px;
    font-style: normal;
}
#homepage-wrapper .quote-grid blockquote::before {
    content: "“";
    position: absolute;
    top: -18px;
    left: 24px;
    color: rgba(255,255,255,.27);
    font-family: Georgia,serif;
    font-size: 90px;
    line-height: 1;
}
#homepage-wrapper .quote-grid cite { display: block; margin-top: 20px; color: #fff; font-size: 12px; font-weight: 700; font-style: normal; text-transform: uppercase; }
#homepage-wrapper .review-brand { color: var(--orange); font-weight: 500; }

/* LOCATION */
#homepage-wrapper .location-section { padding: 80px 0; background: #fff; }
#homepage-wrapper .location-grid { display: grid; grid-template-columns: 1.45fr .75fr; align-items: center; gap: 55px; }
#homepage-wrapper .location-map { overflow: hidden; border: 1px solid #ddd; }
#homepage-wrapper .location-map iframe { display: block; width: 100%; height: 310px; border: 0; }
#homepage-wrapper .location-info { text-align: center; }
#homepage-wrapper .location-info h3 { margin: 0 0 5px; color: #333; font-size: 18px; font-weight: 700; }
#homepage-wrapper .location-info p { margin: 0 0 25px; color: #333; font-size: 15px; font-weight: 600; }
#homepage-wrapper .location-info .btn { display: flex; width: 100%; margin: 10px 0; }

/* RESPONSIVE */
@media (max-width:1100px) {
    #homepage-wrapper .package-wrap { padding-inline: 2%; }
    #homepage-wrapper .package-grid { gap: 18px; }
    #homepage-wrapper .package { border-width: 3px; border-radius: 16px; padding: 28px 22px 24px; }
    #homepage-wrapper .experience-grid { grid-template-columns: repeat(2,minmax(0,680px)); }
    #homepage-wrapper .cta-band .container { grid-template-columns: 1fr 1fr; }
    #homepage-wrapper .cta-band-spacer { display: none; }
    #homepage-wrapper .end-banner-overlay { left: 62%; width: min(270px,26vw); }
}

@media (max-width:900px) {
    #homepage-wrapper .hero { min-height: 600px; }
    #homepage-wrapper .package-wrap { width: min(96%,600px); padding: 0; }
    #homepage-wrapper .package-grid { grid-template-columns: 1fr; gap: 30px; margin-top: -45px; }
    #homepage-wrapper .package { aspect-ratio: .82 / 1; max-width: 560px; margin-inline: auto; padding: 38px 32px 30px; }
    #homepage-wrapper .pickup-section,
    #homepage-wrapper .groups-section,
    #homepage-wrapper .location-grid { grid-template-columns: 1fr; }
    #homepage-wrapper .pickup-section,
    #homepage-wrapper .groups-section { gap: 35px; }
    #homepage-wrapper .groups-media { order: -1; }
}

@media (max-width:700px) {
    #homepage-wrapper .experience-grid { grid-template-columns: minmax(0,680px); gap: 20px; padding: 0 12px; }
    #homepage-wrapper .experience-card { height: auto; aspect-ratio: 680 / 580; }
    #homepage-wrapper .experience-card-inner { height: 100%; }
    #homepage-wrapper .experience-card-front h3 { padding: 24px 24px 27px; font-size: clamp(29px,9vw,45px); }
    #homepage-wrapper .experience-card-front h3 span { font-size: clamp(15px,4.5vw,23px); }
    #homepage-wrapper .experience-card-content { gap: 18px; padding: 28px; }
    #homepage-wrapper .experience-card-content p { font-size: 13px; line-height: 1.5; }
    #homepage-wrapper .experience-button { width: min(100%,220px); }
    #homepage-wrapper .cta-band { background-position: 25% center; }
    #homepage-wrapper .cta-band .container { grid-template-columns: 1fr; padding: 35px 0; text-align: center; }
    #homepage-wrapper .cta-band h2 { max-width: 450px; margin: auto; }
    #homepage-wrapper .cta-logo img { max-width: 160px; }
    #homepage-wrapper .end-banner { min-height: 260px; background-size: auto 100%; background-position: 50% center; }
    #homepage-wrapper .end-banner-overlay { top: 67%; left: 50%; width: min(88%,320px); }
    #homepage-wrapper .end-banner-overlay .btn { min-height: 48px; font-size: 11px; }
    #homepage-wrapper .end-banner-overlay small { font-size: 10px; }
}

@media (max-width:520px) {
    #homepage-wrapper .hero { min-height: 520px; }
    #homepage-wrapper .hero-copy { padding: 115px 0 80px; }
    #homepage-wrapper .hero .eyebrow { font-size: 28px; }
    #homepage-wrapper .hero h1 { font-size: 28px; }
    #homepage-wrapper .package { padding: 34px 24px 26px; }
    #homepage-wrapper .intro,
    #homepage-wrapper .features { padding: 65px 0; }
    #homepage-wrapper .pickup-section,
    #homepage-wrapper .groups-section { padding: 65px 0; }
    #homepage-wrapper .location-section { padding: 55px 0; }
}

@media (prefers-reduced-motion:reduce) {
    #homepage-wrapper .experience-card-inner,
    #homepage-wrapper .experience-button,
    #homepage-wrapper .btn { transition: none; }
    #homepage-wrapper .hero-video { display: none; }
    #homepage-wrapper .hero { background: #24353c; }
}
