:root {
    --lux-bg: #0a0a0a;
    --lux-bg-soft: #11100f;
    --lux-panel: #171513;
    --lux-white: #f5f2ee;
    --lux-muted: rgba(245, 242, 238, .62);
    --lux-line: rgba(245, 242, 238, .12);
    --lux-gold: #c9a84c;
    --lux-display: "Cormorant Garamond", serif;
    --lux-body: "Jost", sans-serif;
    --cinema-bg: var(--lux-bg);
    --cinema-bg-deep: #070707;
    --cinema-panel: var(--lux-panel);
    --cinema-line: rgba(201, 168, 76, .45);
    --cinema-orange: var(--lux-gold);
    --cinema-cream: var(--lux-white);
    --cinema-muted: var(--lux-muted);
    --color-secondary: var(--lux-gold);
    --gold: var(--lux-gold);
    --font-heading: var(--lux-display);
    --font-body: var(--lux-body);
    --font-ui: var(--lux-body);
    --font-size-base: 17px;
    --type-body: clamp(1.13rem, 1.2vw, 1.28rem);
}

:root[data-theme="light"] {
    --cinema-bg: var(--lux-bg);
    --cinema-bg-deep: #070707;
    --cinema-panel: var(--lux-panel);
    --cinema-line: rgba(201, 168, 76, .45);
    --cinema-orange: var(--lux-gold);
    --cinema-cream: var(--lux-white);
    --cinema-muted: var(--lux-muted);
    --color-secondary: var(--lux-gold);
    --gold: var(--lux-gold);
}

body:not(.admin-body) {
    background: var(--lux-bg);
    color: var(--lux-muted);
    font-family: var(--lux-body);
    font-weight: 300;
}

body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3,
body:not(.admin-body) h4 {
    color: var(--lux-white);
    font-family: var(--lux-display);
    font-weight: 300;
}

body:not(.admin-body) a {
    color: inherit;
}

body:not(.admin-body) .container {
    max-width: 1440px;
    padding-inline: clamp(20px, 4vw, 72px);
}

body:not(.admin-body) .section {
    padding-block: clamp(90px, 11vw, 170px);
}

body:not(.admin-body) .navbar {
    min-height: 88px;
    background: rgba(10, 10, 10, .94);
    border-bottom: 1px solid rgba(245, 242, 238, .08);
    box-shadow: none;
    backdrop-filter: blur(14px);
}

body:not(.admin-body) .navbar > .container {
    max-width: none;
    padding-inline: clamp(20px, 4vw, 72px);
}

body:not(.admin-body) .nav-inner {
    min-height: 88px;
}

body:not(.admin-body) .nav-logo {
    flex-basis: 260px;
}

body:not(.admin-body) .nav-logo img {
    display: none;
}

body:not(.admin-body) .nav-logo-text strong {
    color: var(--lux-white);
    font-family: var(--lux-display);
    font-size: 1.55rem;
    font-weight: 300;
    letter-spacing: .2em;
}

body:not(.admin-body) .nav-menu {
    gap: clamp(8px, 1vw, 22px);
}

body:not(.admin-body) .nav-menu a {
    padding: 8px 0;
    color: rgba(245, 242, 238, .7);
    font-size: .72rem;
    font-weight: 300;
    letter-spacing: .2em;
    text-transform: uppercase;
}

body:not(.admin-body) .nav-menu a:hover,
body:not(.admin-body) .nav-menu a.active {
    color: var(--lux-gold);
    background: transparent;
}

body:not(.admin-body) .nav-tools {
    display: none;
}

body:not(.admin-body) .nav-overlay-atmosphere,
body:not(.admin-body) .nav-overlay-footer {
    display: none;
}

body:not(.admin-body) .nav-cta,
body:not(.admin-body) .btn,
body:not(.admin-body) .cta-btn,
body:not(.admin-body) .pd-btn,
body:not(.admin-body) .products-empty-btn {
    min-height: 48px;
    padding: 0 25px;
    border: 1px solid var(--lux-gold);
    border-radius: 0;
    background: transparent;
    color: var(--lux-gold);
    font-family: var(--lux-body);
    font-size: .7rem;
    font-weight: 400;
    letter-spacing: .22em;
    text-transform: uppercase;
    box-shadow: none;
}

body:not(.admin-body) .nav-cta:hover,
body:not(.admin-body) .btn:hover,
body:not(.admin-body) .cta-btn:hover,
body:not(.admin-body) .pd-btn:hover,
body:not(.admin-body) .products-empty-btn:hover,
body:not(.admin-body) .btn-primary,
body:not(.admin-body) .pd-btn-primary,
body:not(.admin-body) .cta-btn-primary {
    border-color: var(--lux-gold);
    background: var(--lux-gold);
    color: var(--lux-bg);
    transform: none;
}

body:not(.admin-body) .btn-primary:hover,
body:not(.admin-body) .pd-btn-primary:hover,
body:not(.admin-body) .cta-btn-primary:hover {
    background: transparent;
    color: var(--lux-gold);
}

body:not(.admin-body) .cinema-kicker,
body:not(.admin-body) .section-eyebrow,
body:not(.admin-body) .products-eyebrow,
body:not(.admin-body) .blogs-eyebrow,
body:not(.admin-body) .pd-eyebrow,
body:not(.admin-body) .pd-rel-cat,
body:not(.admin-body) .gallery-card-badge {
    color: var(--lux-gold);
    font-family: var(--lux-body);
    font-size: .62rem;
    font-weight: 400;
    letter-spacing: .27em;
    text-transform: uppercase;
}

body:not(.admin-body) .cinema-particles {
    display: none;
}

body:not(.admin-body) .breadcrumbs {
    border-bottom: 1px solid var(--lux-line);
    background: var(--lux-bg);
}

body:not(.admin-body) .breadcrumbs a,
body:not(.admin-body) .breadcrumbs span {
    color: var(--lux-muted);
    font-family: var(--lux-body);
    font-size: .58rem;
    font-weight: 300;
    letter-spacing: .18em;
    text-transform: uppercase;
}

body:not(.admin-body) .breadcrumbs a:hover,
body:not(.admin-body) .breadcrumbs li:last-child span {
    color: var(--lux-gold);
}

body:not(.admin-body) .about-cinema-hero,
body:not(.admin-body) .quarry-cinema-hero,
body:not(.admin-body) .services-cinema-hero,
body:not(.admin-body) .gallery-cinema-hero,
body:not(.admin-body) .blogs-hero,
body:not(.admin-body) .contact-cinematic-hero {
    min-height: 82svh;
    background: var(--lux-bg);
}

body:not(.admin-body) .about-cinema-hero-media img,
body:not(.admin-body) .quarry-cinema-hero-media img,
body:not(.admin-body) .services-cinema-hero-media img,
body:not(.admin-body) .gallery-cinema-media img,
body:not(.admin-body) .blogs-hero-media img,
body:not(.admin-body) .contact-cinematic-hero-media img {
    filter: saturate(.55);
}

body:not(.admin-body) .about-cinema-hero-shade,
body:not(.admin-body) .quarry-cinema-hero-shade,
body:not(.admin-body) .services-cinema-hero-shade,
body:not(.admin-body) .gallery-cinema-shade,
body:not(.admin-body) .blogs-hero-shade,
body:not(.admin-body) .contact-cinematic-hero-shade {
    background: linear-gradient(to bottom, rgba(10, 10, 10, .42), rgba(10, 10, 10, .88));
}

body:not(.admin-body) .about-cinema-hero-copy,
body:not(.admin-body) .quarry-cinema-hero-copy,
body:not(.admin-body) .services-cinema-hero-copy,
body:not(.admin-body) .gallery-cinema-copy,
body:not(.admin-body) .blogs-hero-inner,
body:not(.admin-body) .contact-cinematic-hero-inner {
    max-width: 850px;
}

body:not(.admin-body) .about-cinema-hero-copy > p,
body:not(.admin-body) .quarry-cinema-hero-copy > p,
body:not(.admin-body) .services-cinema-hero-copy > p,
body:not(.admin-body) .gallery-cinema-copy > p,
body:not(.admin-body) .blogs-hero-inner > p,
body:not(.admin-body) .contact-cinematic-hero-inner > p {
    color: rgba(245, 242, 238, .7);
    font-size: .95rem;
    font-weight: 300;
    line-height: 1.9;
}

body:not(.admin-body) .about-cinema-hero-panel,
body:not(.admin-body) .quarry-cinema-hero-mark,
body:not(.admin-body) .services-cinema-hero-panel,
body:not(.admin-body) .gallery-cinema-panel {
    border: 1px solid rgba(201, 168, 76, .45);
    border-radius: 0;
    background: rgba(10, 10, 10, .4);
    backdrop-filter: blur(8px);
}

body:not(.admin-body) .about-cinema-hero-panel strong,
body:not(.admin-body) .quarry-cinema-hero-mark strong,
body:not(.admin-body) .services-cinema-hero-panel strong,
body:not(.admin-body) .gallery-cinema-panel strong {
    color: var(--lux-white);
    font-family: var(--lux-display);
    font-weight: 300;
}

body:not(.admin-body) .cinema-main,
body:not(.admin-body).page-cinematic-products,
body:not(.admin-body).page-product-detail,
body:not(.admin-body).page-contact,
body:not(.admin-body).page-gallery,
body:not(.admin-body).page-blog,
body:not(.admin-body).page-blog-post,
body:not(.admin-body).page-privacy,
body:not(.admin-body).page-terms,
body:not(.admin-body).page-sitemap,
body:not(.admin-body).page-404 {
    background: var(--lux-bg);
}

body:not(.admin-body) .cinema-statement,
body:not(.admin-body) .about-cinema-numbers,
body:not(.admin-body) .quarry-cinema-inspection,
body:not(.admin-body) .services-cinema-grid-section {
    padding-block: clamp(100px, 12vw, 190px);
    background: var(--lux-bg);
}

body:not(.admin-body) .cinema-statement-grid h2,
body:not(.admin-body) .about-cinema-split-copy h2,
body:not(.admin-body) .about-cinema-numbers-copy h2,
body:not(.admin-body) .cinema-section-head h2,
body:not(.admin-body) .quarry-cinema-feature-copy h2,
body:not(.admin-body) .quarry-cinema-inspection-copy h2,
body:not(.admin-body) .services-cinema-split-copy h2,
body:not(.admin-body) .services-cinema-route-inner h2,
body:not(.admin-body) .quarry-cinema-route-inner h2 {
    color: var(--lux-white);
    font-size: clamp(3rem, 5vw, 5.4rem);
    font-weight: 300;
    line-height: 1;
}

body:not(.admin-body) .cinema-statement-grid p,
body:not(.admin-body) .about-cinema-split-copy p,
body:not(.admin-body) .about-cinema-numbers-copy p,
body:not(.admin-body) .quarry-cinema-feature-copy p,
body:not(.admin-body) .quarry-cinema-inspection-copy p,
body:not(.admin-body) .services-cinema-split-copy p {
    color: var(--lux-muted);
    font-size: .95rem;
    line-height: 2;
}

body:not(.admin-body) .about-cinema-split,
body:not(.admin-body) .quarry-cinema-feature,
body:not(.admin-body) .services-cinema-split {
    background: var(--lux-bg-soft);
}

body:not(.admin-body) .about-cinema-split-media img,
body:not(.admin-body) .quarry-cinema-feature-media img,
body:not(.admin-body) .services-cinema-split-media img,
body:not(.admin-body) .cinema-closing-media img {
    filter: saturate(.7);
    transition: transform .8s ease;
}

body:not(.admin-body) .about-cinema-split-media:hover img,
body:not(.admin-body) .quarry-cinema-feature-media:hover img,
body:not(.admin-body) .services-cinema-split-media:hover img {
    transform: scale(1.025);
}

body:not(.admin-body) .about-cinema-checks span,
body:not(.admin-body) .services-cinema-checks span,
body:not(.admin-body) .quarry-cinema-feature li {
    border-color: var(--lux-line);
    color: var(--lux-muted);
}

body:not(.admin-body) .cinema-service-list article,
body:not(.admin-body) .about-cinema-client-grid article,
body:not(.admin-body) .quarry-cinema-inspection-cards article,
body:not(.admin-body) .services-cinema-card,
body:not(.admin-body) .about-cinema-stat-grid article {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: var(--lux-bg-soft);
    box-shadow: none;
}

body:not(.admin-body) .cinema-service-list img,
body:not(.admin-body) .about-cinema-client-grid img,
body:not(.admin-body) .quarry-cinema-inspection-cards img {
    filter: saturate(.68);
}

body:not(.admin-body) .cinema-service-list h3,
body:not(.admin-body) .about-cinema-client-grid h3,
body:not(.admin-body) .quarry-cinema-inspection-cards h3,
body:not(.admin-body) .services-cinema-card h2 {
    color: var(--lux-white);
    font-family: var(--lux-display);
    font-weight: 300;
}

body:not(.admin-body) .cinema-service-list p,
body:not(.admin-body) .about-cinema-client-grid p,
body:not(.admin-body) .quarry-cinema-inspection-cards p,
body:not(.admin-body) .services-cinema-card p,
body:not(.admin-body) .services-cinema-card li {
    color: var(--lux-muted);
}

body:not(.admin-body) .about-cinema-stat-grid strong,
body:not(.admin-body) .services-cinema-number {
    color: var(--lux-gold);
    font-family: var(--lux-display);
    font-weight: 300;
}

body:not(.admin-body) .quarry-cinema-route,
body:not(.admin-body) .services-cinema-route,
body:not(.admin-body) .cinema-closing {
    background: var(--lux-bg);
}

body:not(.admin-body) .quarry-cinema-route-steps article,
body:not(.admin-body) .services-cinema-route-steps article {
    border-color: rgba(201, 168, 76, .35);
    background: rgba(10, 10, 10, .55);
    border-radius: 0;
}

body:not(.admin-body) .cinema-closing-inner h2 {
    color: var(--lux-white);
    font-size: clamp(3rem, 5vw, 5.4rem);
    font-weight: 300;
}

/* Products */
body:not(.admin-body).page-cinematic-products .products-hero {
    padding-top: 190px;
    padding-bottom: 110px;
    background: var(--lux-bg-soft);
}

body:not(.admin-body).page-cinematic-products .products-hero::before {
    background: radial-gradient(circle at 80% 10%, rgba(201, 168, 76, .1), transparent 36%);
}

body:not(.admin-body).page-cinematic-products .products-hero-copy h1 {
    color: var(--lux-white);
    font-family: var(--lux-display);
    font-size: clamp(4rem, 7vw, 7rem);
    font-weight: 300;
    line-height: .95;
}

body:not(.admin-body).page-cinematic-products .products-hero-copy p,
body:not(.admin-body).page-cinematic-products .products-stat-note {
    color: var(--lux-muted);
}

body:not(.admin-body).page-cinematic-products .products-stat-panel,
body:not(.admin-body).page-cinematic-products .products-toolbar,
body:not(.admin-body).page-cinematic-products .product-card,
body:not(.admin-body).page-cinematic-products .products-empty {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: var(--lux-bg);
    box-shadow: none;
}

body:not(.admin-body).page-cinematic-products .products-toolbar-section,
body:not(.admin-body).page-cinematic-products .products-section {
    background: var(--lux-bg);
}

body:not(.admin-body).page-cinematic-products .products-pill,
body:not(.admin-body).page-cinematic-products .pag-link {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: transparent;
    color: var(--lux-muted);
}

body:not(.admin-body).page-cinematic-products .products-pill:hover,
body:not(.admin-body).page-cinematic-products .products-pill.active,
body:not(.admin-body).page-cinematic-products .pag-link:hover,
body:not(.admin-body).page-cinematic-products .pag-link.active {
    border-color: var(--lux-gold);
    background: var(--lux-gold);
    color: var(--lux-bg);
}

body:not(.admin-body).page-cinematic-products .product-card-image {
    border-radius: 0;
}

body:not(.admin-body).page-cinematic-products .product-card-image img {
    filter: saturate(.72);
}

body:not(.admin-body).page-cinematic-products .product-card:hover {
    border-color: rgba(201, 168, 76, .7);
    transform: translateY(-4px);
}

body:not(.admin-body).page-cinematic-products .product-card-body h3,
body:not(.admin-body).page-cinematic-products .product-card-specs dd,
body:not(.admin-body).page-cinematic-products .products-stat-box strong,
body:not(.admin-body).page-cinematic-products .products-toolbar-heading {
    color: var(--lux-white);
}

body:not(.admin-body).page-cinematic-products .product-card-specs dt,
body:not(.admin-body).page-cinematic-products .products-count {
    color: var(--lux-muted);
}

body:not(.admin-body).page-cinematic-products .product-badge {
    border-radius: 0;
    background: var(--lux-gold);
    color: var(--lux-bg);
}

body:not(.admin-body).page-cinematic-products .products-cta {
    border: 0;
    background: var(--lux-bg-soft);
}

/* Product detail */
body:not(.admin-body).page-product-detail .pd-section,
body:not(.admin-body).page-product-detail .pd-related {
    padding-block: clamp(120px, 12vw, 190px);
    background: var(--lux-bg);
}

body:not(.admin-body).page-product-detail .pd-main-image,
body:not(.admin-body).page-product-detail .pd-thumb,
body:not(.admin-body).page-product-detail .pd-rel-card,
body:not(.admin-body).page-product-detail .pd-modal {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: var(--lux-bg-soft);
    box-shadow: none;
}

body:not(.admin-body).page-product-detail .pd-main-image img,
body:not(.admin-body).page-product-detail .pd-rel-image img {
    filter: saturate(.72);
}

body:not(.admin-body).page-product-detail .pd-info h1,
body:not(.admin-body).page-product-detail .pd-related-head h2,
body:not(.admin-body).page-product-detail .pd-rel-body h4,
body:not(.admin-body).page-product-detail .pd-specs td,
body:not(.admin-body).page-product-detail .pd-modal h3 {
    color: var(--lux-white);
}

body:not(.admin-body).page-product-detail .pd-info h1 {
    font-size: clamp(3.5rem, 6vw, 6rem);
    font-weight: 300;
}

body:not(.admin-body).page-product-detail .pd-desc,
body:not(.admin-body).page-product-detail .pd-specs th,
body:not(.admin-body).page-product-detail .pd-breadcrumb,
body:not(.admin-body).page-product-detail .pd-breadcrumb a {
    color: var(--lux-muted);
}

body:not(.admin-body).page-product-detail .pd-divider,
body:not(.admin-body).page-product-detail .pd-specs tr {
    border-color: var(--lux-line);
}

body:not(.admin-body).page-product-detail .pd-form-group input,
body:not(.admin-body).page-product-detail .pd-form-group textarea {
    border: 0;
    border-bottom: 1px solid var(--lux-line);
    border-radius: 0;
    background: transparent;
    color: var(--lux-white);
}

/* Gallery and journal */
body:not(.admin-body) .block-gallery-section,
body:not(.admin-body) .blogs-section,
body:not(.admin-body) .blogs-related,
body:not(.admin-body) .blog-post-section {
    background: var(--lux-bg);
}

body:not(.admin-body) .block-gallery-heading h2,
body:not(.admin-body) .gallery-visit-copy h2,
body:not(.admin-body) .blogs-card-body h3,
body:not(.admin-body) .blogs-related-head h2,
body:not(.admin-body) .blog-post-body h2,
body:not(.admin-body) .blog-post-body h3 {
    color: var(--lux-white);
    font-weight: 300;
}

body:not(.admin-body) .block-gallery-heading p,
body:not(.admin-body) .gallery-visit-copy p,
body:not(.admin-body) .blogs-card-body p,
body:not(.admin-body) .blog-post-body,
body:not(.admin-body) .blog-post-body p,
body:not(.admin-body) .blog-post-body li {
    color: var(--lux-muted);
}

body:not(.admin-body) .block-gallery-tile,
body:not(.admin-body) .gallery-visit-panel,
body:not(.admin-body) .blogs-card {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: var(--lux-bg-soft);
    box-shadow: none;
}

body:not(.admin-body) .pagination-link {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: transparent;
    color: var(--lux-muted);
}

body:not(.admin-body) .pagination-link:hover,
body:not(.admin-body) .pagination-link.active {
    border-color: var(--lux-gold);
    background: var(--lux-gold);
    color: var(--lux-bg);
}

body:not(.admin-body) .block-gallery-tile img,
body:not(.admin-body) .blogs-card-image img,
body:not(.admin-body) .blog-post-featured-image img {
    filter: saturate(.7);
}

body:not(.admin-body) .blog-post-hero {
    background: var(--lux-bg-soft);
}

body:not(.admin-body) .blog-post-hero h1 {
    color: var(--lux-white);
    font-size: clamp(3.4rem, 6vw, 6.5rem);
    font-weight: 300;
}

body:not(.admin-body) .blog-post-aside {
    border-color: rgba(201, 168, 76, .4);
}

/* Contact */
body:not(.admin-body).page-contact .contact-page-section {
    background: var(--lux-bg);
}

body:not(.admin-body).page-contact .contact-layout {
    gap: clamp(30px, 6vw, 100px);
}

body:not(.admin-body).page-contact .contact-form-panel,
body:not(.admin-body).page-contact .contact-info-card,
body:not(.admin-body).page-contact .contact-map-card {
    border: 1px solid var(--lux-line);
    border-radius: 0;
    background: var(--lux-bg-soft);
    box-shadow: none;
}

body:not(.admin-body).page-contact .contact-form-panel,
body:not(.admin-body).page-contact .contact-info-card {
    padding: clamp(34px, 4vw, 68px);
}

body:not(.admin-body).page-contact .contact-info-card + .contact-info-card {
    margin-top: 24px;
}

body:not(.admin-body).page-contact .contact-map-card {
    padding: clamp(26px, 3vw, 48px);
}

body:not(.admin-body).page-contact .contact-section-head h2,
body:not(.admin-body).page-contact .contact-map-head h3,
body:not(.admin-body).page-contact .contact-info-item strong {
    color: var(--lux-white);
}

body:not(.admin-body).page-contact .form-control {
    border: 0;
    border-bottom: 1px solid var(--lux-line);
    border-radius: 0;
    background: transparent;
    color: var(--lux-white);
    box-shadow: none;
}

body:not(.admin-body).page-contact .form-control:focus {
    border-color: var(--lux-gold);
    box-shadow: none;
}

body:not(.admin-body).page-contact .form-group label,
body:not(.admin-body).page-contact .contact-info-item,
body:not(.admin-body).page-contact .contact-info-item a {
    color: var(--lux-muted);
}

body:not(.admin-body).page-contact .contact-info-item svg {
    color: var(--lux-gold);
}

body:not(.admin-body).page-contact .contact-map-frame,
body:not(.admin-body).page-contact .contact-map-frame iframe {
    border-radius: 0;
    filter: grayscale(1) invert(.9) contrast(.8);
}

/* Legal, sitemap, 404 */
body:not(.admin-body) .hero-inner {
    min-height: 54svh;
    padding-top: 170px;
    background: linear-gradient(rgba(10, 10, 10, .72), rgba(10, 10, 10, .9)), url("https://images.unsplash.com/photo-1601662528567-526cd06f6582?w=1920&auto=format&fit=crop") center/cover;
}

body:not(.admin-body) .hero-inner::before {
    display: none;
}

body:not(.admin-body) .hero-inner h1 {
    color: var(--lux-white);
    font-size: clamp(4rem, 8vw, 7.5rem);
    font-weight: 300;
    letter-spacing: .04em;
}

body:not(.admin-body) .container-narrow {
    max-width: 920px;
}

body:not(.admin-body) .blog-body {
    color: var(--lux-muted);
}

body:not(.admin-body) .blog-body h2,
body:not(.admin-body) .blog-body h3,
body:not(.admin-body).page-sitemap .grid h3 {
    color: var(--lux-white);
    font-weight: 300;
}

body:not(.admin-body) .blog-body h2 {
    margin-top: 2.4em;
    padding-top: .8em;
    border-top: 1px solid var(--lux-line);
}

body:not(.admin-body) .blog-body p,
body:not(.admin-body) .blog-body li,
body:not(.admin-body) .sitemap-list a {
    color: var(--lux-muted);
    line-height: 1.9;
}

body:not(.admin-body) .sitemap-list {
    padding: 28px;
    border: 1px solid var(--lux-line);
    background: var(--lux-bg-soft);
}

body:not(.admin-body) .sitemap-list a:hover,
body:not(.admin-body) .blog-body a {
    color: var(--lux-gold);
}

/* Footer */
body:not(.admin-body) .site-footer {
    border-top: 1px solid rgba(201, 168, 76, .45);
    background: var(--lux-bg);
}

body:not(.admin-body) .footer-grid {
    grid-template-columns: 1.4fr .8fr .8fr 1.15fr;
    gap: clamp(35px, 5vw, 90px);
}

body:not(.admin-body) .footer-logo img {
    width: 72px;
    height: 72px;
    object-fit: cover;
}

body:not(.admin-body) .footer-logo span,
body:not(.admin-body) .site-footer h4 {
    color: var(--lux-white);
    font-family: var(--lux-body);
    font-size: .62rem;
    font-weight: 300;
    letter-spacing: .24em;
    text-transform: uppercase;
}

body:not(.admin-body) .site-footer p,
body:not(.admin-body) .site-footer a {
    color: rgba(245, 242, 238, .58);
    font-family: var(--lux-body);
    font-size: .72rem;
    font-weight: 300;
    line-height: 1.8;
}

body:not(.admin-body) .site-footer a:hover {
    color: var(--lux-gold);
}

body:not(.admin-body) .footer-action-row,
body:not(.admin-body) .footer-bottom {
    border-color: var(--lux-line);
}

body:not(.admin-body) .whatsapp-float,
body:not(.admin-body) .back-to-top {
    border: 1px solid rgba(201, 168, 76, .5);
    border-radius: 50%;
    background: var(--lux-bg);
    box-shadow: none;
}

@media (max-width: 1199px) {
    body:not(.admin-body) .nav-menu {
        position: fixed;
        inset: 0;
        z-index: 1001;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        gap: clamp(10px, 1.5vh, 20px);
        margin: 0;
        padding: clamp(110px, 13vh, 155px) clamp(28px, 9vw, 135px) clamp(100px, 12vh, 145px);
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: scale(1.025);
        transition: opacity .7s ease, transform .85s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .85s;
        background:
            linear-gradient(90deg, rgba(10, 10, 10, .97), rgba(10, 10, 10, .89)),
            url("https://images.unsplash.com/photo-1601662528567-526cd06f6582?w=1600&auto=format&fit=crop") center / cover;
    }

    body:not(.admin-body) .nav-toggle {
        position: relative;
        z-index: 1004;
        display: flex;
        width: 50px;
        height: 50px;
        align-items: center;
        justify-content: center;
        gap: 6px;
        border: 1px solid rgba(201, 168, 76, .35);
        border-radius: 50%;
        background: rgba(10, 10, 10, .22);
        transition: border-color .4s ease, background-color .4s ease, transform .4s ease;
    }

    body:not(.admin-body) .nav-toggle:hover,
    body:not(.admin-body) .nav-toggle.active {
        border-color: var(--lux-gold);
        background: rgba(201, 168, 76, .08);
    }

    body:not(.admin-body) .nav-toggle span {
        position: absolute;
        width: 18px;
        height: 1px;
        margin: 0;
        background: var(--lux-gold);
        transform-origin: center;
        transition: transform .55s cubic-bezier(.22, 1, .36, 1), opacity .35s ease, width .35s ease;
    }

    body:not(.admin-body) .nav-toggle span:nth-child(1) { transform: translateY(-6px); }
    body:not(.admin-body) .nav-toggle span:nth-child(2) { width: 12px; transform: translateX(3px); }
    body:not(.admin-body) .nav-toggle span:nth-child(3) { transform: translateY(6px); }
    body:not(.admin-body) .nav-toggle.active span:nth-child(1) { transform: rotate(45deg); }
    body:not(.admin-body) .nav-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    body:not(.admin-body) .nav-toggle.active span:nth-child(3) { transform: rotate(-45deg); }

    body:not(.admin-body) .nav-menu.open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: scale(1);
        transition-delay: 0s;
    }

    body:not(.admin-body) .nav-menu.is-closing {
        visibility: visible;
        opacity: 0;
        pointer-events: none;
        transform: scale(.985);
        transition-delay: 0s;
    }

    body:not(.admin-body) .nav-menu li {
        width: min(100%, 700px);
        opacity: 0;
        transform: translateY(24px);
        transition: opacity .6s ease, transform .75s cubic-bezier(.22, 1, .36, 1);
    }

    body:not(.admin-body) .nav-menu.open li {
        opacity: 1;
        transform: translateY(0);
    }

    body:not(.admin-body) .nav-menu.open li:nth-child(1) { transition-delay: .14s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(2) { transition-delay: .19s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(3) { transition-delay: .24s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(4) { transition-delay: .29s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(5) { transition-delay: .34s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(6) { transition-delay: .39s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(7) { transition-delay: .44s; }
    body:not(.admin-body) .nav-menu.open li:nth-child(8) { transition-delay: .49s; }

    body:not(.admin-body) .nav-menu.is-closing li {
        opacity: 0;
        transform: translateY(-12px);
        transition-delay: 0s;
    }

    body:not(.admin-body) .nav-menu a,
    body:not(.admin-body) .nav-menu.open a {
        position: relative;
        display: grid;
        grid-template-columns: 42px 1fr auto;
        align-items: baseline;
        width: 100%;
        padding: clamp(5px, .7vh, 11px) 0;
        border: 0;
        color: rgba(245, 242, 238, .88);
        font-family: var(--lux-display);
        font-size: clamp(2.15rem, 4.5vw, 4.25rem);
        font-weight: 300;
        letter-spacing: .015em;
        line-height: .96;
        text-transform: none;
    }

    body:not(.admin-body) .nav-menu a::before {
        color: var(--lux-gold);
        font-family: var(--lux-body);
        font-size: .5rem;
        font-weight: 400;
        letter-spacing: .16em;
    }

    body:not(.admin-body) .nav-menu li:nth-child(1) a::before { content: "01"; }
    body:not(.admin-body) .nav-menu li:nth-child(2) a::before { content: "02"; }
    body:not(.admin-body) .nav-menu li:nth-child(3) a::before { content: "03"; }
    body:not(.admin-body) .nav-menu li:nth-child(4) a::before { content: "04"; }
    body:not(.admin-body) .nav-menu li:nth-child(5) a::before { content: "05"; }
    body:not(.admin-body) .nav-menu li:nth-child(6) a::before { content: "06"; }
    body:not(.admin-body) .nav-menu li:nth-child(7) a::before { content: "07"; }
    body:not(.admin-body) .nav-menu li:nth-child(8) a::before { content: "08"; }

    body:not(.admin-body) .nav-menu a::after {
        content: "\2197";
        position: static;
        width: auto;
        height: auto;
        color: rgba(245, 242, 238, .22);
        background: none;
        font-family: var(--lux-body);
        font-size: .8rem;
        opacity: 0;
        transform: translateX(-8px);
        transition: opacity .35s ease, transform .35s ease, color .35s ease;
    }

    body:not(.admin-body) .nav-menu a:hover,
    body:not(.admin-body) .nav-menu a.active {
        color: rgba(201, 168, 76, .9);
    }

    body:not(.admin-body) .nav-menu a:hover::after,
    body:not(.admin-body) .nav-menu a.active::after {
        color: var(--lux-gold);
        opacity: 1;
        transform: translateX(0);
    }

    body:not(.admin-body) .navbar.menu-open {
        border-bottom-color: transparent;
        background: transparent;
        backdrop-filter: none;
    }

    body:not(.admin-body) .navbar.menu-open .nav-logo {
        position: relative;
        z-index: 1004;
    }

    body:not(.admin-body) .nav-overlay-atmosphere {
        position: fixed;
        z-index: 1002;
        right: -2vw;
        bottom: -2vw;
        display: block;
        visibility: hidden;
        color: rgba(245, 242, 238, .035);
        font-family: var(--lux-display);
        font-size: clamp(10rem, 26vw, 30rem);
        font-style: italic;
        font-weight: 300;
        line-height: .7;
        opacity: 0;
        pointer-events: none;
        transform: translateY(35px);
        transition: opacity .8s ease, transform 1s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .9s;
    }

    body:not(.admin-body) .nav-overlay-footer {
        position: fixed;
        z-index: 1003;
        right: clamp(28px, 9vw, 135px);
        bottom: 30px;
        left: clamp(28px, 9vw, 135px);
        display: flex;
        justify-content: space-between;
        visibility: hidden;
        padding-top: 15px;
        border-top: 1px solid rgba(201, 168, 76, .32);
        color: rgba(245, 242, 238, .45);
        font-size: .5rem;
        letter-spacing: .2em;
        text-transform: uppercase;
        opacity: 0;
        pointer-events: none;
        transition: opacity .65s ease .35s, visibility 0s linear .9s;
    }

    body:not(.admin-body) .navbar.menu-open .nav-overlay-atmosphere,
    body:not(.admin-body) .navbar.menu-open .nav-overlay-footer {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition-delay: .2s;
    }

    body:not(.admin-body) .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    body:not(.admin-body) .navbar,
    body:not(.admin-body) .nav-inner {
        min-height: 76px;
    }

    body:not(.admin-body) .nav-logo-text strong {
        font-size: 1.15rem;
    }

    body:not(.admin-body) .nav-menu {
        gap: 9px;
        padding: 98px 22px 92px;
    }

    body:not(.admin-body) .nav-menu a,
    body:not(.admin-body) .nav-menu.open a {
        grid-template-columns: 30px 1fr auto;
        font-size: clamp(1.8rem, 7.5vw, 2.65rem);
        line-height: 1;
    }

    body:not(.admin-body) .nav-overlay-atmosphere {
        right: -8vw;
        bottom: 2vw;
        font-size: 12rem;
    }

    body:not(.admin-body) .nav-overlay-footer {
        right: 22px;
        bottom: 20px;
        left: 22px;
        font-size: .43rem;
    }

    body:not(.admin-body) .about-cinema-hero,
    body:not(.admin-body) .quarry-cinema-hero,
    body:not(.admin-body) .services-cinema-hero,
    body:not(.admin-body) .gallery-cinema-hero,
    body:not(.admin-body) .blogs-hero,
    body:not(.admin-body) .contact-cinematic-hero {
        min-height: 72svh;
    }

    body:not(.admin-body) .cinema-statement-grid h2,
    body:not(.admin-body) .about-cinema-split-copy h2,
    body:not(.admin-body) .about-cinema-numbers-copy h2,
    body:not(.admin-body) .cinema-section-head h2,
    body:not(.admin-body) .quarry-cinema-feature-copy h2,
    body:not(.admin-body) .quarry-cinema-inspection-copy h2,
    body:not(.admin-body) .services-cinema-split-copy h2,
    body:not(.admin-body) .services-cinema-route-inner h2,
    body:not(.admin-body) .quarry-cinema-route-inner h2 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    body:not(.admin-body).page-cinematic-products .products-hero {
        padding-top: 140px;
    }

    body:not(.admin-body).page-cinematic-products .products-hero-copy h1,
    body:not(.admin-body).page-product-detail .pd-info h1,
    body:not(.admin-body) .blog-post-hero h1,
    body:not(.admin-body) .hero-inner h1 {
        font-size: clamp(3rem, 14vw, 4.8rem);
    }

    body:not(.admin-body) .footer-grid {
        grid-template-columns: 1fr;
    }

    body:not(.admin-body).page-contact .contact-form-panel,
    body:not(.admin-body).page-contact .contact-info-card {
        padding: 28px 20px;
    }

    body:not(.admin-body).page-contact .contact-map-card {
        padding: 20px;
    }
}

/* Compact product showcase overrides */
body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb {
    display: block !important;
    padding-top: 104px !important;
    border-bottom: 1px solid rgba(201, 168, 76, .22) !important;
    background: var(--lux-bg) !important;
}

body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb .container {
    max-width: 1280px !important;
}

body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb-inner {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 0 !important;
    color: rgba(245, 242, 238, .64) !important;
    font-family: var(--lux-body) !important;
    font-size: .56rem !important;
    font-weight: 400 !important;
    letter-spacing: .2em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb a {
    color: rgba(245, 242, 238, .64) !important;
}

body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb span:last-child,
body:not(.admin-body).page-product-showcase .pd-visible-breadcrumb a:hover {
    color: var(--lux-gold) !important;
}

body:not(.admin-body).page-product-showcase .pd-showcase,
body:not(.admin-body).page-product-showcase .pd-section {
    padding-block: 42px 44px !important;
}

body:not(.admin-body).page-product-showcase .pd-breadcrumb {
    display: none !important;
}

body:not(.admin-body).page-product-showcase .pd-grid {
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr) !important;
    gap: 46px !important;
    align-items: center !important;
}

body:not(.admin-body).page-product-showcase .pd-main-image {
    min-height: 420px !important;
    padding: 46px 12px !important;
}

body:not(.admin-body).page-product-showcase .pd-main-image::before,
body:not(.admin-body).page-product-showcase .pd-main-image::after {
    bottom: 78px !important;
}

body:not(.admin-body).page-product-showcase .pd-main-image::before {
    left: 56px !important;
}

body:not(.admin-body).page-product-showcase .pd-main-image::after {
    right: 56px !important;
}

body:not(.admin-body).page-product-showcase .pd-premium-badge {
    top: 18px !important;
    min-height: 30px !important;
    padding: 0 15px !important;
    font-size: 10px !important;
}

body:not(.admin-body).page-product-showcase .pd-info h1 {
    margin: 16px 0 !important;
    font-size: clamp(1.85rem, 3.15vw, 3.15rem) !important;
    color: var(--lux-white) !important;
    font-family: var(--lux-display) !important;
    font-weight: 300 !important;
    letter-spacing: .02em !important;
    line-height: 1.08 !important;
}

body:not(.admin-body).page-product-showcase .pd-eyebrow {
    min-height: 34px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(201, 168, 76, .55) !important;
    border-radius: 999px !important;
    color: var(--lux-gold) !important;
    background: rgba(201, 168, 76, .08) !important;
    font-size: .58rem !important;
    font-weight: 400 !important;
    letter-spacing: .24em !important;
    line-height: 34px !important;
}

body:not(.admin-body).page-product-showcase .pd-desc {
    color: rgba(245, 242, 238, .72) !important;
    font-family: var(--lux-body) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

body:not(.admin-body).page-product-showcase .pd-feature-list {
    gap: 8px !important;
    margin: 18px 0 !important;
}

body:not(.admin-body).page-product-showcase .pd-feature-list li {
    font-size: 12px !important;
}

body:not(.admin-body).page-product-showcase .pd-quote-panel {
    margin: 18px 0 20px !important;
    padding: 16px !important;
    border: 1px solid rgba(201, 168, 76, .34) !important;
    border-radius: 0 !important;
    background: var(--lux-panel) !important;
    color: var(--lux-muted) !important;
}

body:not(.admin-body).page-product-showcase .pd-quote-icon {
    color: var(--lux-bg) !important;
    background: var(--lux-gold) !important;
}

body:not(.admin-body).page-product-showcase .pd-quote-panel h2 {
    color: var(--lux-white) !important;
    font-family: var(--lux-body) !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    letter-spacing: .02em !important;
}

body:not(.admin-body).page-product-showcase .pd-quote-panel p {
    color: var(--lux-muted) !important;
    font-size: .75rem !important;
}

body:not(.admin-body).page-product-showcase .pd-quote-panel .pd-btn {
    min-height: 42px !important;
    border-color: var(--lux-gold) !important;
    background: var(--lux-gold) !important;
    color: var(--lux-bg) !important;
    box-shadow: none !important;
}

@media (max-width: 960px) {
    body:not(.admin-body).page-product-showcase .pd-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.admin-body).page-product-showcase .pd-main-image {
        min-height: 360px !important;
    }
}

@media (max-width: 560px) {
    body:not(.admin-body).page-product-showcase .pd-showcase,
    body:not(.admin-body).page-product-showcase .pd-section {
        padding-top: 76px !important;
    }

    body:not(.admin-body).page-product-showcase .pd-main-image {
        min-height: 280px !important;
        padding: 42px 12px !important;
    }
}
