/* =========================================================
   UofG Computing Society Merch Theme (Final)
   Gentle Monster-inspired editorial direction:
   monochrome gallery styling, cold navy-black depth, porcelain whites,
   restrained Glasgow gold accents, sharp spacing, glassy overlays.
   ========================================================= */

/* =========================================================
   Landing Page
   Dark Next Chapter-inspired colour scheme
   ========================================================= */

.landing-body {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 50% 42%, rgba(143, 185, 179, 0.10), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(243, 239, 228, 0.06), transparent 24%),
        linear-gradient(135deg, #06191c 0%, #020506 62%, #000000 100%);
    color: var(--ivory);
}

.landing-page {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.28) 0%,
            rgba(0, 0, 0, 0.12) 42%,
            rgba(0, 0, 0, 0.72) 100%
        );
}

/* Subtle editorial border */
.landing-page::before {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(243, 239, 228, 0.14);
    border-radius: 8px;
    pointer-events: none;
    z-index: 5;
}

/* Fine vertical texture, similar to Next Chapter transition */
.landing-page::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.018) 0,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px,
            transparent 8px
        );
    opacity: 0.18;
    pointer-events: none;
    z-index: 1;
}

.landing-header {
    position: relative;
    z-index: 10;
    padding: 55px 7%;
}

.landing-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: rgba(243, 239, 228, 0.88);
    text-decoration: none;
}

.landing-brand img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    background-color: rgba(243, 239, 228, 0.06);
    border: 1px solid rgba(243, 239, 228, 0.16);
    border-radius: 50%;
    padding: 7px;
}

.landing-brand span {
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    font-size: 13px;
    font-weight: 700;
    color: rgba(243, 239, 228, 0.82);
}

.landing-hero {
    min-height: calc(100vh - 150px);
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 60px;
    padding: 40px 8% 70px;
    position: relative;
    z-index: 2;
}

.landing-content {
    max-width: 760px;
    animation: landingFadeUp 1.1s ease both;
}

.landing-kicker {
    display: inline-block;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    font-weight: 700;
    color: rgba(216, 184, 174, 0.86);
    margin-bottom: 24px;
}

.landing-kicker::after {
    content: "";
    display: block;
    width: 76px;
    height: 1px;
    margin-top: 16px;
    background-color: rgba(216, 184, 174, 0.58);
}

.landing-title {
    max-width: 900px;
    font-size: clamp(54px, 7vw, 104px);
    line-height: 0.92;
    letter-spacing: -3.5px;
    font-weight: 500;
    margin-bottom: 24px;
    cursor: default;
    color: #f3efe4;
    text-shadow: 0 18px 60px rgba(0, 0, 0, 0.50);
}

.landing-secret {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    color: rgba(216, 184, 174, 0.86);
    transition:
        max-height 0.45s ease,
        opacity 0.45s ease,
        margin-bottom 0.45s ease;
}

.landing-title:hover + .landing-secret {
    max-height: 30px;
    opacity: 1;
    margin-bottom: 18px;
}

.landing-description {
    max-width: 620px;
    font-size: 19px;
    line-height: 1.75;
    color: rgba(243, 239, 228, 0.76);
    margin-bottom: 38px;
}

.landing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.button.landing-outline {
    border: 1px solid rgba(243, 239, 228, 0.42);
    color: rgba(243, 239, 228, 0.92);
    background-color: rgba(243, 239, 228, 0.03);
}

.button.landing-outline:hover {
    border-color: rgba(243, 239, 228, 0.72);
    background-color: rgba(243, 239, 228, 0.08);
}

/* Image card becomes darker and more cinematic */
.landing-image-card {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(243, 239, 228, 0.16);
    box-shadow: 0 34px 95px rgba(0, 0, 0, 0.46);
    background-color: rgba(2, 5, 6, 0.68);
    animation: landingImageFloat 1.2s ease both;
}

.landing-image-card::after {
    content: "Limited Preview";
    position: absolute;
    left: 24px;
    bottom: 24px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 700;
    color: rgba(243, 239, 228, 0.92);
    background-color: rgba(2, 5, 6, 0.66);
    border: 1px solid rgba(243, 239, 228, 0.20);
    border-radius: 999px;
    padding: 10px 16px;
    backdrop-filter: blur(12px);
}

.landing-image-card img {
    width: 100%;
    height: 680px;
    display: block;
    object-fit: cover;
    object-position: center top;
    filter:
        brightness(0.64)
        grayscale(0.05)
        saturate(0.78)
        contrast(1.08);
    transition:
        transform 0.7s ease,
        filter 0.7s ease;
}

.landing-image-card:hover img {
    transform: scale(1.035);
    filter:
        brightness(0.78)
        grayscale(0)
        saturate(0.90)
        contrast(1.1);
}

/* Orbit changed from gold to muted ivory/blush */
.landing-orbit {
    position: absolute;
    width: 480px;
    height: 480px;
    right: 7%;
    top: 18%;
    border-radius: 50%;
    border: 1px solid rgba(243, 239, 228, 0.12);
    animation: slowSpin 18s linear infinite;
    pointer-events: none;
}

.landing-orbit::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    top: 44px;
    left: 82px;
    border-radius: 50%;
    background-color: rgba(216, 184, 174, 0.86);
    box-shadow: 0 0 32px rgba(216, 184, 174, 0.72);
}

/* =========================================================
   Contact Page
   ========================================================= */

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    max-width: 1100px;
    margin: 0 auto;
}

.contact-card {
    background-color: rgba(251, 250, 247, 0.72);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 38px;
    box-shadow: 0 24px 70px rgba(8, 11, 18, 0.10);
}

.contact-card h2 {
    font-size: 36px;
    line-height: 1.1;
    margin-bottom: 18px;
    font-weight: 500;
    color: var(--ink);
}

.contact-card h3 {
    margin-top: 26px;
    margin-bottom: 6px;
    color: var(--ink);
    font-size: 15px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.contact-card p,
.contact-card li {
    color: var(--muted-text);
    font-size: 17px;
}

.contact-card a {
    color: var(--gold-dark);
    font-weight: 700;
    word-break: break-word;
}

.contact-card a:hover {
    color: var(--gold);
}

.contact-info-list {
    margin-top: 26px;
}

/* FAQ Section */
.faq-section {
    max-width: 1100px;
    margin: 54px auto 0;
}

.faq-section h2 {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 28px;
    font-weight: 500;
    color: var(--ink);
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.faq-item {
    background-color: rgba(251, 250, 247, 0.72);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 28px;
    box-shadow: 0 18px 48px rgba(8, 11, 18, 0.08);
}

.faq-item h3 {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 10px;
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.faq-item p {
    color: var(--muted-text);
    font-size: 16px;
}

.support-list {
    margin-left: 20px;
    margin-bottom: 30px;
}

.support-list li {
    margin-bottom: 10px;
}

.landing-footer {
    position: relative;
    z-index: 10;
    padding: 0 7% 34px;
    display: flex;
    justify-content: space-between;
    color: rgba(251, 250, 247, 0.52);
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 11px;
}

/* Animations */
@keyframes landingFadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes landingImageFloat {
    from {
        opacity: 0;
        transform: translateY(36px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes slowSpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Landing Responsive */
@media (max-width: 1000px) {
    .landing-hero {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .landing-image-card img {
        height: auto;
    }

    .landing-orbit {
        right: -120px;
        top: 18%;
    }

    .contact-layout {
    grid-template-columns: 1fr;
    }
}

/* Page Enter Animation */
.page-transition {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background:
        radial-gradient(circle at center, rgba(191, 163, 106, 0.26), transparent 34%),
        linear-gradient(135deg, #101827 0%, #080b12 58%, #05070b 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.65s ease, visibility 0.65s ease;
}

.page-transition.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.transition-content {
    text-align: center;
    color: var(--ivory);
    transform: translateY(14px);
    opacity: 0;
    transition:
        transform 0.65s ease 0.12s,
        opacity 0.65s ease 0.12s;
}

.page-transition.active .transition-content,
.catalogue-reveal.active .transition-content {
    transform: translateY(0);
    opacity: 1;
}

.transition-content p {
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--gold-soft);
    margin-bottom: 18px;
}

.transition-content span {
    display: block;
    width: 140px;
    height: 1px;
    margin: 0 auto;
    background-color: rgba(251, 250, 247, 0.45);
    position: relative;
    overflow: hidden;
}

.transition-content span::after {
    content: "";
    position: absolute;
    top: 0;
    left: -45%;
    width: 45%;
    height: 100%;
    background-color: var(--gold);
    animation: loadingLine 2.0s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

/* Catalogue reveal overlay */
.catalogue-reveal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background:
        radial-gradient(circle at center, rgba(191, 163, 106, 0.26), transparent 34%),
        linear-gradient(135deg, #101827 0%, #080b12 58%, #05070b 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: opacity 1s ease;
}

.catalogue-reveal.fade-out {
    opacity: 0;
}

.catalogue-reveal.fade-out {
    opacity: 0;
    visibility: hidden;
}

@keyframes loadingLine {
    0% {
        left: -45%;
    }

    60% {
        left: 42%;
    }

    100% {
        left: 105%;
    }
}

@media (max-width: 768px) {
    .landing-page::before {
        inset: 14px;
        border-radius: 6px;
    }

    .landing-header {
        padding: 26px 7%;
    }

    .landing-brand span {
        font-size: 11px;
        line-height: 1.4;
    }

    .landing-brand img {
        width: 46px;
        height: 46px;
    }

    .landing-hero {
        padding: 42px 7% 56px;
    }

    .landing-title {
        font-size: clamp(44px, 13vw, 72px);
        letter-spacing: -2px;
    }

    .landing-description {
        font-size: 17px;
    }

    .landing-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .landing-footer {
        flex-direction: column;
        gap: 8px;
    }

    .landing-orbit {
        display: none;
    }

    .contact-card {
    padding: 26px;
    }

    .contact-card h2 {
    font-size: 30px;
    }

    .faq-grid {
    grid-template-columns: 1fr;
    }

    .faq-section h2 {
    font-size: 34px;
    }

    .faq-item {
    padding: 24px;
    }

        .display-image-grid {
        grid-template-columns: 1fr;
    }

    .display-image-grid img {
        height: auto;
    }
}

/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --cream: #f4f1ea;
    --ivory: #fbfaf7;
    --porcelain: #f7f7f4;
    --soft-grey: #e5e2dc;
    --gold: #bfa36a;
    --gold-soft: #d6c08b;
    --gold-dark: #8f7541;
    --midnight: #080b12;
    --navy: #101827;
    --ink: #0b0d10;
    --charcoal: #191c21;
    --smoke: #6f747c;
    --muted-text: #6f747c;
    --border: rgba(11, 13, 16, 0.12);
    --border-light: rgba(251, 250, 247, 0.18);
    --shadow: 0 34px 90px rgba(8, 11, 18, 0.16);
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Georgia, "Times New Roman", serif;
    background:
        radial-gradient(circle at 82% 12%, rgba(191, 163, 106, 0.08), transparent 26%),
        linear-gradient(180deg, var(--porcelain), var(--cream));
    color: var(--ink);
    line-height: 1.6;
}

/* Links */
a {
    text-decoration: none;
    color: inherit;
}

/* Navbar */
.navbar {
    width: 100%;
    padding: 18px 7%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgba(251, 250, 247, 0.84);
    color: var(--ink);
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(22px);
}

.logo {
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    font-size: 13px;
}

.logo img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    background-color: var(--ink);
    padding: 6px;
    border-radius: 50%;
}

.logo a {
    color: var(--ink);
    text-decoration: none;
}

.logo a:hover {
    color: var(--gold);
}

nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

nav a {
    font-size: 13px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--charcoal);
    transition: color 0.3s ease, opacity 0.3s ease;
}

nav a:hover {
    color: var(--gold);
}

.nav-button {
    background-color: var(--gold);
    color: var(--ivory);
    padding: 11px 20px;
    border-radius: 999px;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(191, 163, 106, 0.24);
}

.nav-button:hover {
    color: var(--ivory);
    background-color: var(--gold-dark);
}

/* Hero */
.hero {
    min-height: 82vh;
    padding: 110px 8%;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 78% 24%, rgba(191, 163, 106, 0.26), transparent 30%),
        radial-gradient(circle at 18% 82%, rgba(251, 250, 247, 0.08), transparent 28%),
        linear-gradient(135deg, #101827 0%, #080b12 56%, #0b1020 100%);
    color: var(--ivory);
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(251, 250, 247, 0.04), transparent 45%),
        radial-gradient(circle at 70% 50%, rgba(251, 250, 247, 0.05), transparent 36%);
    pointer-events: none;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(251, 250, 247, 0.18);
    border-radius: 8px;
    pointer-events: none;
}

.hero-content {
    max-width: 780px;
    position: relative;
    z-index: 1;
    margin-left: 3%;
}

.tagline {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    margin-bottom: 28px;
    color: var(--gold-soft);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
}

.tagline::after {
    content: "";
    display: block;
    width: 72px;
    height: 1px;
    margin-top: 16px;
    background-color: rgba(216, 188, 135, 0.62);
}

.hero h1 {
    font-size: clamp(48px, 6.4vw, 86px);
    line-height: 0.94;
    margin-bottom: 30px;
    letter-spacing: -2.8px;
    font-weight: 500;
    max-width: 880px;
}

.hero p {
    max-width: 620px;
    font-size: 18px;
    line-height: 1.75;
    margin-bottom: 38px;
    color: rgba(251, 250, 247, 0.78);
}

.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.hero-side-note {
    position: absolute;
    right: 9%;
    bottom: 15%;
    z-index: 1;
    color: rgba(251, 250, 247, 0.62);
    text-align: right;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.6px;
}

.hero-side-note span {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    color: rgba(251, 250, 247, 0.78);
    margin-bottom: 8px;
}

.hero-side-note p {
    font-size: 11px;
    margin: 0;
}

/* Buttons */
.button {
    display: inline-block;
    padding: 13px 26px;
    border-radius: 999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.button.primary {
    background-color: var(--gold);
    color: var(--ivory);
    border: 1px solid var(--gold);
    box-shadow: 0 14px 30px rgba(191, 163, 106, 0.24);
}

.button.secondary {
    border: 1px solid rgba(251, 250, 247, 0.42);
    color: var(--ivory);
    background-color: rgba(251, 250, 247, 0.03);
}

.button.small {
    margin-top: 18px;
    background-color: var(--ink);
    color: var(--ivory);
    padding: 11px 18px;
    font-size: 12px;
}

.button:hover {
    transform: translateY(-3px);
}

.button.primary:hover,
.button.small:hover {
    background-color: var(--gold-dark);
    border-color: var(--gold-dark);
}

.button.secondary:hover {
    border-color: rgba(251, 250, 247, 0.7);
    background-color: rgba(251, 250, 247, 0.08);
}

/* =========================================================
   Editorial Cycling Carousel
   ========================================================= */

.display-section {
    padding: 96px 0;
    overflow: hidden;
    position: relative;
    background:
        linear-gradient(rgba(243, 239, 228, 0.82), rgba(243, 239, 228, 0.82)),
        radial-gradient(circle at 12% 8%, rgba(199, 160, 160, 0.20), transparent 22%),
        radial-gradient(circle at 82% 0%, rgba(15, 79, 79, 0.18), transparent 30%),
        linear-gradient(135deg, #e8e2d6 0%, #d6d0c5 100%);
}

.carousel-heading {
    max-width: 1180px;
    margin: 0 auto 42px;
    padding: 0 8%;
}

.carousel-heading p {
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 3.4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--campaign-teal);
    margin-bottom: 14px;
}

.carousel-heading h2 {
    max-width: 720px;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 0.96;
    letter-spacing: -1.8px;
    font-weight: 500;
    color: var(--campaign-ink);
    margin-bottom: 18px;
}

.carousel-heading span {
    display: block;
    max-width: 560px;
    font-size: 17px;
    line-height: 1.7;
    color: #68665f;
}

.display-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
}

/* Soft editorial fade on both sides */
.display-marquee::before,
.display-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    width: 18%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

.display-marquee::before {
    left: 0;
    background: linear-gradient(
        90deg,
        rgba(232, 226, 214, 1),
        rgba(232, 226, 214, 0)
    );
}

.display-marquee::after {
    right: 0;
    background: linear-gradient(
        270deg,
        rgba(232, 226, 214, 1),
        rgba(232, 226, 214, 0)
    );
}

.display-track {
    display: flex;
    align-items: center;
    gap: 34px;
    width: max-content;
    animation: displayMoveLeft 52s linear infinite;
    will-change: transform;
}

.display-track img {
    width: clamp(280px, 34vw, 520px);
    height: clamp(360px, 44vw, 640px);
    object-fit: cover;
    object-position: center;
    background-color: rgba(243, 239, 228, 0.82);
    border: 1px solid rgba(16, 16, 15, 0.14);
    box-shadow:
        0 34px 90px rgba(3, 27, 32, 0.18),
        inset 0 0 0 1px rgba(255, 255, 255, 0.16);
    filter: saturate(0.82) contrast(1.05) brightness(0.96);
    transition:
        transform 0.7s ease,
        filter 0.7s ease,
        box-shadow 0.7s ease;
}

.display-track img:hover {
    transform: scale(1.025);
    filter: saturate(1) contrast(1.08) brightness(1);
    box-shadow:
        0 42px 110px rgba(3, 27, 32, 0.28),
        inset 0 0 0 1px rgba(255, 255, 255, 0.20);
}

@keyframes displayMoveLeft {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 17px));
    }
}

@keyframes displayMoveLeft {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 17px));
    }
}

@keyframes displayMoveLeft {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 18px));
    }
}

/* Sections */
.section {
    padding: 86px 8%;
}

.section h2 {
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -1.8px;
    margin-bottom: 18px;
    font-weight: 500;
    color: var(--ink);
}

.section-description {
    margin-bottom: 50px;
    color: var(--muted-text);
    font-size: 18px;
    max-width: 620px;
}

.light-section {
    background:
        linear-gradient(180deg, rgba(216, 188, 135, 0.28), rgba(251, 250, 247, 0.78)),
        var(--soft-grey);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

/* Category Cards */
.category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 560px));
    justify-content: center;
    gap: 38px;
}

.category-card {
    background-color: rgba(251, 250, 247, 0.98);
    padding: 18px;
    border-radius: 4px;
    border: 1px solid var(--border);
    box-shadow: 0 24px 70px rgba(8, 11, 18, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    overflow: hidden;
    position: relative;
}

.category-card::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(191, 163, 106, 0.18);
    border-radius: 2px;
    pointer-events: none;
    z-index: 2;
}

.category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 34px 85px rgba(8, 11, 18, 0.18);
    border-color: rgba(191, 163, 106, 0.38);
}

.category-card img,
.product-card img {
    width: 100%;
    aspect-ratio: 4 / 5;
    height: auto;
    object-fit: cover;
    object-position: center top;
    border-radius: 2px;
    background-color: var(--soft-grey);
    margin-bottom: 24px;
    filter: grayscale(0.08) saturate(0.82) contrast(1.04);
}

/* Optional image focus helpers */
.image-focus-top {
    object-position: center 18% !important;
}

.image-focus-centre {
    object-position: center center !important;
}

.image-focus-left {
    object-position: left top !important;
}

.image-focus-right {
    object-position: right top !important;
}

.category-card h3 {
    font-size: 34px;
    line-height: 1.08;
    margin: 0 14px 12px;
    letter-spacing: -0.8px;
    font-weight: 500;
}

.category-card p {
    font-size: 16px;
    color: var(--muted-text);
    max-width: 88%;
    margin: 0 14px 20px;
}

/* Product Cards */
.product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 560px));
    justify-content: center;
    gap: 38px;
}

.product-card {
    background-color: rgba(251, 250, 247, 0.98);
    padding: 18px;
    border-radius: 4px;
    border: 1px solid var(--border);
    box-shadow: 0 24px 70px rgba(8, 11, 18, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    overflow: hidden;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 34px 85px rgba(8, 11, 18, 0.18);
    border-color: rgba(191, 163, 106, 0.38);
}

.product-card h3 {
    font-size: 30px;
    line-height: 1.12;
    margin: 0 10px 12px;
    letter-spacing: -0.6px;
    font-weight: 500;
}

.product-card p {
    font-size: 16px;
    color: var(--muted-text);
    margin-left: 10px;
    margin-right: 10px;
}

.price {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-top: 12px;
    color: var(--gold-dark) !important;
}

/* Page Header */
.page-header {
    padding: 88px 8%;
    background:
        radial-gradient(circle at 70% 20%, rgba(191, 163, 106, 0.26), transparent 30%),
        linear-gradient(135deg, #1a2d4d, var(--ink));
    color: var(--ivory);
    text-align: center;
    border-bottom: 1px solid var(--border);
}

.page-header h1 {
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.05;
    margin-bottom: 14px;
    letter-spacing: -1.5px;
    font-weight: 500;
}

.page-header p {
    color: rgba(251, 250, 247, 0.82);
    font-size: 17px;
}

/* Product Detail Page */
.product-detail {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 0.9fr);
    gap: 54px;
    align-items: start;
}

.product-images {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.product-images img {
    width: 100%;
    background-color: rgba(251, 250, 247, 0.98);
    border-radius: 4px;
    padding: 16px;
    object-fit: contain;
    object-position: center;
    border: 1px solid var(--border);
    box-shadow: 0 24px 70px rgba(8, 11, 18, 0.10);
}

.product-info {
    background: rgba(251, 250, 247, 0.72);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 34px;
    position: sticky;
    top: 105px;
}

.product-info h2 {
    font-size: 42px;
    line-height: 1.08;
    margin-bottom: 14px;
    letter-spacing: -1px;
    font-weight: 500;
}

.product-info h3 {
    margin-top: 30px;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 18px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product-info p {
    color: var(--muted-text);
    font-size: 17px;
}

.product-info ul {
    margin-left: 20px;
    margin-bottom: 30px;
    color: var(--muted-text);
}

.product-info li {
    margin-bottom: 8px;
    padding-left: 4px;
}

/* =========================================================
   About Page Editorial Upgrade
   ========================================================= */

.about-editorial-section {
    padding-top: 0;
    background:
        linear-gradient(rgba(243, 239, 228, 0.82), rgba(243, 239, 228, 0.82)),
        radial-gradient(circle at 15% 10%, rgba(199, 160, 160, 0.18), transparent 24%),
        radial-gradient(circle at 85% 5%, rgba(15, 79, 79, 0.16), transparent 30%),
        linear-gradient(135deg, #e8e2d6 0%, #d6d0c5 100%);
}

.about-editorial {
    max-width: 1080px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.about-block {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 34px;
    padding: 46px 52px;
    margin-bottom: 22px;
    background-color: rgba(243, 239, 228, 0.88);
    border: 1px solid rgba(16, 16, 15, 0.14);
    box-shadow: 0 34px 90px rgba(3, 27, 32, 0.16);
    position: relative;
    overflow: hidden;
}

.about-block::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(16, 16, 15, 0.06);
    pointer-events: none;
}

.about-number {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--campaign-teal);
    padding-top: 18px;
}

.about-block h2 {
    margin: 0 0 18px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 0.96;
    letter-spacing: -1.8px;
    color: var(--campaign-black);
}

.about-block p {
    max-width: 780px;
    font-size: 17px;
    line-height: 1.8;
    color: #68665f;
}

.about-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 26px;
}

.about-actions .button.outline {
    color: var(--campaign-black);
    border-color: rgba(16, 16, 15, 0.24);
    background-color: transparent;
}

.about-actions .button.outline:hover {
    color: var(--campaign-black);
    background-color: rgba(199, 160, 160, 0.18);
    border-color: var(--campaign-blush);
}

@media (max-width: 768px) {
    .about-block {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 34px 26px;
    }

    .about-number {
        padding-top: 0;
    }

    .about-block h2 {
        font-size: clamp(34px, 10vw, 52px);
    }

    .about-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Footer */
footer {
    padding: 32px 8%;
    background-color: var(--ink);
    color: rgba(251, 250, 247, 0.82);
    text-align: center;
    font-size: 14px;
    border-top: 5px solid var(--gold);
}

/* Product Action Buttons */
.product-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.button.outline {
    background-color: transparent;
    color: var(--gold-dark);
    border: 1px solid rgba(168, 132, 69, 0.48);
    box-shadow: none;
    cursor: pointer;
}

.button.outline:hover {
    background-color: rgba(191, 163, 106, 0.10);
    border-color: var(--gold);
    color: var(--gold-dark);
}

/* Size Chart Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 999;
    inset: 0;
    background-color: rgba(8, 11, 18, 0.68);
    backdrop-filter: blur(8px);
    padding: 40px 6%;
}

.modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-content {
    width: min(900px, 100%);
    max-height: 88vh;
    overflow-y: auto;
    background-color: var(--ivory);
    color: var(--ink);
    border-radius: 6px;
    border: 1px solid var(--border);
    box-shadow: 0 34px 90px rgba(8, 11, 18, 0.32);
    padding: 38px;
    position: relative;
}

.size-chart-modal {
    width: min(780px, 100%);
}

.modal-content h2 {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 10px;
    font-weight: 500;
}

.modal-note {
    color: var(--muted-text);
    margin-bottom: 26px;
}

.modal-close {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background-color: transparent;
    color: var(--ink);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.modal-close:hover {
    background-color: rgba(191, 163, 106, 0.10);
}

.size-chart-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
    border: 1px solid var(--border);
    background-color: white;
}

.size-list {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--muted-text);
}

.terms-modal {
    width: min(820px, 100%);
}

.terms-content h3 {
    margin-top: 26px;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 15px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.terms-content p {
    color: var(--muted-text);
    font-size: 16px;
    line-height: 1.7;
}

.terms-content h3:first-child {
    margin-top: 0;
}

@media (max-width: 600px) {
    .modal {
        padding: 24px 4%;
    }

    .modal-content {
        padding: 28px 20px;
    }

    .modal-content h2 {
        font-size: 32px;
    }

    .modal-close {
        top: 14px;
        right: 16px;
        width: 36px;
        height: 36px;
        font-size: 24px;
    }
}

/* Responsive Design */
@media (max-width: 1000px) {
    .category-grid,
    .product-grid,
    .product-detail {
        grid-template-columns: 1fr;
    }

    .category-card img,
    .product-card img {
        aspect-ratio: 4 / 5;
        height: auto;
        object-fit: cover;
        object-position: center top;
    }

    .product-info {
        position: static;
    }
}

@media (max-width: 768px) {
    .navbar {
        flex-direction: column;
        gap: 18px;
        padding: 18px 6%;
    }

    nav {
        flex-wrap: wrap;
        justify-content: center;
        gap: 14px;
    }

    .hero {
        min-height: auto;
        padding: 76px 7%;
    }

    .hero::after {
        inset: 14px;
        border-radius: 6px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-side-note {
        display: none;
    }

    .display-section {
        padding: 46px 6% 24px;
    }

    .display-image-wrapper {
        max-width: 100%;
        border-radius: 4px;
    }

    .display-image-wrapper img {
        width: 100%;
        height: auto;
    }

    .section {
        padding: 60px 6%;
    }

    .section-description {
        font-size: 16px;
        margin-bottom: 34px;
    }

    .category-card,
    .product-card {
        padding: 14px;
        border-radius: 4px;
    }

    .category-card img,
    .product-card img {
        aspect-ratio: 4 / 5;
        height: auto;
        object-fit: cover;
        object-position: center top;
        border-radius: 2px;
    }

    .category-card h3,
    .product-card h3 {
        font-size: 28px;
    }

    .product-info,
    .about-content {
        padding: 26px;
    }

    .product-images {
        grid-template-columns: 1fr;
    }
    
    .display-track {
    gap: 18px;
    animation-duration: 38s;
    }

    .display-track img {
    width: 280px;
    height: 380px;
    }
    
}

@media (max-width: 480px) {
    nav a {
        font-size: 12px;
    }

    .nav-button {
        padding: 8px 14px;
    }

    .display-section {
        padding: 34px 5% 20px;
    }

    .display-image-wrapper {
        border-radius: 3px;
    }

    .category-card img,
    .product-card img {
        aspect-ratio: 3 / 4;
        height: auto;
        object-fit: cover;
        object-position: center top;
    }

    .category-card p,
    .product-card p {
        max-width: 100%;
    }

    .product-images {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Gentle Monster-inspired Editorial Refinements
   ========================================================= */

::selection {
    background-color: var(--gold);
    color: var(--ink);
}

.navbar,
.category-card,
.product-card,
.product-info,
.about-content,
.contact-card,
.faq-item,
.modal-content {
    backdrop-filter: blur(18px);
}

.logo img,
.landing-brand img {
    border-radius: 2px;
    background-color: var(--ink);
}

.landing-title,
.hero h1,
.section h2,
.page-header h1 {
    text-transform: uppercase;
    letter-spacing: -2px;
}

nav a {
    position: relative;
}

nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 1px;
    background-color: var(--gold);
    transition: width 0.28s ease;
}

nav a:hover::after {
    width: 100%;
}

.nav-button::after {
    display: none;
}

.button.primary,
.nav-button {
    background-color: var(--ink);
    border-color: var(--ink);
    color: var(--ivory);
    box-shadow: none;
}

.button.primary:hover,
.nav-button:hover,
.button.small:hover {
    background-color: var(--gold);
    border-color: var(--gold);
    color: var(--ink);
}

.button.secondary,
.button.landing-outline {
    border-color: rgba(251, 250, 247, 0.38);
    background-color: rgba(251, 250, 247, 0.02);
}

.category-card::before {
    inset: 0;
    border-color: rgba(11, 13, 16, 0.05);
}

.category-card:hover,
.product-card:hover {
    border-color: rgba(11, 13, 16, 0.32);
}

.price {
    color: var(--ink) !important;
}

body {
    background:
        linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.025)),
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.08), transparent 18%),
        radial-gradient(circle at 80% 5%, rgba(0, 0, 0, 0.18), transparent 22%),
        linear-gradient(135deg, #111111 0%, #1a1a1a 45%, #0b0b0b 100%);
}

.light-section,
.section,
.display-section {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.72)),
        repeating-linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.025) 0,
            rgba(0, 0, 0, 0.025) 1px,
            transparent 1px,
            transparent 6px
        );
}

footer {
    background-color: #05070b;
    border-top: 1px solid rgba(191, 163, 106, 0.38);
}

/* =========================================================
   Cinematic Teal Editorial Theme Override
   Inspired by the Maison Margiela x Gentle Monster campaign:
   deep teal haze, black ink, ivory typography, muted blush accents,
   film grain, sharp luxury spacing.
   Place this at the END of your CSS file.
   ========================================================= */

:root {
    --campaign-teal: #0f4f4f;
    --campaign-teal-dark: #062f33;
    --campaign-teal-deep: #031b20;
    --campaign-aqua-mist: #8fb9b3;
    --campaign-blush: #c7a0a0;
    --campaign-blush-soft: #dfc3bb;
    --campaign-silver: #c9c9c1;
    --campaign-ivory: #f3efe4;
    --campaign-cream: #e7dfd1;
    --campaign-black: #050506;
    --campaign-ink: #10100f;
    --campaign-smoke: #85857d;

    --cream: var(--campaign-cream);
    --ivory: var(--campaign-ivory);
    --porcelain: #eee8dd;
    --soft-grey: #d3d0c8;
    --gold: var(--campaign-blush);
    --gold-soft: var(--campaign-blush-soft);
    --gold-dark: #8d6f6c;
    --midnight: var(--campaign-teal-deep);
    --navy: var(--campaign-teal-dark);
    --ink: var(--campaign-black);
    --charcoal: #171717;
    --smoke: var(--campaign-smoke);
    --muted-text: #77766f;
    --border: rgba(16, 16, 15, 0.16);
    --border-light: rgba(243, 239, 228, 0.20);
    --shadow: 0 36px 100px rgba(3, 27, 32, 0.22);
}

html {
    background-color: var(--campaign-teal-deep);
}

body {
    color: var(--campaign-ink);
    background:
        radial-gradient(circle at 12% 10%, rgba(199, 160, 160, 0.20), transparent 22%),
        radial-gradient(circle at 78% 12%, rgba(143, 185, 179, 0.28), transparent 28%),
        radial-gradient(circle at 62% 78%, rgba(3, 27, 32, 0.42), transparent 34%),
        linear-gradient(135deg, #0b3f42 0%, #062f33 36%, #031b20 100%);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99999;
    pointer-events: none;
    opacity: 0.13;
    background-image:
        repeating-radial-gradient(circle at 17% 23%, rgba(255, 255, 255, 0.22) 0 1px, transparent 1px 4px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 3px);
    mix-blend-mode: overlay;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99998;
    pointer-events: none;
    background:
        radial-gradient(circle at center, transparent 42%, rgba(0, 0, 0, 0.30) 100%);
}

.navbar {
    background-color: rgba(5, 5, 6, 0.76);
    color: var(--campaign-ivory);
    border-bottom: 1px solid rgba(243, 239, 228, 0.18);
    backdrop-filter: blur(24px) saturate(0.9);
}

.logo a,
nav a {
    color: rgba(243, 239, 228, 0.82);
}

.logo a:hover,
nav a:hover {
    color: var(--campaign-blush-soft);
}

nav a::after {
    background-color: var(--campaign-blush-soft);
}

.logo img,
.landing-brand img {
    background-color: rgba(243, 239, 228, 0.08);
    border: 1px solid rgba(243, 239, 228, 0.24);
}

.hero,
.landing-body,
.page-transition,
.catalogue-reveal {
    background:
        radial-gradient(circle at 22% 20%, rgba(199, 160, 160, 0.22), transparent 26%),
        radial-gradient(circle at 72% 18%, rgba(143, 185, 179, 0.38), transparent 32%),
        linear-gradient(135deg, #0b3f42 0%, #062f33 48%, #031b20 100%);
    color: var(--campaign-ivory);
}

.hero::before,
.landing-page::after {
    background:
        linear-gradient(90deg, rgba(243, 239, 228, 0.10), transparent 38%),
        radial-gradient(circle at 68% 48%, rgba(199, 160, 160, 0.14), transparent 36%);
}

.hero::after,
.landing-page::before {
    border-color: rgba(243, 239, 228, 0.22);
    border-radius: 0;
}

.tagline,
.landing-kicker,
.transition-content p,
.landing-secret {
    color: var(--campaign-blush-soft);
}

.tagline::after,
.landing-kicker::after,
.transition-content span::after {
    background-color: var(--campaign-blush-soft);
}

.hero h1,
.landing-title,
.page-header h1,
.section h2 {
    font-family: Georgia, "Times New Roman", serif;
    text-transform: none;
    letter-spacing: -1.6px;
    color: inherit;
}

.hero p,
.landing-description,
.hero-side-note,
.landing-footer {
    color: rgba(243, 239, 228, 0.74);
}

.button.primary,
.nav-button,
.button.small {
    background-color: var(--campaign-ivory);
    border-color: var(--campaign-ivory);
    color: var(--campaign-black);
    box-shadow: 0 18px 42px rgba(3, 27, 32, 0.34);
}

.button.primary:hover,
.nav-button:hover,
.button.small:hover {
    background-color: var(--campaign-blush-soft);
    border-color: var(--campaign-blush-soft);
    color: var(--campaign-black);
}

.button.secondary,
.button.landing-outline,
.button.outline {
    color: var(--campaign-ivory);
    border-color: rgba(243, 239, 228, 0.42);
    background-color: rgba(243, 239, 228, 0.04);
}

.button.secondary:hover,
.button.landing-outline:hover,
.button.outline:hover {
    background-color: rgba(199, 160, 160, 0.14);
    border-color: var(--campaign-blush-soft);
    color: var(--campaign-ivory);
}

.landing-image-card,
.display-image-wrapper,
.category-card,
.product-card,
.product-info,
.about-content,
.contact-card,
.faq-item,
.modal-content {
    border-radius: 0;
    border-color: rgba(243, 239, 228, 0.18);
    box-shadow: 0 42px 110px rgba(3, 27, 32, 0.28);
}

.landing-image-card {
    background-color: rgba(5, 5, 6, 0.46);
}

.landing-image-card::after {
    background-color: rgba(5, 5, 6, 0.58);
    color: var(--campaign-ivory);
    border-color: rgba(243, 239, 228, 0.25);
}

.landing-image-card img,
.display-image-wrapper img,
.category-card img,
.product-card img {
    border-radius: 0;
    filter: saturate(0.78) contrast(1.08) brightness(0.92);
}

.landing-image-card:hover img,
.category-card:hover img,
.product-card:hover img {
    filter: saturate(0.96) contrast(1.12) brightness(0.96);
}

.section,
.display-section,
.light-section {
    background:
        linear-gradient(rgba(243, 239, 228, 0.78), rgba(243, 239, 228, 0.78)),
        radial-gradient(circle at 12% 8%, rgba(199, 160, 160, 0.20), transparent 22%),
        radial-gradient(circle at 82% 0%, rgba(15, 79, 79, 0.18), transparent 30%),
        linear-gradient(135deg, #e8e2d6 0%, #d6d0c5 100%);
}

.category-card,
.product-card,
.product-info,
.about-content,
.contact-card,
.faq-item,
.modal-content {
    background-color: rgba(243, 239, 228, 0.86);
    color: var(--campaign-ink);
}

.category-card::before {
    border-color: rgba(5, 5, 6, 0.08);
    border-radius: 0;
}

.category-card:hover,
.product-card:hover {
    border-color: rgba(15, 79, 79, 0.42);
    box-shadow: 0 46px 120px rgba(3, 27, 32, 0.32);
}

.section-description,
.category-card p,
.product-card p,
.product-info p,
.about-content p,
.contact-card p,
.contact-card li,
.faq-item p,
.terms-content p,
.product-info ul,
.product-info li {
    color: #68665f;
}

.price,
.contact-card a {
    color: var(--campaign-teal) !important;
}

.contact-card a:hover {
    color: var(--campaign-blush) !important;
}

.page-header {
    background:
        radial-gradient(circle at 28% 12%, rgba(199, 160, 160, 0.22), transparent 26%),
        radial-gradient(circle at 74% 18%, rgba(143, 185, 179, 0.30), transparent 32%),
        linear-gradient(135deg, #0b3f42 0%, #031b20 100%);
    color: var(--campaign-ivory);
    border-bottom-color: rgba(243, 239, 228, 0.18);
}

.page-header p {
    color: rgba(243, 239, 228, 0.76);
}

.modal {
    background-color: rgba(3, 27, 32, 0.74);
}

.modal-close:hover {
    background-color: rgba(199, 160, 160, 0.16);
}

.landing-orbit {
    border-color: rgba(199, 160, 160, 0.22);
}

.landing-orbit::before {
    background-color: var(--campaign-blush-soft);
    box-shadow: 0 0 36px rgba(199, 160, 160, 0.88);
}

footer {
    background:
        linear-gradient(135deg, #031b20 0%, #050506 100%);
    color: rgba(243, 239, 228, 0.78);
    border-top: 1px solid rgba(199, 160, 160, 0.36);
}

::selection {
    background-color: var(--campaign-blush-soft);
    color: var(--campaign-black);
}

/* =========================================================
   Header White Contrast Override
   Makes the header text/logo area white while keeping the
   pre-order button in the campaign ivory style.
   Place this at the END of your CSS file.
   ========================================================= */

.navbar {
    background-color: rgba(5, 5, 6, 0.82);
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.logo a,
.logo,
nav a {
    color: #ffffff !important;
    opacity: 1;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.38);
}

.logo a:hover,
nav a:hover {
    color: var(--campaign-blush-soft) !important;
}

.logo img {
    background-color: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.38);
}

nav a::after {
    background-color: #ffffff;
}

/* Keep the pre-order button different */
.nav-button {
    background-color: var(--campaign-ivory) !important;
    border-color: var(--campaign-ivory) !important;
    color: var(--campaign-black) !important;
    text-shadow: none;
}

.nav-button:hover {
    background-color: var(--campaign-blush-soft) !important;
    border-color: var(--campaign-blush-soft) !important;
    color: var(--campaign-black) !important;
}

.hero {
    position: relative;
    overflow: hidden;
}

.hero-slideshow {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 1.4s ease, transform 6s ease;
}

.hero-slide.active {
    opacity: 1;
    transform: scale(1);
}

.hero::before {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.28)),
        rgba(0, 0, 0, 0.25);
}

.hero::after {
    z-index: 2;
}

.hero-content,
.hero-side-note {
    position: relative;
    z-index: 3;
}

.display-image-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1200px;
}

.display-image-grid img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
}

/* =========================================================
   Final Display Grid Fix
   Shows the two display images side by side without cropping.
   ========================================================= */

.display-image-wrapper.display-image-grid,
.display-image-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.logo img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    background: transparent;
    padding: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

.landing-brand img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    background: transparent;
    padding: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

@media (max-width: 768px) {
    .display-image-wrapper.display-image-grid,
    .display-image-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .display-image-grid img {
        height: auto;
    }

    .carousel-heading {
    margin-bottom: 30px;
    padding: 0 6%;
    }

    .carousel-heading h2 {
    font-size: clamp(36px, 11vw, 54px);
    }

    .carousel-heading span {
    font-size: 15px;
    }

    .display-track {
    gap: 18px;
    animation-duration: 38s;
    }

    .display-track img {
    width: 280px;
    height: 380px;
    }
}

/* =========================================================
   Final Unified Pre-order Button Style
   Keeps every pre-order button consistent across headers,
   product pages, and support/about pages.
   ========================================================= */

.nav-button,
.button.primary.preorder-style,
.product-actions .button.primary,
.about-content .button.primary,
.contact-card .button.primary {
    width: fit-content;
    min-width: auto;
    padding: 14px 38px;
    background-color: var(--campaign-ivory) !important;
    border: 1px solid var(--campaign-ivory) !important;
    border-radius: 999px;
    color: var(--campaign-black) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 18px 42px rgba(3, 27, 32, 0.34);
    text-shadow: none !important;
    white-space: nowrap;
}

.nav-button:hover,
.button.primary.preorder-style:hover,
.product-actions .button.primary:hover,
.about-content .button.primary:hover,
.contact-card .button.primary:hover {
    background-color: var(--campaign-blush-soft) !important;
    border-color: var(--campaign-blush-soft) !important;
    color: var(--campaign-black) !important;
    transform: translateY(-3px);
}

/* Header version: same style, slightly more compact so every page navbar stays neat */
.navbar .nav-button {
    padding: 12px 28px;
    font-size: 15px;
    letter-spacing: 2.4px;
}

/* Product/action version: fuller editorial pill */
.product-actions .button.primary,
.about-content .button.primary,
.contact-card .button.primary {
    padding: 14px 38px;
    font-size: 18px;
    letter-spacing: 3px;
}

/* Keep outline buttons visually paired with the pre-order pill */
.product-actions .button.outline {
    padding: 14px 32px;
    border-radius: 999px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1;
    text-transform: uppercase;
}

/* Mobile: prevent oversized header buttons */
@media (max-width: 768px) {
    .navbar .nav-button {
        padding: 10px 22px;
        font-size: 13px;
        letter-spacing: 2px;
    }

    .product-actions .button.primary,
    .product-actions .button.outline,
    .about-content .button.primary,
    .contact-card .button.primary {
        padding: 13px 28px;
        font-size: 15px;
        letter-spacing: 2.2px;
    }
}

/* =========================================================
   Product Editorial Card Upgrade
   Applies to T-shirt and jacket product information panels.
   ========================================================= */

.image-label {
    margin: 10px 0 -10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--campaign-teal);
}

.product-editorial-card {
    padding: 46px;
    background:
        linear-gradient(rgba(243, 239, 228, 0.92), rgba(243, 239, 228, 0.92)),
        radial-gradient(circle at 90% 10%, rgba(199, 160, 160, 0.18), transparent 30%);
    border: 1px solid rgba(16, 16, 15, 0.14);
    box-shadow: 0 42px 110px rgba(3, 27, 32, 0.20);
}

.product-kicker {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--campaign-teal) !important;
    margin-bottom: 18px;
}

.product-editorial-card h2 {
    max-width: 780px;
    font-size: clamp(48px, 5.5vw, 82px);
    line-height: 0.92;
    letter-spacing: -2.4px;
    margin-bottom: 24px;
    color: var(--campaign-black);
}

.product-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.product-price,
.product-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 9px 15px;
    border: 1px solid rgba(16, 16, 15, 0.16);
    border-radius: 999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.product-price {
    color: var(--campaign-teal);
    background-color: rgba(15, 79, 79, 0.08);
}

.product-status {
    color: var(--campaign-black);
    background-color: rgba(199, 160, 160, 0.16);
}

.product-description {
    max-width: 760px;
    font-size: 21px !important;
    line-height: 1.7;
    color: #68665f !important;
    margin-bottom: 42px;
}

.product-section {
    margin-top: 34px;
}

.product-section h3 {
    margin-bottom: 18px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--campaign-black);
}

.size-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.size-badges span {
    min-width: 56px;
    padding: 10px 16px;
    text-align: center;
    border: 1px solid rgba(16, 16, 15, 0.18);
    border-radius: 999px;
    background-color: rgba(243, 239, 228, 0.72);
    color: var(--campaign-black);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.detail-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(16, 16, 15, 0.14);
}

.detail-list div {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(16, 16, 15, 0.14);
}

.detail-list div:nth-child(odd) {
    padding-right: 22px;
}

.detail-list span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--campaign-teal);
}

.detail-list p {
    margin: 0;
    color: #68665f !important;
    font-size: 17px !important;
}

.product-disclaimer {
    margin-top: 36px;
    padding: 18px 20px;
    border-left: 3px solid var(--campaign-teal);
    background-color: rgba(15, 79, 79, 0.07);
    color: #56544f !important;
    font-size: 15px !important;
    font-style: italic;
}

.product-editorial-card .product-actions {
    margin-top: 28px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}

/* Keep editorial product buttons readable on light cards */
.product-editorial-card .button.outline {
    color: var(--campaign-black) !important;
    border-color: rgba(16, 16, 15, 0.24) !important;
    background-color: transparent !important;
}

.product-editorial-card .button.outline:hover {
    color: var(--campaign-black) !important;
    background-color: rgba(199, 160, 160, 0.18) !important;
    border-color: var(--campaign-blush) !important;
}

@media (max-width: 768px) {
    .product-editorial-card {
        padding: 32px 24px;
    }

    .product-editorial-card h2 {
        font-size: clamp(42px, 12vw, 62px);
    }

    .product-description {
        font-size: 18px !important;
    }

    .detail-list {
        grid-template-columns: 1fr;
    }

    .detail-list div:nth-child(odd) {
        padding-right: 0;
    }
}

/* =========================================================
   Product Page Viewport Fix
   Prevents right product information card from being cut off.
   ========================================================= */

.product-detail {
    grid-template-columns: minmax(360px, 0.95fr) minmax(360px, 0.85fr);
    gap: 42px;
    align-items: start;
}

/* Make the right product card fit within screen height */
.product-info,
.product-editorial-card {
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    scrollbar-width: thin;
}

/* Cleaner internal scroll for Chrome/Safari */
.product-info::-webkit-scrollbar,
.product-editorial-card::-webkit-scrollbar {
    width: 6px;
}

.product-info::-webkit-scrollbar-thumb,
.product-editorial-card::-webkit-scrollbar-thumb {
    background-color: rgba(15, 79, 79, 0.35);
    border-radius: 999px;
}

/* Compact the editorial product card */
.product-editorial-card {
    padding: 28px 34px;
}

/* Smaller title so it does not eat the whole panel */
.product-editorial-card h2 {
    font-size: clamp(38px, 4.2vw, 58px);
    line-height: 0.95;
    letter-spacing: -1.6px;
    margin-bottom: 16px;
}

/* Tighter spacing */
.product-kicker {
    margin-bottom: 8px;
    font-size: 10px !important;
    letter-spacing: 2.2px;
}

.product-meta-row {
    margin-bottom: 16px;
    gap: 8px;
}

.product-price,
.product-status {
    padding: 7px 12px;
    font-size: 10px;
    letter-spacing: 1.2px;
}

.product-description {
    font-size: 16px !important;
    line-height: 1.55;
    margin-bottom: 20px;
}

.product-section {
    margin-top: 18px;
}

.product-section h3 {
    margin-bottom: 10px;
    font-size: 11px;
    letter-spacing: 2px;
}

.size-badges {
    gap: 8px;
}

.size-badges span {
    min-width: 44px;
    padding: 7px 12px;
    font-size: 11px;
}

/* Make detail rows more compact */
.detail-list div {
    padding: 10px 0;
    gap: 10px;
}

.detail-list span {
    font-size: 10px;
}

.detail-list p {
    font-size: 14px !important;
    line-height: 1.35;
}

.colour-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.colour-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(16, 16, 15, 0.18);
    display: inline-block;
}

.white-dot {
    background-color: #ffffff;
}

.black-dot {
    background-color: #111111;
}

/* =========================================================
   Size Badge and Size Chart Spacing Fix
   ========================================================= */

.size-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.size-badges span {
    min-width: 58px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
}

.size-chart-row {
    margin-top: 4px;
}

.size-chart-inline {
    width: fit-content;
    padding: 12px 34px !important;
}

/* =========================================================
   Colour Swatch Dots
   Used for T-shirt and jacket colour options.
   ========================================================= */

.colour-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.colour-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(16, 16, 15, 0.18);
    display: inline-block;
}

.white-dot {
    background-color: #ffffff;
    border: 1.5px solid #bdb7ad;
}

.black-dot {
    background-color: #111111;
}

.navy-dot {
    background-color: #0f3da0;
}

.cream-dot {
    background-color: #f4eacefc;
    border: 1.5px solid #848383;
}

.red-dot {
    background-color: #7f1d1d;
}

/* Smaller disclaimer */
.product-disclaimer {
    margin-top: 18px;
    padding: 12px 14px;
    font-size: 13px !important;
    line-height: 1.45;
}

/* Tighter button row */
.product-editorial-card .product-actions {
    margin-top: 18px;
    gap: 10px;
}

.product-editorial-card .button.primary,
.product-editorial-card .button.outline {
    padding: 11px 24px;
    font-size: 13px;
    letter-spacing: 2px;
}

/* Product images look cleaner and less oversized */
.product-images img {
    padding: 10px;
}

/* =========================================================
   Embedded Pre-order Form Page
   ========================================================= */

.preorder-section {
    background:
        linear-gradient(rgba(243, 239, 228, 0.82), rgba(243, 239, 228, 0.82)),
        radial-gradient(circle at 15% 10%, rgba(199, 160, 160, 0.18), transparent 24%),
        radial-gradient(circle at 85% 5%, rgba(15, 79, 79, 0.16), transparent 30%),
        linear-gradient(135deg, #e8e2d6 0%, #d6d0c5 100%);
}

.preorder-embed-card {
    max-width: 1050px;
    margin: 0 auto;
    padding: 42px;
    background-color: rgba(243, 239, 228, 0.88);
    border: 1px solid rgba(16, 16, 15, 0.14);
    box-shadow: 0 34px 90px rgba(3, 27, 32, 0.16);
}

.preorder-embed-card h2 {
    font-size: clamp(42px, 5vw, 68px);
    line-height: 0.96;
    letter-spacing: -1.8px;
    color: var(--campaign-black);
    margin-bottom: 18px;
}

.preorder-embed-card p {
    max-width: 720px;
    color: #68665f;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 28px;
}

/* =========================================================
   Coming Soon Page
   ========================================================= */

.coming-soon-body {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 18% 16%, rgba(199, 160, 160, 0.24), transparent 24%),
        radial-gradient(circle at 78% 12%, rgba(143, 185, 179, 0.30), transparent 30%),
        radial-gradient(circle at 55% 82%, rgba(3, 27, 32, 0.55), transparent 34%),
        linear-gradient(135deg, #0b3f42 0%, #062f33 42%, #031b20 100%);
    color: var(--campaign-ivory);
}

.coming-soon-page {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
}

.coming-soon-page::before {
    content: "";
    position: absolute;
    inset: 30px;
    border: 1px solid rgba(243, 239, 228, 0.22);
    pointer-events: none;
    z-index: 4;
}

.coming-soon-page::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.035) 0,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px,
            transparent 7px
        );
    opacity: 0.35;
    pointer-events: none;
    z-index: 1;
}

.coming-soon-header {
    position: relative;
    z-index: 5;
    padding: 34px 7%;
}

.coming-soon-header .logo a,
.coming-soon-header .logo span {
    color: var(--campaign-ivory) !important;
}

.coming-soon-header .logo img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
}

.coming-soon-hero {
    min-height: calc(100vh - 180px);
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
    padding: 40px 8% 80px;
}

.coming-soon-content {
    max-width: 850px;
}

.coming-kicker {
    display: inline-block;
    margin-bottom: 26px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft);
}

.coming-kicker::after {
    content: "";
    display: block;
    width: 78px;
    height: 1px;
    margin-top: 16px;
    background-color: var(--campaign-blush-soft);
}

.coming-soon-content h1 {
    max-width: 900px;
    font-size: clamp(58px, 8vw, 116px);
    line-height: 0.9;
    letter-spacing: -3px;
    font-weight: 500;
    margin-bottom: 28px;
    color: var(--campaign-ivory);
}

.coming-soon-subtitle {
    max-width: 680px;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.25;
    margin-bottom: 20px;
    color: rgba(243, 239, 228, 0.92);
}

.coming-soon-description {
    max-width: 640px;
    font-size: 18px;
    line-height: 1.75;
    color: rgba(243, 239, 228, 0.72);
    margin-bottom: 38px;
}

.coming-soon-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.coming-outline {
    color: var(--campaign-ivory) !important;
    border-color: rgba(243, 239, 228, 0.42) !important;
    background-color: rgba(243, 239, 228, 0.04) !important;
}

.coming-outline:hover {
    background-color: rgba(199, 160, 160, 0.14) !important;
    border-color: var(--campaign-blush-soft) !important;
}

.coming-soon-card {
    justify-self: end;
    width: min(430px, 100%);
    min-height: 520px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background:
        linear-gradient(rgba(243, 239, 228, 0.08), rgba(243, 239, 228, 0.03)),
        rgba(5, 5, 6, 0.24);
    border: 1px solid rgba(243, 239, 228, 0.22);
    box-shadow: 0 46px 120px rgba(3, 27, 32, 0.40);
    backdrop-filter: blur(20px);
    position: relative;
    overflow: hidden;
}

.coming-soon-card::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(243, 239, 228, 0.12);
    pointer-events: none;
}

.coming-label {
    width: fit-content;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid rgba(243, 239, 228, 0.24);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft);
}

.coming-count {
    position: relative;
    z-index: 2;
}

.coming-count span {
    display: block;
    margin-bottom: 6px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    color: rgba(243, 239, 228, 0.62);
}

.coming-count strong {
    display: block;
    font-size: clamp(72px, 10vw, 130px);
    line-height: 0.9;
    letter-spacing: -4px;
    font-weight: 500;
    color: var(--campaign-ivory);
}

.coming-soon-card p {
    position: relative;
    z-index: 2;
    max-width: 280px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(243, 239, 228, 0.70);
}

.coming-soon-strip {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 0 7% 34px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.55);
}

/* =========================================================
   Dropdown Navigation
   Used for Collection and Info tabs.
   ========================================================= */

nav {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
}

.dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dropdown-toggle::before {
    content: none !important;
}

.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    background: none !important;
    position: static;
}

.dropdown-toggle:hover::after {
    width: 6px;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    min-width: 180px;
    padding: 12px 0;
    background: rgba(5, 16, 18, 0.96);
    border: 1px solid rgba(243, 239, 228, 0.14);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    gap: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    z-index: 999;
}

.dropdown-menu a {
    padding: 12px 18px;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.86) !important;
    white-space: nowrap;
}

.dropdown-menu a::after {
    display: none;
}

.dropdown-menu a:hover {
    background-color: rgba(243, 239, 228, 0.06);
    color: var(--campaign-blush-soft) !important;
}

.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =========================================================
   Coming Soon Product Showcase
   For sweater and socks preview cards.
   ========================================================= */

.coming-preview-section {
    position: relative;
    z-index: 3;
    padding: 90px 8%;
    background:
        linear-gradient(rgba(243, 239, 228, 0.82), rgba(243, 239, 228, 0.82)),
        radial-gradient(circle at 14% 12%, rgba(199, 160, 160, 0.18), transparent 24%),
        radial-gradient(circle at 86% 8%, rgba(15, 79, 79, 0.16), transparent 30%),
        linear-gradient(135deg, #e8e2d6 0%, #d6d0c5 100%);
}

.coming-preview-heading {
    max-width: 980px;
    margin-bottom: 46px;
}

.coming-preview-heading p {
    margin-bottom: 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3.4px;
    text-transform: uppercase;
    color: var(--campaign-teal);
}

.coming-preview-heading h2 {
    max-width: 760px;
    margin-bottom: 18px;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 0.96;
    letter-spacing: -1.8px;
    font-weight: 500;
    color: var(--campaign-black);
}

.coming-preview-heading span {
    display: block;
    max-width: 620px;
    font-size: 17px;
    line-height: 1.7;
    color: #68665f;
}

.coming-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 34px;
    max-width: 1180px;
    margin: 0 auto;
}

.coming-preview-card {
    background-color: rgba(243, 239, 228, 0.88);
    border: 1px solid rgba(16, 16, 15, 0.14);
    box-shadow: 0 34px 90px rgba(3, 27, 32, 0.16);
    overflow: hidden;
    position: relative;
}

.coming-preview-card::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(16, 16, 15, 0.06);
    pointer-events: none;
    z-index: 2;
}

.coming-preview-image {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background-color: #d6d0c5;
}

.coming-preview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.82) contrast(1.06) brightness(0.96);
    transition: transform 0.7s ease, filter 0.7s ease;
}

.coming-preview-card:hover .coming-preview-image img {
    transform: scale(1.035);
    filter: saturate(1) contrast(1.08) brightness(1);
}

.preview-status {
    position: absolute;
    top: 18px;
    left: 18px;
    padding: 9px 14px;
    border-radius: 999px;
    background-color: rgba(5, 5, 6, 0.68);
    color: var(--campaign-ivory);
    border: 1px solid rgba(243, 239, 228, 0.22);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.coming-preview-content {
    padding: 30px;
}

.preview-kicker {
    margin-bottom: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    color: var(--campaign-teal);
}

.coming-preview-content h3 {
    margin-bottom: 14px;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1;
    letter-spacing: -1.2px;
    font-weight: 500;
    color: var(--campaign-black);
}

.coming-preview-content p {
    max-width: 520px;
    margin-bottom: 22px;
    font-size: 16px;
    line-height: 1.7;
    color: #68665f;
}

.preview-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.preview-tags span {
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(16, 16, 15, 0.14);
    background-color: rgba(243, 239, 228, 0.70);
    color: var(--campaign-black);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .coming-preview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1000px) {
    .coming-soon-hero {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .coming-soon-card {
        justify-self: start;
        min-height: 380px;
    }
}

@media (max-width: 768px) {
    .coming-soon-page::before {
        inset: 14px;
    }

    .coming-soon-header {
        padding: 26px 7%;
    }

    .coming-soon-hero {
        padding: 44px 7% 62px;
    }

    .coming-soon-content h1 {
        font-size: clamp(46px, 14vw, 74px);
        letter-spacing: -2px;
    }

    .coming-soon-subtitle {
        font-size: 21px;
    }

    .coming-soon-description {
        font-size: 16px;
    }

    .coming-soon-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .coming-soon-card {
        width: 100%;
        min-height: 320px;
        padding: 28px;
    }

    .coming-soon-strip {
        flex-direction: column;
        gap: 8px;
        padding-bottom: 28px;
    }
    .dropdown {
        width: 100%;
    }

    .dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        margin-top: 10px;
        min-width: 100%;
        box-shadow: none;
        border: 1px solid rgba(243, 239, 228, 0.10);
    }

    .dropdown:hover .dropdown-menu {
        display: flex;
    }

    .coming-preview-section {
        padding: 64px 6%;
    }

    .coming-preview-content {
        padding: 24px;
    }

    .coming-preview-heading h2 {
        font-size: clamp(36px, 11vw, 54px);
    }    
}

.drop-notice {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 8%;
    background-color: var(--campaign-black);
    color: var(--campaign-ivory);
    border-top: 1px solid rgba(243, 239, 228, 0.18);
    border-bottom: 1px solid rgba(243, 239, 228, 0.18);
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
}

.drop-notice p {
    color: #f8f8f8;
}

.drop-notice span {
    color: rgba(211, 196, 155, 0.68);
}

@media (max-width: 768px) {
    .drop-notice {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .preorder-embed-card {
        padding: 28px 20px;
    }

    .form-embed-wrapper {
        height: 850px;
    }
}

/* Mobile/tablet: remove sticky so content flows naturally */
@media (max-width: 1000px) {
    .product-detail {
        grid-template-columns: 1fr;
    }

    .product-info,
    .product-editorial-card {
        position: static;
        max-height: none;
        overflow-y: visible;
    }
}

@media (max-width: 768px) {
    .product-editorial-card {
        padding: 26px 22px;
    }

    .product-editorial-card h2 {
        font-size: clamp(34px, 10vw, 50px);
    }

    .product-description {
        font-size: 15px !important;
    }

    .detail-list {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Category Image Hover Swap
   Switches product image on hover for category cards.
   ========================================================= */

.category-image-swap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background-color: var(--soft-grey);
    margin-bottom: 24px;
}

.category-image-swap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    margin: 0;
    border-radius: 0;
    transition:
        opacity 0.45s ease,
        transform 0.65s ease,
        filter 0.65s ease;
}

/* Override older category image rules that add margin/aspect ratio directly to img */
.category-card .category-image-swap img {
    aspect-ratio: auto;
    margin-bottom: 0;
}

.category-image-swap .default-image {
    opacity: 1;
    z-index: 1;
}

.category-image-swap .hover-image {
    opacity: 0;
    z-index: 2;
}

.category-card:hover .category-image-swap .default-image {
    opacity: 0;
    transform: scale(1.03);
}

.category-card:hover .category-image-swap .hover-image {
    opacity: 1;
    transform: scale(1.03);
}

/* Mobile: keep hover-swap cards stable */
@media (max-width: 768px) {
    .category-image-swap {
        aspect-ratio: 4 / 5;
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .category-image-swap {
        aspect-ratio: 3 / 4;
    }
}

/* =========================================================
   Final Dropdown + Header Stability Fix
   Fixes encoded dropdown symbols, keeps all existing features,
   and prevents the hover underline from interfering with arrows.
   ========================================================= */

nav {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
}

.dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Use a CSS-drawn arrow instead of a special character to avoid encoding issues */
.dropdown-toggle::after {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    width: 6px !important;
    height: 6px !important;
    margin-left: 8px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    background: none !important;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.dropdown:hover .dropdown-toggle::after {
    transform: rotate(45deg) translateY(1px);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 190px;
    padding: 12px 0;
    background: rgba(5, 16, 18, 0.96);
    border: 1px solid rgba(243, 239, 228, 0.14);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    gap: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    z-index: 1000;
}

/* Invisible bridge so the dropdown does not disappear while moving the mouse down */
.dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -14px;
    height: 14px;
}

.dropdown-menu a {
    padding: 12px 18px;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.86) !important;
    white-space: nowrap;
    text-shadow: none;
}

.dropdown-menu a::after {
    display: none !important;
}

.dropdown-menu a:hover {
    background-color: rgba(243, 239, 228, 0.06);
    color: var(--campaign-blush-soft) !important;
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 768px) {
    nav {
        justify-content: center;
        gap: 14px;
    }

    .dropdown {
        width: auto;
    }

    .dropdown-menu {
        top: calc(100% + 10px);
        left: 50%;
        transform: translate(-50%, 8px);
    }

    .dropdown:hover .dropdown-menu,
    .dropdown:focus-within .dropdown-menu {
        transform: translate(-50%, 0);
    }
}

/* =========================================================
   Colour Dot Visibility Fix
   Makes cream/white colour swatches visible on cream cards.
   ========================================================= */

.colour-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
    border: 2px solid rgba(16, 16, 15, 0.32);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.45),
        0 1px 4px rgba(0, 0, 0, 0.12);
}

.white-dot {
    background-color: #ffffff;
    border-color: rgba(16, 16, 15, 0.36);
}

.cream-dot {
    background-color: #e8decf;
    border-color: rgba(16, 16, 15, 0.38);
}

.black-dot {
    background-color: #111111;
    border-color: rgba(16, 16, 15, 0.55);
}

.navy-dot {
    background-color: #1450a8;
    border-color: rgba(16, 16, 15, 0.40);
}

.red-dot {
    background-color: #9b2424;
    border-color: rgba(16, 16, 15, 0.40);
}

/* =========================================================
   Smooth Catalogue Welcome Fade Reveal
   ========================================================= */

.catalogue-reveal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background:
        radial-gradient(circle at center, rgba(199, 160, 160, 0.28), transparent 34%),
        linear-gradient(135deg, #0b3f42 0%, #062f33 48%, #031b20 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition:
        opacity 1.2s ease,
        visibility 1.2s ease;
}

.catalogue-reveal .transition-content {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.9s ease,
        transform 0.9s ease;
}

.catalogue-reveal.fade-out {
    opacity: 0;
    visibility: hidden;
}

.catalogue-reveal.fade-out .transition-content {
    opacity: 0;
    transform: translateY(-14px);
}

/* =========================================================
   575 Anniversary Notice
   ========================================================= */

.anniversary-notice {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    padding: 14px 8%;
    background-color: rgba(5, 5, 6, 0.92);
    border-top: 1px solid rgba(243, 239, 228, 0.16);
    border-bottom: 1px solid rgba(243, 239, 228, 0.16);
    color: var(--campaign-ivory);
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2.2px;
    font-size: 11px;
}

.anniversary-notice p {
    font-weight: 700;
    color: var(--campaign-blush-soft);
}

.anniversary-notice span {
    color: rgb(251, 251, 251);
}

/* Underline anniversary announcement on hover */
.anniversary-notice a {
    position: relative;
    text-decoration: none;
}

.anniversary-notice a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background-color: var(--campaign-blush-soft);
    transition: width 0.3s ease;
}

.anniversary-notice a:hover::after {
    width: 100%;
}

@media (max-width: 768px) {
    .anniversary-notice {
        flex-direction: column;
        gap: 6px;
        text-align: center;
        padding: 14px 6%;
    }
}

.anniversary-notice p {
    color: #d0bd97;
}

/* =========================================================
   Minimal Mysterious Coming Soon Page
   Clean teaser page for upcoming collection preview.
   ========================================================= */

.minimalist-coming-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 74% 18%, rgba(143, 185, 179, 0.18), transparent 28%),
        radial-gradient(circle at 18% 84%, rgba(199, 160, 160, 0.10), transparent 24%),
        linear-gradient(135deg, #06191c 0%, #031114 48%, #020506 100%);
    color: var(--campaign-ivory);
    overflow-x: hidden;
}

.minimal-coming-page {
    min-height: 100vh;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.minimal-coming-page::before {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(243, 239, 228, 0.14);
    pointer-events: none;
    z-index: 5;
}

.minimal-coming-page::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.025), transparent 38%),
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 1px,
            transparent 1px,
            transparent 7px
        );
    opacity: 0.32;
    pointer-events: none;
    z-index: 1;
}

.minimal-coming-header {
    position: relative;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 34px 7%;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    font-size: 11px;
    font-weight: 700;
    color: rgba(243, 239, 228, 0.58);
}

.minimal-coming-header p {
    margin: 0;
}

.minimal-back-link {
    color: rgba(243, 239, 228, 0.68);
    text-decoration: none;
    transition: color 0.3s ease;
}

.minimal-back-link:hover {
    color: var(--campaign-blush-soft);
}

.minimal-coming-hero {
    position: relative;
    z-index: 4;
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.55fr);
    gap: 64px;
    align-items: center;
    padding: 60px 8% 80px;
}

.minimal-coming-content {
    max-width: 820px;
}

.minimal-kicker {
    margin-bottom: 24px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft);
}

.minimal-kicker::after {
    content: "";
    display: block;
    width: 72px;
    height: 1px;
    margin-top: 16px;
    background-color: rgba(223, 195, 187, 0.72);
}

.minimal-coming-content h1 {
    max-width: 820px;
    margin-bottom: 28px;
    font-size: clamp(58px, 8vw, 118px);
    line-height: 0.88;
    letter-spacing: -3.2px;
    font-weight: 500;
    color: var(--campaign-ivory);
}

.minimal-subtitle {
    max-width: 620px;
    margin-bottom: 18px;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.25;
    color: rgba(243, 239, 228, 0.88);
}

.minimal-description {
    max-width: 560px;
    margin-bottom: 38px;
    font-size: 17px;
    line-height: 1.75;
    color: rgba(243, 239, 228, 0.62);
}

.minimal-coming-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.minimal-coming-panel {
    justify-self: end;
    width: min(360px, 100%);
    min-height: 420px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid rgba(243, 239, 228, 0.16);
    background:
        linear-gradient(rgba(243, 239, 228, 0.035), rgba(243, 239, 228, 0.015)),
        rgba(255, 255, 255, 0.025);
    box-shadow: 0 44px 120px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(18px);
    position: relative;
}

.minimal-coming-panel::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(243, 239, 228, 0.09);
    pointer-events: none;
}

.minimal-coming-panel p {
    margin-bottom: 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    color: rgba(243, 239, 228, 0.54);
}

.minimal-coming-panel strong {
    display: block;
    margin-bottom: 24px;
    font-size: clamp(76px, 9vw, 124px);
    line-height: 0.86;
    letter-spacing: -4px;
    font-weight: 500;
    color: var(--campaign-ivory);
}

.minimal-coming-panel span {
    max-width: 220px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(243, 239, 228, 0.60);
}

.minimal-coming-footer {
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 0 7% 34px;
    background: transparent;
    border: none;
    color: rgba(243, 239, 228, 0.42);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.minimal-coming-footer p {
    margin: 0;
}

/* Use cleaner button sizing on the minimal coming page */
.minimal-coming-actions .button {
    padding: 13px 30px;
    font-size: 13px;
    letter-spacing: 2.2px;
}

.minimal-coming-actions .coming-outline {
    color: rgba(243, 239, 228, 0.86) !important;
    border-color: rgba(243, 239, 228, 0.30) !important;
    background-color: rgba(243, 239, 228, 0.03) !important;
}

.minimal-coming-actions .coming-outline:hover {
    color: var(--campaign-ivory) !important;
    border-color: var(--campaign-blush-soft) !important;
    background-color: rgba(199, 160, 160, 0.12) !important;
}

@media (max-width: 1000px) {
    .minimal-coming-hero {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .minimal-coming-panel {
        justify-self: start;
        min-height: 300px;
    }
}

@media (max-width: 768px) {
    .minimal-coming-page::before {
        inset: 14px;
    }

    .minimal-coming-header {
        padding: 26px 7%;
        gap: 16px;
    }

    .minimal-coming-hero {
        padding: 54px 7% 64px;
    }

    .minimal-coming-content h1 {
        font-size: clamp(48px, 14vw, 76px);
        letter-spacing: -2px;
    }

    .minimal-subtitle {
        font-size: 21px;
    }

    .minimal-description {
        font-size: 16px;
    }

    .minimal-coming-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .minimal-coming-panel {
        width: 100%;
        min-height: 260px;
        padding: 28px;
    }

    .minimal-coming-footer {
        flex-direction: column;
        gap: 8px;
        padding-bottom: 28px;
    }
}

/* =========================================================
   Logo Inspiration Block
   ========================================================= */

.logo-inspiration-block {
    background:
        linear-gradient(rgba(243, 239, 228, 0.90), rgba(243, 239, 228, 0.90)),
        radial-gradient(circle at 88% 12%, rgba(15, 79, 79, 0.12), transparent 28%);
}

.logo-inspiration-block h2 {
    color: var(--campaign-black);
}

.logo-inspiration-block p + p {
    margin-top: 16px;
}

/* =========================================================
   Logo Inspiration Showcase
   Displays the collection logo inside the About page.
   ========================================================= */

.logo-inspiration-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 34px;
    align-items: center;
}

.logo-showcase-box {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    background:
        radial-gradient(circle at center, rgba(243, 239, 228, 0.10), transparent 58%),
        linear-gradient(135deg, #06191c 0%, #031114 100%);
    border: 1px solid rgba(16, 16, 15, 0.16);
    box-shadow: 0 28px 72px rgba(3, 27, 32, 0.18);
}

.logo-showcase-box img {
    width: 130px;
    max-width: 100%;
    height: auto;
    display: block;
    filter: brightness(0) invert(1);
    opacity: 0.92;
}

.logo-inspiration-text p + p {
    margin-top: 16px;
}

@media (max-width: 768px) {
    .logo-inspiration-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .logo-showcase-box {
        min-height: 180px;
        padding: 28px;
    }

    .logo-showcase-box img {
        width: 110px;
    }
}

/* =========================================================
   Premium Logo Inspiration Section
   Refined editorial showcase for the collection mark.
   Add-on override only: preserves all existing website features.
   ========================================================= */

.premium-logo-block {
    background:
        linear-gradient(rgba(243, 239, 228, 0.92), rgba(243, 239, 228, 0.92)),
        radial-gradient(circle at 82% 18%, rgba(15, 79, 79, 0.10), transparent 30%);
}

.logo-story-kicker {
    margin-bottom: 14px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 3.4px;
    text-transform: uppercase;
    color: var(--campaign-teal) !important;
}

.premium-logo-block h2 {
    margin-bottom: 34px;
    font-size: clamp(44px, 5.8vw, 78px);
    line-height: 0.92;
    letter-spacing: -2px;
    color: var(--campaign-black);
}

.premium-logo-layout {
    display: grid;
    grid-template-columns: minmax(220px, 340px) 1fr;
    gap: 54px;
    align-items: center;
}

.premium-logo-stage {
    min-height: 340px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(circle at center, rgba(243, 239, 228, 0.10), transparent 56%),
        linear-gradient(135deg, #06191c 0%, #020708 100%);

    border: 1px solid rgba(16, 16, 15, 0.18);
    box-shadow:
        0 34px 90px rgba(3, 27, 32, 0.20),
        inset 0 0 0 1px rgba(243, 239, 228, 0.06);
    position: relative;
    overflow: hidden;
}

.premium-logo-stage::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(243, 239, 228, 0.10);
    pointer-events: none;
}

.premium-logo-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.035) 0,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px,
            transparent 7px
        );
    opacity: 0.24;
    pointer-events: none;
}

.premium-logo-stage img {
    width: 150px;
    max-width: 70%;
    height: auto;
    display: block;
    margin-bottom: 28px;
    filter: brightness(0) invert(1);
    opacity: 0.92;
    position: relative;
    z-index: 2;
}

.premium-logo-stage span {
    position: relative;
    z-index: 2;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.58);
}

.premium-logo-text {
    max-width: 780px;
}

.premium-logo-text p {
    font-size: 20px !important;
    line-height: 1.85 !important;
    color: #68665f !important;
}

.premium-logo-text p + p {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(16, 16, 15, 0.12);
}

@media (max-width: 900px) {
    .premium-logo-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .premium-logo-stage {
        min-height: 260px;
    }

    .premium-logo-stage img {
        width: 120px;
    }

    .premium-logo-text p {
        font-size: 17px !important;
        line-height: 1.75 !important;
    }
}

.anniversary-notice {
    position: relative;
    padding: 14px 54px 14px 24px;
}

.anniversary-content {
    text-align: center;
}

.close-announcement {
    position: absolute;
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.75;
    z-index: 10;
}

.close-announcement:hover {
    opacity: 1;
}

.video-page-header {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #062f2f;
}

.page-header-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    min-height: 100%;
    transform: translate(-50%, -80%) scale(1);
    object-fit: contain;
    object-position: center 100%;
    z-index: 1;
}

.page-header-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(2, 28, 28, 0.65),
        rgba(2, 28, 28, 0.75)
    );
    z-index: 2;
}

.page-header-content {
    position: relative;
    z-index: 3;
    color: #f5efe2;
    padding: 0 24px;
}

.page-header-content h1 {
    color: #f5efe2;
}

.page-header-content p {
    color: rgba(245, 239, 226, 0.85);
}

/* Jacket Only */

.jacket-video-one {
    transform: translate(-50%, -45%) scale(1);
}

.jacket-video-two {
    position: absolute;
    top: 60%;
    left: 50%;
    width: 100%;
    height: auto;
    min-height: 100%;
    transform: translate(-50%, -60%) scale(1.75);
    object-fit: contain;
    object-position: center 100%;
    z-index: 1;
}

/* Campus */
.about-header-video {
    transform: translate(-50%, -50%) scale(1.3);
}

/* Mobile video header optimisation */
@media (max-width: 768px) {
    .video-page-header {
        min-height: 420px;
        height: 420px;
    }

    .page-header-video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .jacket-header-video {
        transform: translate(-50%, -50%) scale(1.25);
    }

    .about-header-video {
        transform: translate(-50%, -50%) scale(1.25);
    }

    .page-header-content h1 {
        font-size: 2.4rem;
    }

    .page-header-content p {
        font-size: 0.95rem;
    }
}

@media (max-width: 768px) {
    .video-page-header .tshirt-header-video {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;

        width: auto !important;
        height: 100% !important;
        min-width: 100% !important;

        object-fit: cover !important;
        object-position: center center !important;

        transform: translate(-50%, -80%) scale(1.65) !important;
    }
}

/* =========================================================
   Darker Landing Page Tone Override
   Applies only to the landing page and preserves existing features.
   Place at the END of style.css.
   ========================================================= */

.landing-body {
    background:
        radial-gradient(circle at 72% 16%, rgba(143, 185, 179, 0.12), transparent 26%),
        radial-gradient(circle at 18% 82%, rgba(199, 160, 160, 0.08), transparent 24%),
        linear-gradient(135deg, #06191c 0%, #030b0d 48%, #010304 100%);
    color: var(--campaign-ivory);
}

.landing-page {
    background:
        radial-gradient(circle at 74% 18%, rgba(15, 79, 79, 0.24), transparent 30%),
        radial-gradient(circle at 18% 84%, rgba(199, 160, 160, 0.08), transparent 26%),
        linear-gradient(135deg, #06191c 0%, #031114 52%, #010304 100%);
}

.landing-page::before {
    border-color: rgba(243, 239, 228, 0.14);
}

.landing-page::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.028), transparent 40%),
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.025) 0,
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px,
            transparent 7px
        );
    opacity: 0.28;
    pointer-events: none;
    z-index: 1;
}

.landing-header,
.landing-hero,
.landing-footer {
    position: relative;
    z-index: 3;
}

.landing-brand span {
    color: rgba(243, 239, 228, 0.72);
}

.landing-brand img {
    background-color: transparent;
    border-color: rgba(243, 239, 228, 0.22);
}

.landing-kicker {
    color: rgba(223, 195, 187, 0.82);
}

.landing-kicker::after {
    background-color: rgba(223, 195, 187, 0.54);
}

.landing-title {
    color: rgba(243, 239, 228, 0.96);
    text-shadow: 0 22px 70px rgba(0, 0, 0, 0.42);
}

.landing-secret {
    color: rgba(223, 195, 187, 0.78);
}

.landing-description {
    color: rgba(243, 239, 228, 0.66);
}

.landing-image-card {
    background-color: rgba(5, 5, 6, 0.48);
    border-color: rgba(243, 239, 228, 0.14);
    box-shadow: 0 46px 120px rgba(0, 0, 0, 0.44);
}

.landing-image-card img {
    filter: grayscale(0.10) saturate(0.70) contrast(1.12) brightness(0.78);
}

.landing-image-card:hover img {
    filter: grayscale(0.03) saturate(0.88) contrast(1.16) brightness(0.86);
}

.landing-image-card::after {
    background-color: rgba(1, 3, 4, 0.68);
    border-color: rgba(243, 239, 228, 0.18);
    color: rgba(243, 239, 228, 0.82);
}

.landing-orbit {
    border-color: rgba(223, 195, 187, 0.12);
    opacity: 0.72;
}

.landing-orbit::before {
    background-color: rgba(223, 195, 187, 0.88);
    box-shadow: 0 0 36px rgba(223, 195, 187, 0.48);
}

.button.landing-outline {
    color: rgba(243, 239, 228, 0.84);
    border-color: rgba(243, 239, 228, 0.28);
    background-color: rgba(243, 239, 228, 0.025);
}

.button.landing-outline:hover {
    border-color: rgba(223, 195, 187, 0.70);
    background-color: rgba(223, 195, 187, 0.08);
}

.landing-footer {
    color: rgba(243, 239, 228, 0.38);
}

/* =========================================================
   Catalogue Logo Loop Video Section
   Only affects the small video strip below pre-order notice.
   Does not affect hero slideshow images or other videos.
   ========================================================= */

.catalogue-logo-loop-section {
    position: relative;
    width: 100%;
    height: 670px;
    overflow: hidden;
    background-color: #020506;
    border-top: 1px solid rgba(243, 239, 228, 0.12);
    border-bottom: 1px solid rgba(243, 239, 228, 0.18);
}

.catalogue-logo-loop-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    backface-visibility: hidden;
    transform: translateZ(0);
    filter:
        brightness(0.92)
        contrast(1)
        saturate(0.86);
}


/* Dark cinematic overlay only for this strip */
.catalogue-logo-loop-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(3, 27, 32, 0.55) 0%,
            rgba(3, 27, 32, 0.10) 45%,
            rgba(3, 27, 32, 0.55) 100%
        ),
        radial-gradient(circle at center, transparent 30%, rgba(0, 0, 0, 0.32) 100%);
}

/* Subtle editorial texture only for this strip */
.catalogue-logo-loop-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0.12;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.035) 0,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px,
            transparent 7px
        );
}

@media (max-width: 768px) {
    .catalogue-logo-loop-section {
        height: 420px;
    }

@media (max-width: 480px) {
    .catalogue-logo-loop-section {
        height: 320px;
    }
}

    .catalogue-logo-loop-video {
        object-position: center;
    }
}

/* =========================================================
   Catalogue Support Section
   Bottom customer-service style panel in campaign theme.
   ========================================================= */

.catalogue-support-section {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 42px;
    padding: 42px 8%;
    background:
        linear-gradient(135deg, rgba(5, 5, 6, 0.96), rgba(3, 27, 32, 0.96));
    border-top: 1px solid rgba(243, 239, 228, 0.16);
    border-bottom: 1px solid rgba(243, 239, 228, 0.12);
    color: rgba(243, 239, 228, 0.72);
}

.support-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.support-centre {
    text-align: center;
    align-items: center;
}

.support-right {
    text-align: right;
    align-items: flex-end;
}

.support-heading {
    margin-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft) !important;
}

.catalogue-support-section p {
    max-width: 420px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(243, 239, 228, 0.66);
}

.catalogue-support-section a {
    width: fit-content;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.88);
    text-decoration: none;
    transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}

.catalogue-support-section a:hover {
    color: var(--campaign-blush-soft);
}

.support-button {
    margin-top: 8px;
    padding: 12px 26px;
    border: 1px solid rgba(243, 239, 228, 0.26);
    border-radius: 999px;
    background-color: rgba(243, 239, 228, 0.04);
}

.support-button:hover {
    background-color: rgba(199, 160, 160, 0.12);
    border-color: var(--campaign-blush-soft);
}

.support-socials {
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .catalogue-support-section {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 38px 6%;
    }

    .support-centre,
    .support-right {
        text-align: left;
        align-items: flex-start;
    }

    .support-socials {
        justify-content: flex-start;
    }
}

/* =========================================================
   Catalogue Support Section
   Bottom customer-service style panel in campaign theme.
   ========================================================= */

.catalogue-support-section {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 42px;
    padding: 42px 8%;
    background:
        linear-gradient(135deg, rgba(5, 5, 6, 0.96), rgba(3, 27, 32, 0.96));
    border-top: 1px solid rgba(243, 239, 228, 0.16);
    border-bottom: 1px solid rgba(243, 239, 228, 0.12);
    color: rgba(243, 239, 228, 0.72);
}

.support-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.support-centre {
    text-align: center;
    align-items: center;
}

.support-right {
    text-align: right;
    align-items: flex-end;
}

.support-heading {
    margin-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft) !important;
}

.catalogue-support-section p {
    max-width: 420px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(243, 239, 228, 0.66);
}

.catalogue-support-section a {
    width: fit-content;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.88);
    text-decoration: none;
    transition:
        color 0.3s ease,
        border-color 0.3s ease,
        background-color 0.3s ease,
        transform 0.3s ease;
}

.catalogue-support-section a:hover {
    color: var(--campaign-blush-soft);
}

.support-button {
    margin-top: 8px;
    padding: 12px 26px;
    border: 1px solid rgba(243, 239, 228, 0.26);
    border-radius: 999px;
    background-color: rgba(243, 239, 228, 0.04);
}

.support-button:hover {
    background-color: rgba(199, 160, 160, 0.12);
    border-color: var(--campaign-blush-soft);
}

.support-socials {
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* =========================================================
   Tighter Social Link Buttons
   Instagram + LinkedIn links for catalogue support section.
   ========================================================= */

.support-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 145px;
    height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(243, 239, 228, 0.24);
    border-radius: 999px;
    background-color: rgba(243, 239, 228, 0.035);
    color: rgba(243, 239, 228, 0.86) !important;
    text-decoration: none;
    transition:
        transform 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        background-color 0.3s ease;
}

.social-link:hover {
    transform: translateY(-2px);
    background-color: rgba(199, 160, 160, 0.12);
    border-color: var(--campaign-blush-soft);
    color: var(--campaign-blush-soft) !important;
}

.social-icon {
    width: 17px;
    height: 17px;
    fill: currentColor;
    color: currentColor;
    flex-shrink: 0;
}

.social-link span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: currentColor;
}

@media (max-width: 900px) {
    .support-socials {
        justify-content: flex-start;
    }

    .social-link {
        min-width: 140px;
    }
}

@media (max-width: 480px) {
    .support-socials {
        flex-direction: column;
        align-items: flex-start;
    }

    .social-link {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   Final Responsive Header + Drawer Fix
   Desktop/fullscreen: normal tabs are visible.
   Smaller browser widths: hamburger + centred logo.
   Dropdown icons for Collection / Info are NOT modified here.
   ========================================================= */

/* ---------- Desktop / Fullscreen Header ---------- */

@media (min-width: 1101px) {
    .navbar,
    .compact-navbar {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 18px 7% !important;
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    .navbar .logo,
    .compact-navbar .logo {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
    }

    .navbar .logo span,
    .compact-navbar .logo span {
        display: inline !important;
        white-space: nowrap !important;
    }

    .navbar nav,
    .compact-navbar nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 28px !important;
    }

    .navbar nav a,
    .compact-navbar nav a {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .navbar .nav-button,
    .compact-navbar .nav-button {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        display: none !important;
    }
}

/* ---------- Desktop Dropdown Panel Support ----------
   This only styles the dropdown container/panel.
   It does NOT change your existing dropdown icon.
   ---------- */

.dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 18px);
    left: 50%;
    min-width: 176px;
    padding: 12px;
    background:
        linear-gradient(rgba(5, 5, 6, 0.96), rgba(5, 5, 6, 0.96)),
        radial-gradient(circle at 80% 10%, rgba(143, 185, 179, 0.14), transparent 34%);
    border: 1px solid rgba(243, 239, 228, 0.18);
    box-shadow: 0 28px 76px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(18px);
    transform: translateX(-50%) translateY(8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease,
        transform 0.28s ease;
    z-index: 9999;
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.dropdown-menu a {
    display: block !important;
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.86) !important;
    white-space: nowrap;
    text-shadow: none !important;
}

.dropdown-menu a:hover {
    color: var(--campaign-blush-soft) !important;
    background-color: rgba(243, 239, 228, 0.06);
}

.dropdown-menu a::after {
    display: none !important;
}

/* ---------- Smaller Browser Header ----------
   Hamburger appears only below 1100px.
   ---------- */

@media (max-width: 1100px) {
    .navbar,
    .compact-navbar {
        display: grid !important;
        grid-template-columns: 54px 1fr 54px !important;
        align-items: center !important;
        padding: 14px 6% !important;
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    .navbar nav,
    .compact-navbar nav {
        display: none !important;
    }

    .navbar .nav-button,
    .compact-navbar .nav-button {
        display: none !important;
    }

    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-column: 1 !important;
        justify-self: start !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 1002 !important;
    }

    .navbar .hamburger-button span,
    .compact-navbar .hamburger-button span,
    .hamburger-button span {
        display: block !important;
        width: 26px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background-color: #f3efe4 !important;
        opacity: 1 !important;
    }

    .navbar .hamburger-button:hover span,
    .compact-navbar .hamburger-button:hover span,
    .hamburger-button:hover span {
        background-color: var(--campaign-blush-soft) !important;
    }

    .navbar .logo,
    .compact-navbar .logo {
        grid-column: 2 !important;
        justify-self: center !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .navbar .logo span,
    .compact-navbar .logo span {
        display: none !important;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 42px !important;
        height: 42px !important;
    }
}

/* ---------- Left Drawer Menu ---------- */

.site-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 30vw;
    min-width: 340px;
    max-width: 440px;
    height: 100vh;
    z-index: 999999;
    background:
        radial-gradient(circle at 80% 16%, rgba(143, 185, 179, 0.12), transparent 32%),
        linear-gradient(135deg, #06191c 0%, #031114 58%, #010304 100%);
    color: var(--campaign-ivory);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-100%);
    transition:
        opacity 0.35s ease,
        visibility 0.35s ease,
        transform 0.35s ease;
    box-shadow: 30px 0 90px rgba(0, 0, 0, 0.42);
}

.site-menu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

.site-menu::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(243, 239, 228, 0.12);
    pointer-events: none;
}

.site-menu::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.022) 0,
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px,
            transparent 7px
        );
    opacity: 0.18;
    pointer-events: none;
}

.site-menu-inner {
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 100vh;
    padding: 38px 42px;
    display: flex;
    flex-direction: column;
}

.site-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 54px;
}

.site-menu-header p {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--campaign-blush-soft);
}

.menu-close {
    width: 34px;
    height: 34px;
    border: none;
    background: transparent;
    color: rgba(243, 239, 228, 0.84);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.menu-close:hover {
    color: var(--campaign-blush-soft);
    transform: rotate(90deg);
}

.site-menu-links {
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.site-menu-links a {
    display: flex;
    justify-content: flex-start !important;
    align-items: center;
    gap: 10px;
    text-align: left;
    padding: 15px 0;
    border-bottom: 1px solid rgba(243, 239, 228, 0.12);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.84) !important;
    text-shadow: none !important;
    transition:
        color 0.3s ease,
        padding-left 0.3s ease;
}

.site-menu-links a::after {
    content: "âœ£";
    position: static;
    width: auto;
    height: auto;
    margin-left: 4px;
    background: none;
    font-size: 10px;
    color: rgba(243, 239, 228, 0.36);
    transition: color 0.3s ease;
}

.site-menu-links a:hover {
    color: var(--campaign-blush-soft) !important;
    padding-left: 6px;
}

.site-menu-links a:hover::after {
    width: auto;
    color: var(--campaign-blush-soft);
}

/* Remove old grouped drawer styling only inside the drawer */
.site-menu .menu-group,
.site-menu .menu-group p {
    all: unset;
}

.site-menu-footer {
    margin-top: auto;
    padding-top: 36px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.42);
}

.site-menu-footer p {
    margin: 0;
}

@media (max-width: 768px) {
    .site-menu {
        width: 78vw;
        min-width: 0;
        max-width: none;
    }

    .site-menu::before {
        inset: 14px;
    }

    .site-menu-inner {
        padding: 34px 30px;
    }

    .site-menu-header {
        margin-bottom: 44px;
    }

    .site-menu-links a {
        font-size: 14px;
        letter-spacing: 2.6px;
        padding: 14px 0;
    }
}

/* =========================================================
   Small Screen Header: Hamburger + Centred Logo + Pre-order
   Keeps pre-order visible on the right corner.
   ========================================================= */

@media (max-width: 1100px) {
    .navbar,
    .compact-navbar {
        display: grid !important;
        grid-template-columns: 44px 1fr auto !important;
        align-items: center !important;
        gap: 12px;
        padding: 14px 5% !important;
    }

    /* Hide desktop nav tabs */
    .navbar nav,
    .compact-navbar nav {
        display: none !important;
    }

    /* Left hamburger */
    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-column: 1 !important;
        justify-self: start !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 1002 !important;
    }

    .navbar .hamburger-button span,
    .compact-navbar .hamburger-button span,
    .hamburger-button span {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background-color: #f3efe4 !important;
        opacity: 1 !important;
    }

    /* Centre logo */
    .navbar .logo,
    .compact-navbar .logo {
        grid-column: 2 !important;
        justify-self: center !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .navbar .logo span,
    .compact-navbar .logo span {
        display: none !important;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 42px !important;
        height: 42px !important;
    }

    /* Right pre-order button stays visible */
    .navbar .nav-button,
    .compact-navbar .nav-button {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-column: 3 !important;
        justify-self: end !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 18px !important;
        font-size: 12px !important;
        letter-spacing: 1.8px !important;
        white-space: nowrap !important;
    }
}

/* Extra small phone adjustment */
@media (max-width: 480px) {
    .navbar,
    .compact-navbar {
        grid-template-columns: 40px 1fr auto !important;
        padding: 12px 4% !important;
        gap: 8px;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 36px !important;
        height: 36px !important;
    }

    .navbar .nav-button,
    .compact-navbar .nav-button {
        padding: 9px 13px !important;
        font-size: 10px !important;
        letter-spacing: 1.3px !important;
    }
}

/* =========================================================
   Small Screen Header Fix
   Keeps logo truly centred even when Pre-order is visible.
   ========================================================= */

@media (max-width: 1100px) {
    .navbar,
    .compact-navbar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: sticky;
        top: 0;
        padding: 14px 5% !important;
    }

    /* Hide desktop nav tabs */
    .navbar nav,
    .compact-navbar nav {
        display: none !important;
    }

    /* Left hamburger */
    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 3 !important;
    }

    .navbar .hamburger-button span,
    .compact-navbar .hamburger-button span,
    .hamburger-button span {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background-color: #f3efe4 !important;
        opacity: 1 !important;
    }

    /* True centre logo */
    .navbar .logo,
    .compact-navbar .logo {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        justify-content: center !important;
        gap: 0 !important;
        z-index: 2 !important;
    }

    .navbar .logo span,
    .compact-navbar .logo span {
        display: none !important;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 42px !important;
        height: 42px !important;
    }

    /* Right pre-order */
    .navbar .header-preorder,
    .compact-navbar .header-preorder {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        padding: 10px 18px !important;
        font-size: 12px !important;
        letter-spacing: 1.8px !important;
        white-space: nowrap !important;
        position: relative !important;
        z-index: 3 !important;
    }
}

/* Extra small phone adjustment */
@media (max-width: 480px) {
    .navbar,
    .compact-navbar {
        padding: 12px 4% !important;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 36px !important;
        height: 36px !important;
    }

    .navbar .header-preorder,
    .compact-navbar .header-preorder {
        padding: 9px 13px !important;
        font-size: 10px !important;
        letter-spacing: 1.3px !important;
    }

    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        width: 36px !important;
        height: 36px !important;
    }

    .navbar .hamburger-button span,
    .compact-navbar .hamburger-button span,
    .hamburger-button span {
        width: 22px !important;
    }
}

/* =========================================================
   Next Chapter Picture Background Page
   Full-screen campaign-style landing page.
   ========================================================= */

.next-chapter-body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #020506;
    color: var(--campaign-ivory);
}

.next-chapter-page {
    position: relative;
    min-height: calc(100vh - 96px);
    overflow: hidden;
    background-color: #020506;
}

/* Background image */
.next-chapter-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    filter:
        brightness(0.58)
        contrast(1.08)
        saturate(0.82);
}

/* Dark cinematic overlay */
.next-chapter-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.42) 0%,
            rgba(0, 0, 0, 0.12) 38%,
            rgba(0, 0, 0, 0.74) 100%
        ),
        radial-gradient(
            circle at 50% 40%,
            rgba(255, 255, 255, 0.08),
            transparent 42%
        );
}

/* Content placement */
.next-chapter-content {
    position: relative;
    z-index: 3;
    min-height: calc(100vh - 96px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    padding: 0 6% 120px;
}

.next-chapter-kicker {
    margin: 0 0 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.82);
}

.next-chapter-content h1 {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 6.8rem);
    font-weight: 500;
    line-height: 0.9;
    color: #f3efe4;
    text-shadow: 0 18px 60px rgba(0, 0, 0, 0.48);
}

.next-chapter-content p {
    max-width: 620px;
    margin: 0 auto 28px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(243, 239, 228, 0.78);
}

/* Buttons */
.next-chapter-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.next-chapter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    padding: 12px 26px;
    border-radius: 999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        transform 0.3s ease,
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.next-chapter-button.primary {
    color: #020506;
    background-color: rgba(243, 239, 228, 0.92);
    border: 1px solid rgba(243, 239, 228, 0.92);
}

.next-chapter-button.outline {
    color: rgba(243, 239, 228, 0.9);
    background-color: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(243, 239, 228, 0.48);
    backdrop-filter: blur(10px);
}

.next-chapter-button:hover {
    transform: translateY(-2px);
}

.next-chapter-button.primary:hover {
    background-color: var(--campaign-blush-soft);
    border-color: var(--campaign-blush-soft);
}

.next-chapter-button.outline:hover {
    color: #020506;
    background-color: rgba(243, 239, 228, 0.9);
}

/* Bottom indicator lines */
.next-chapter-bottom-line {
    position: absolute;
    left: 50%;
    bottom: 38px;
    z-index: 3;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

.next-chapter-bottom-line span {
    width: 92px;
    height: 2px;
    background-color: rgba(243, 239, 228, 0.28);
}

/* Header adjustment for this page */
.next-chapter-navbar {
    background-color: rgba(2, 5, 6, 0.68);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(243, 239, 228, 0.14);
}

/* Mobile */
@media (max-width: 768px) {
    .next-chapter-page {
        min-height: calc(100vh - 72px);
    }

    .next-chapter-content {
        min-height: calc(100vh - 72px);
        padding: 0 7% 96px;
    }

    .next-chapter-content p {
        font-size: 14px;
    }

    .next-chapter-actions {
        gap: 10px;
    }

    .next-chapter-button {
        min-width: 138px;
        padding: 11px 20px;
        font-size: 11px;
    }

    .next-chapter-bottom-line span {
        width: 56px;
    }
}

/* =========================================================
   Next Chapter Background Slideshow
   Cycles multiple campaign images.
   ========================================================= */

.next-chapter-slideshow {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.next-chapter-bg-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transform: scale(1.04);
    filter:
        brightness(0.58)
        contrast(1.08)
        saturate(0.82);
    transition:
        opacity 1.4s ease,
        transform 5.5s ease;
}

.next-chapter-bg-slide.active {
    opacity: 1;
    transform: scale(1);
}

/* =========================================================
   Next Chapter Slideshow Indicator
   Only one line is highlighted at a time.
   ========================================================= */

.next-chapter-bottom-line {
    position: absolute;
    left: 50%;
    bottom: 38px;
    z-index: 4;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
}

.next-chapter-bottom-line span {
    display: block;
    width: 92px;
    height: 2px;
    background-color: rgba(243, 239, 228, 0.28);
    opacity: 0.55;
    transform: scaleY(1);
    transform-origin: center;
    transition:
        background-color 0.4s ease,
        opacity 0.4s ease,
        transform 0.4s ease;
}

.next-chapter-bottom-line span.active {
    background-color: rgba(243, 239, 228, 0.88);
    opacity: 1;
    transform: scaleY(1.5);
}

/* Mobile indicator adjustment */
@media (max-width: 768px) {
    .next-chapter-bottom-line {
        bottom: 28px;
        gap: 8px;
    }

    .next-chapter-bottom-line span {
        width: 56px;
    }
}

/* =========================================================
   Next Chapter Loading Transition
   Dark editorial loading screen when entering coming-soon page.
   ========================================================= */

.next-chapter-transition {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 42%, rgba(143, 185, 179, 0.12), transparent 34%),
        linear-gradient(135deg, #06191c 0%, #020506 62%, #000000 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.75s ease,
        visibility 0.75s ease;
}

.next-chapter-transition.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.next-chapter-transition.fade-out {
    opacity: 0;
    visibility: hidden;
}

.next-chapter-transition::before {
    content: "";
    position: absolute;
    inset: 32px;
    border: 1px solid rgba(243, 239, 228, 0.14);
    pointer-events: none;
}

.next-chapter-transition::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.025) 0,
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px,
            transparent 8px
        );
    opacity: 0.16;
    pointer-events: none;
}

.next-chapter-transition-content {
    position: relative;
    z-index: 2;
    text-align: center;
    transform: translateY(8px);
    animation: nextChapterFloat 1.8s ease-in-out infinite alternate;
}

.next-chapter-transition-content p {
    margin: 0 0 22px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.86);
}

.next-chapter-transition-content span {
    display: block;
    width: 160px;
    height: 1px;
    margin: 0 auto;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(243, 239, 228, 0.9),
        transparent
    );
    animation: nextChapterLine 1.35s ease-in-out infinite;
}

@keyframes nextChapterFloat {
    from {
        transform: translateY(8px);
        opacity: 0.82;
    }

    to {
        transform: translateY(-4px);
        opacity: 1;
    }
}

@keyframes nextChapterLine {
    0% {
        width: 42px;
        opacity: 0.35;
    }

    50% {
        width: 180px;
        opacity: 1;
    }

    100% {
        width: 42px;
        opacity: 0.35;
    }
}

/* =========================================================
   Final Shared Loading / Transition Animation Theme
   Matches the darker Next Chapter + updated Landing style.
   Added at the end to preserve all existing features.
   ========================================================= */

.page-transition,
.catalogue-reveal,
.next-chapter-transition {
    background:
        radial-gradient(circle at 50% 42%, rgba(143, 185, 179, 0.12), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(243, 239, 228, 0.06), transparent 24%),
        linear-gradient(135deg, #06191c 0%, #020506 62%, #000000 100%) !important;
    color: #f3efe4 !important;
}

.page-transition::before,
.catalogue-reveal::before,
.next-chapter-transition::before {
    content: "";
    position: absolute;
    inset: 32px;
    border: 1px solid rgba(243, 239, 228, 0.14);
    pointer-events: none;
    z-index: 1;
}

.page-transition::after,
.catalogue-reveal::after,
.next-chapter-transition::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.018) 0,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px,
            transparent 8px
        );
    opacity: 0.18;
    pointer-events: none;
    z-index: 1;
}

.transition-content,
.next-chapter-transition-content {
    position: relative;
    z-index: 2;
    text-align: center;
    animation: transitionFloat 1.8s ease-in-out infinite alternate;
}

.transition-content p,
.next-chapter-transition-content p {
    margin: 0 0 22px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(243, 239, 228, 0.86) !important;
}

.transition-content span,
.next-chapter-transition-content span {
    display: block;
    width: 160px;
    height: 1px;
    margin: 0 auto;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(243, 239, 228, 0.92),
        transparent
    ) !important;
    position: relative;
    overflow: hidden;
    animation: transitionLine 1.35s ease-in-out infinite;
}

/* Disable the older gold sweeping line so the new ivory line stays clean. */
.transition-content span::after {
    display: none !important;
}

.transition-content::before,
.next-chapter-transition-content::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 220px;
    height: 220px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(143, 185, 179, 0.12), transparent 68%);
    z-index: -1;
}

@keyframes transitionFloat {
    from {
        transform: translateY(8px);
        opacity: 0.82;
    }

    to {
        transform: translateY(-4px);
        opacity: 1;
    }
}

@keyframes transitionLine {
    0% {
        width: 42px;
        opacity: 0.35;
    }

    50% {
        width: 180px;
        opacity: 1;
    }

    100% {
        width: 42px;
        opacity: 0.35;
    }
}
/* =========================================================
   Final iPhone Header Safety Patch
   Prevents the hamburger button from overlapping the school logo
   on narrow iPhone screens. Pre-order remains accessible inside
   the hamburger drawer.
   ========================================================= */
@media (max-width: 600px) {
    .navbar,
    .compact-navbar {
        display: grid !important;
        grid-template-columns: 48px 1fr 48px !important;
        align-items: center !important;
        min-height: 64px !important;
        padding: 12px 18px !important;
        gap: 0 !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
    }

    .navbar nav,
    .compact-navbar nav {
        display: none !important;
    }

    .navbar .hamburger-button,
    .compact-navbar .hamburger-button,
    .hamburger-button {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        display: flex !important;
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        z-index: 1002 !important;
    }

    .navbar .logo,
    .compact-navbar .logo {
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        z-index: 1001 !important;
    }

    .navbar .logo a,
    .compact-navbar .logo a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .navbar .logo a:not(:first-child),
    .compact-navbar .logo a:not(:first-child),
    .navbar .logo span,
    .compact-navbar .logo span {
        display: none !important;
    }

    .navbar .logo img,
    .compact-navbar .logo img {
        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;
        object-fit: contain !important;
    }

    .navbar .header-preorder,
    .compact-navbar .header-preorder,
    .navbar .nav-button,
    .compact-navbar .nav-button {
        display: none !important;
    }
}

.founder-credit-block {
    border-top: 1px solid rgba(243, 239, 228, 0.18);
    border-bottom: 1px solid rgba(243, 239, 228, 0.18);
    padding-top: 42px;
    padding-bottom: 42px;
}

.founder-credit-block h2 {
    letter-spacing: 0.04em;
}

.founder-credit-block p {
    max-width: 760px;
}

@media (max-width: 480px) {
    /* Footer main layout */
    .footer-content,
    .footer-grid,
    .footer-columns {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 28px;
    }

    /* Each footer block */
    .footer-content > div,
    .footer-grid > div,
    .footer-column {
        min-width: 0;
        width: 100%;
    }

    /* General footer text wrapping */
    footer p,
    footer a,
    .footer-column p,
    .footer-column a,
    .footer-disclaimer,
    .footer-bottom p {
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        line-height: 1.7;
    }

    /* Social / button section */
    .social-links,
    .footer-socials,
    .footer-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .social-links a,
    .footer-socials a,
    .footer-buttons a {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
        padding: 14px 18px;
    }

    /* Reduce text size slightly for mobile */
    .footer-column h3,
    .footer-heading {
        font-size: 14px;
        line-height: 1.5;
        letter-spacing: 0.12em;
    }

    .footer-column p,
    .footer-disclaimer,
    .footer-bottom p {
        font-size: 15px;
        line-height: 1.7;
    }

    /* Footer bottom / copyright area */
    .footer-bottom,
    footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .footer-bottom p,
    footer p {
        text-align: center;
    }
}
/* =========================================================
   Final iPhone Footer Overflow Patch
   Keeps the catalogue support/footer area readable on iPhone
   Pro Max and smaller screens without changing desktop styles.
   ========================================================= */
@media (max-width: 600px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .catalogue-support-section {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 38px 28px !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .support-column,
    .support-centre,
    .support-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .catalogue-support-section p,
    .catalogue-support-section a,
    .support-heading,
    .social-link,
    .social-link span {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .support-socials {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    .social-link {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 46px !important;
        padding: 12px 16px !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    footer,
    footer p,
    .footer-disclaimer {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        box-sizing: border-box !important;
    }
}
/* =========================================================
   Final Mobile Mesh Filter Removal Patch
   Removes the grey grain/mesh overlay on mobile screens only.
   Desktop keeps the original cinematic texture.
   ========================================================= */
@media (max-width: 768px) {
    body::before {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        background-image: none !important;
        mix-blend-mode: normal !important;
    }
}