/* auto-built site CSS bundle */

/* === tokens.css === */
:root {
    /* R K Marble — from theme style.css */
    --color-accent: #e02529;
    --color-accent-alt: #fb1616;
    --color-accent-deep: #d01216;
    --color-secondary: #1681c3;
    --color-text: #000000;
    --color-text-muted: #505050;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-bg: #ffffff;
    --color-bg-soft: #f7f7f7;
    --color-band: #282828;
    --color-band-alt: #1a1919;
    --color-band-text: #ffffff;
    --color-header: transparent;
    --color-header-top: #000000;
    --slider-interval: 7000ms;
    --color-overlay: rgba(0, 0, 0, 0.42);
    --color-overlay-strong: rgba(0, 0, 0, 0.62);
    --color-overlay-card: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.72) 100%);
    --color-border: rgba(0, 0, 0, 0.12);
    --color-focus: #e02529;
    --font-sans: "Gravity", "Montserrat", system-ui, sans-serif;
    --font-display: "ITC Avant Garde", "ITC Avant Garde Gothic", "Montserrat", sans-serif;
    --font-body: "Gravity", "Montserrat", sans-serif;
    --font-body-alt: "Gravity Book", "Gravity", "Montserrat", sans-serif;
    --font-nav: "Montserrat", "Gravity", sans-serif;
    --font-weight-light: 300;
    --font-weight-book: 400;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --text-base: 1.042vw;
    --leading-body: 1.5;
    --tracking-nav: 2px;
    --tracking-title: 0.04em;
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2.5rem;
    --space-2xl: 4rem;
    --container-width: 95%;
    --container-width-tight: 95%;
    --container-narrow: 760px;
    --gutter: 1.302vw;
    --header-height: 5.99vw;
    --header-stack: 5.99vw;
    --grid-gap: 1.5rem;
    --radius: 0;
    --transition-fast: 200ms ease;
    --transition: 280ms ease;
    --transition-slider: 800ms ease;
    --transition-card: 450ms cubic-bezier(0.22, 1, 0.36, 1);
    --shadow-card: 0 12px 40px rgba(0, 0, 0, 0.08);
    --color-header-ghost: #e02529b3;
    --logo-height: 2.2vw;
    --z-skip: 1000;
    --z-header: 800;
    --z-overlay: 850;
    --z-menu: 900;
    --z-preview: 950;
    --marble-bg: url("../../images/theme/marble-bg.png");
    --leading-marble-bg: url("../../images/theme/leading-marble.jpg");
    --test-bg: url("../../images/theme/test-bg.jpg");
}

@font-face {
    font-family: "Montserrat";
    src: url("../../fonts/Montserrat-Regular.woff2") format("woff2"),
         url("../../fonts/Montserrat-Regular.woff") format("woff"),
         url("../../fonts/montserrat-regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url("../../fonts/Montserrat-Medium.woff2") format("woff2"),
         url("../../fonts/Montserrat-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url("../../fonts/Montserrat-SemiBold.woff2") format("woff2"),
         url("../../fonts/Montserrat-SemiBold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url("../../fonts/Montserrat-Bold.woff2") format("woff2"),
         url("../../fonts/Montserrat-Bold.woff") format("woff"),
         url("../../fonts/montserrat-bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ITC Avant Garde";
    src: url("../../fonts/ITCAvantGardeStd-Md.woff2") format("woff2"),
         url("../../fonts/ITCAvantGardeStd-Md.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ITC Avant Garde Gothic";
    src: url("../../fonts/ITCAvantGardeStd-Md.woff2") format("woff2"),
         url("../../fonts/ITCAvantGardeStd-Md.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Gravity";
    src: url("../../fonts/Gravity-Regular.woff2") format("woff2"),
         url("../../fonts/Gravity-Regular.woff") format("woff"),
         url("../../fonts/Gravity-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Gravity";
    src: url("../../fonts/Gravity-Book.woff2") format("woff2"),
         url("../../fonts/Gravity-Book.woff") format("woff"),
         url("../../fonts/Gravity-Book.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Gravity Book";
    src: url("../../fonts/Gravity-Book.woff2") format("woff2"),
         url("../../fonts/Gravity-Book.woff") format("woff"),
         url("../../fonts/Gravity-Book.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "FontAwesome";
    src: url("../../fonts/fontawesome-webfont.woff2") format("woff2"),
         url("../../fonts/fontawesome-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/* === base.css === */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

body {
    margin: 0;
    font-family: Gravity, var(--font-body), sans-serif;
    font-weight: 400;
    font-size: 1.042vw;
    line-height: 1.5;
    color: #000;
    background: #fff;
    overflow-x: hidden;
    width: 100%;
}

@media (max-width: 991px) {
    body {
        font-size: 16px;
    }
}

body.page-home {
    background: var(--color-bg);
}

body.is-enquire-open {
    overflow: hidden;
}

body.is-menu-open {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-accent);
}

:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 3px;
}

.skip-link {
    position: absolute;
    left: var(--space-md);
    top: -4rem;
    z-index: var(--z-skip);
    background: var(--color-black);
    color: var(--color-white);
    padding: var(--space-sm) var(--space-md);
}

.skip-link:focus {
    top: var(--space-sm);
}

h1,
h2,
h3,
h4 {
    font-weight: var(--font-weight-light);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-title);
    margin: 0 0 var(--space-md);
}

p {
    margin: 0 0 var(--space-md);
}

ul,
ol {
    margin: 0 0 var(--space-md);
    padding-left: 1.25rem;
}

button,
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
}

button {
    cursor: pointer;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* === layout.css === */
.site-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-header);
    color: var(--color-white);
    background: var(--color-header);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.is-menu-open .site-header {
    z-index: 910;
}

.header-top {
    background: var(--color-header-top);
    min-height: var(--header-top-height);
    font-size: var(--text-sm);
}

.header-top-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: var(--header-top-height);
}

.header-top-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem 1.35rem;
    list-style: none;
    margin: 0;
    padding: 0.45rem 0;
}

.header-top-list a,
.header-top-label {
    color: var(--color-white);
    letter-spacing: 0.02em;
}

.header-top-list a:hover {
    color: var(--color-accent);
}

.header-main {
    background: var(--color-header);
}

.header-main-inner {
    position: relative;
    z-index: 901;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: var(--header-height);
}

.brand-logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-right: auto;
}

.brand-logo img {
    height: var(--logo-height);
    width: auto;
    max-width: 220px;
}

.brand-text {
    color: var(--color-accent);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 1.15rem;
}

.header-actions {
    display: none;
    align-items: center;
    gap: 0.35rem;
}

.header-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--color-white);
}

.header-search:hover {
    color: var(--color-accent);
}

.nav-desktop {
    display: flex;
    align-items: center;
}

.primary-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.15rem 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-nav > .nav-item > a {
    display: inline-flex;
    align-items: center;
    padding: 0.65rem 0.7rem;
    color: var(--color-white);
    font-size: 0.8125rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: var(--font-weight-regular);
    white-space: nowrap;
}

.primary-nav > .nav-item > a:hover,
.primary-nav > .nav-item > a[aria-current="page"] {
    color: var(--color-accent);
}

.primary-nav .nav-children {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    padding: 0.5rem 0;
    background: var(--color-header-top);
    border-top: 2px solid var(--color-accent);
    display: none;
    z-index: 20;
}

.primary-nav .nav-item.has-children:hover > .nav-children,
.primary-nav .nav-item.has-children.is-open > .nav-children {
    display: block;
}

.primary-nav .nav-children a {
    display: block;
    padding: 0.55rem 1rem;
    color: var(--color-white);
    font-size: 0.8125rem;
    text-transform: none;
    letter-spacing: 0.02em;
}

.primary-nav .nav-children a:hover {
    background: var(--color-accent);
    color: var(--color-white);
}

.primary-nav [data-submenu-toggle] {
    display: none;
}

.menu-btn {
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    z-index: 2;
}

.menu-btn .bars {
    position: relative;
    display: block;
    width: 22px;
    height: 18px;
    margin: 0 auto;
}

.menu-btn .bar {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--color-white);
    transition: transform 0.2s ease, opacity 0.2s ease, width 0.2s ease, background-color 0.2s ease;
}

.menu-btn .bar.b1 { top: 1px; }
.menu-btn .bar.b2 { top: 8px; }
.menu-btn .bar.b3 { top: 15px; }

.menu-btn.is-active .bar.b1 {
    transform: translateY(7px) rotate(-135deg);
}

.menu-btn.is-active .bar.b2 {
    opacity: 0;
}

.menu-btn.is-active .bar.b3 {
    transform: translateY(-7px) rotate(-225deg);
}

.nav-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-menu);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--header-stack) + 1rem) 1.25rem 2rem;
    background: rgba(26, 25, 25, 0.97);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    overflow: auto;
}

.nav-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.overlay-nav {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    width: min(28rem, 100%);
}

.overlay-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: var(--font-weight-regular);
    color: var(--color-white);
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.overlay-nav .nav-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    background: currentColor;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

.overlay-nav a[data-nav-icon="home"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 11h2v9h6v-6h2v6h6v-9h2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 11h2v9h6v-6h2v6h6v-9h2z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="products"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4zm9 0h7v7h-7zM4 13h7v7H4zm9 0h7v7h-7z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4zm9 0h7v7h-7zM4 13h7v7H4zm9 0h7v7h-7z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="collection"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 7v10l8 5 8-5V7zm0 2.3L18 8l-6 3.7L6 8z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 7v10l8 5 8-5V7zm0 2.3L18 8l-6 3.7L6 8z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="about"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0 2c-4 0-8 2-8 5v1h16v-1c0-3-4-5-8-5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0 2c-4 0-8 2-8 5v1h16v-1c0-3-4-5-8-5z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="events"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v16H4V4h3zm13 6H4v10h16z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v16H4V4h3zm13 6H4v10h16z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="blog"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h9l5 5v13H6zm8 1.5V9h4.5zM8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h9l5 5v13H6zm8 1.5V9h4.5zM8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="compliance"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v7c0 5 3.4 8.7 8 10 4.6-1.3 8-5 8-10V5zm-1 14-4-4 1.4-1.4L11 13.2l4.6-4.6L17 10z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v7c0 5 3.4 8.7 8 10 4.6-1.3 8-5 8-10V5zm-1 14-4-4 1.4-1.4L11 13.2l4.6-4.6L17 10z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="contact"] .nav-icon,
.overlay-nav a[data-nav-icon="link"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3zm2 2v2l7 4 7-4V7zm14 4.2-7 4-7-4V17h14z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3zm2 2v2l7 4 7-4V7zm14 4.2-7 4-7-4V17h14z'/%3E%3C/svg%3E");
}

.overlay-nav a[data-nav-icon="work"] .nav-icon,
.overlay-nav a[data-nav-icon="process"] .nav-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 3h4v14H4V6h4zm1.5 8A1.5 1.5 0 1 0 12 12.5 1.5 1.5 0 0 0 10.5 11z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6l1 3h4v14H4V6h4zm1.5 8A1.5 1.5 0 1 0 12 12.5 1.5 1.5 0 0 0 10.5 11z'/%3E%3C/svg%3E");
}

.overlay-nav > li > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--color-accent);
    transform: scaleX(0);
    transition: transform 0.1s;
}

.overlay-nav > li > a:hover::after,
.overlay-nav > li > a[aria-current="page"]::after {
    transform: scaleX(1);
}

.overlay-nav a:hover,
.overlay-nav a[aria-current="page"] {
    color: var(--color-accent);
}

.overlay-nav .nav-icon {
    display: none;
}

.nav-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.nav-children {
    display: none;
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0 0 0 1rem;
}

.nav-item.is-open > .nav-children {
    display: block;
}

.nav-children a {
    font-size: 0.9rem;
}

[data-submenu-toggle] {
    display: none;
    background: transparent;
    border: 0;
    color: inherit;
    width: 2rem;
    height: 2rem;
    padding: 0;
}

.nav-overlay [data-submenu-toggle] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
}

.phone-fab {
    position: fixed;
    left: 15px;
    bottom: 15px;
    z-index: 960;
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: inherit;
}

.phone-fab img {
    width: 60px;
    height: auto;
    display: block;
}

.phone-fab:hover {
    color: inherit;
    opacity: 0.85;
}

.enquire-tab {
    position: fixed;
    top: 35%;
    right: 0;
    z-index: 960;
    display: block;
    padding: 0;
    background: transparent;
    line-height: 0;
}

.enquire-tab img {
    display: block;
    width: 51px;
    height: auto;
}

.enquire-tab:hover {
    color: inherit;
    opacity: 0.9;
}

.enquire-dialog {
    position: fixed;
    inset: 0;
    z-index: 970;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.72);
}

.enquire-dialog.is-open,
.enquire-dialog:target {
    display: flex;
}

.enquire-panel {
    position: relative;
    width: min(480px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    background: #141414;
    color: #f3f3f3;
    border: 1px solid rgba(215, 136, 102, 0.38);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
    padding: 2.25rem 1.75rem 1.75rem;
}

.enquire-panel h2 {
    text-transform: uppercase;
    font-size: var(--text-lg);
    letter-spacing: 0.16em;
    color: #fff;
    margin-bottom: var(--space-lg);
}

.enquire-thanks {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}

.enquire-close {
    position: absolute;
    top: 8px;
    right: 12px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
}

.container,
.full-container {
    width: 100%;
    max-width: 95%;
    margin-inline: auto;
    padding-inline: 0;
}

.site-main {
    min-height: 50vh;
}

.section {
    padding: var(--space-3xl) 0;
}

.section-soft {
    background: var(--color-bg-soft);
}

body:not(.page-home) .section-soft {
    background: var(--color-band-alt);
}

.section-dark {
    background: var(--color-band);
    color: var(--color-band-text);
}

.section-dark .section-title,
.section-dark h2,
.section-dark p {
    color: var(--color-band-text);
}

.section-header {
    text-align: center;
    margin-bottom: 3.25rem;
}

.section-title-rule {
    display: block;
    width: 110px;
    height: 1px;
    margin: 8px auto 0;
    background: var(--color-accent);
}

.split .section-title-rule {
    margin-left: 0;
    margin-right: auto;
}

.page-home .section-dark {
    padding: 4.25rem 0 3.75rem;
}

.section-dark-alt {
    background: var(--color-band-alt);
}

.is-source-hidden {
    display: none;
}

body.page-category,
body.page-collection,
body.page-product,
body.page-products,
body:not(.page-home),
body.page-category .site-main,
body.page-collection .site-main,
body.page-product .site-main,
body.page-products .site-main,
body:not(.page-home) .site-main {
    background: #fff;
    color: #000;
}

.section-kicker {
    display: block;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: var(--tracking-nav);
    font-size: var(--text-xs);
    margin-bottom: var(--space-sm);
}

.section-title {
    font-size: var(--text-2xl);
    text-transform: uppercase;
    margin-bottom: 0;
}

.section-dark .section-title {
    font-size: 34px;
    font-weight: var(--font-weight-regular);
}

.section-dark .empty-state {
    color: rgba(255, 255, 255, 0.72);
}

.archive-band .empty-state,
.page-product .empty-state,
body:not(.page-home) .empty-state {
    color: rgba(255, 255, 255, 0.78);
}

body:not(.page-home) .empty-state h2 {
    color: var(--color-white);
}

.site-footer {
    background: var(--color-black);
    color: #cfcfcf;
    padding: var(--space-3xl) 0 var(--space-xl);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, 1fr);
    gap: var(--space-xl);
}

.site-footer h2 {
    color: var(--color-accent);
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: var(--space-lg);
}

.site-footer a:hover {
    color: var(--color-accent);
}

.footer-brand img {
    max-height: 40px;
    width: auto;
    margin-bottom: var(--space-md);
}

.footer-contact p,
.footer-nav {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-sm);
}

.footer-nav li {
    margin-bottom: 0.4rem;
}

.footer-meta {
    margin-top: var(--space-2xl);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    font-size: var(--text-xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.footer-credit,
.footer-credit a {
    color: rgba(255, 255, 255, 0.72);
}

.rk-mark {
    max-height: 36px;
    width: auto;
    opacity: 0.85;
    margin-top: var(--space-md);
}

.preview-banner {
    position: sticky;
    top: 0;
    z-index: var(--z-preview);
    background: var(--color-accent);
    color: var(--color-white);
    text-align: center;
    padding: var(--space-xs) var(--space-md);
    font-size: var(--text-sm);
}

.back-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 960;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
    border: 1px solid var(--color-accent);
    border-radius: 50%;
    background: transparent;
}

.back-to-top::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 8px solid currentColor;
    margin-bottom: 2px;
}

.back-to-top:hover {
    color: var(--color-white);
    border-color: var(--color-white);
}

body.page-home,
body.page-home .site-main {
    background: var(--color-bg);
    color: var(--color-text);
}


/* === rk-chrome.css === */
/* RK Marble chrome — header, mega-menu, search, footer (theme-aligned) */

.rk-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-header);
    padding: 1.2vw 0;
    background: transparent;
}

.rk-header.is-scrolled,
.rk-header.is-solid {
    position: fixed;
    background: rgba(0, 0, 0, 0.92);
    padding: 0.6vw 0;
}

.page-home .rk-header:not(.is-scrolled) {
    background: transparent;
}

body:not(.page-home) .rk-header {
    position: relative;
    background: #000;
}

.rk-navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5vw;
}

.rk-brand {
    display: block;
    flex: 0 0 auto;
    max-width: 12vw;
    min-width: 110px;
}

.rk-logo {
    width: 100%;
    height: auto;
    display: block;
}

.rk-nav-toggle {
    display: none;
    border: 0;
    background: transparent;
    padding: 0.5rem;
    cursor: pointer;
}

.rk-nav-toggle .bars {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-nav-toggle .bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
}

.rk-nav {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.542vw;
}

.rk-nav > .nav-item {
    position: relative;
    margin: 0;
    list-style: none;
}

.rk-nav > .nav-item > .nav-link {
    display: block;
    padding: 1.2vw 0.75vw;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: var(--font-nav);
    font-size: 0.833vw;
    font-weight: 500;
    white-space: nowrap;
}

.rk-nav > .nav-item > .nav-link:hover,
.rk-nav > .nav-item > .nav-link.is-active {
    color: #e02529;
}

.rk-nav .mega-toggle {
    display: none;
}

.rk-nav-mobile-close {
    display: none;
}

.rk-nav .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 14vw;
    margin: 0;
    padding: 0.8vw 0;
    list-style: none;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
    z-index: var(--z-menu);
}

.rk-nav .nav-item.has-children:hover > .dropdown-menu,
.rk-nav .nav-item.has-children.is-open > .dropdown-menu {
    display: block;
}

.rk-nav .dropdown-menu .nav-item {
    position: relative;
    list-style: none;
}

.rk-nav .dropdown-item {
    display: block;
    padding: 0.55vw 1.2vw;
    color: #000;
    font-size: 0.833vw;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.rk-nav .dropdown-item:hover {
    color: #e02529;
    background: #f7f7f7;
}

.rk-nav .dropdown-menu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: 0;
}

.rk-nav .dropdown-menu .nav-item.has-children:hover > .dropdown-menu,
.rk-nav .dropdown-menu .nav-item.has-children.is-open > .dropdown-menu {
    display: block;
}

.rk-nav .dropdown-menu .mega-toggle {
    display: none;
}

.rk-search-btn {
    border: 0;
    background: transparent;
    padding: 1.2vw 0.6vw;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.rk-search-btn img {
    width: 1.1vw;
    min-width: 16px;
    height: auto;
    filter: invert(1);
}

.rk-search-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    padding: 1vw 2vw;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.rk-search-panel[hidden] {
    display: none !important;
}

.rk-search-form {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    max-width: 95%;
    margin: 0 auto;
}

.rk-search-form input {
    flex: 1;
    border: 1px solid #ddd;
    padding: 0.75rem 1rem;
    font: inherit;
}

.rk-search-form button {
    border: 0;
    background: #e02529;
    color: #fff;
    padding: 0.75rem 1.25rem;
    cursor: pointer;
    font: inherit;
}

.rk-search-form [data-search-close] {
    background: transparent;
    color: #000;
    font-size: 1.5rem;
    line-height: 1;
}

/* Footer */
.rk-footer {
    background: #fff;
    color: #000;
    padding: 3.333vw 0 0;
    border-top: 1px solid #eee;
}

.rk-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 2vw;
}

.footer-heading {
    font-family: var(--font-display);
    font-size: 1.563vw;
    font-weight: 500;
    margin: 0 0 1.5vw;
    text-transform: uppercase;
}

.rk-footer-quick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1vw;
}

.fotr-item {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fotr-item a,
.rk-footer-contact a {
    display: block;
    padding: 0.35vw 0;
    color: #000;
    font-size: 0.938vw;
}

.fotr-item a:hover,
.rk-footer-contact a:hover {
    color: #e02529;
}

.rk-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.938vw;
    line-height: 1.6;
}

.rk-footer-social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    margin: 1.5vw 0 0;
    padding: 0;
}

.rk-footer-social a {
    display: inline-flex;
    width: 2vw;
    height: 2vw;
    min-width: 28px;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    border-radius: 50%;
    font-size: 0.7vw;
    text-transform: uppercase;
}

.rk-footer-bottom {
    margin-top: 2.5vw;
    padding: 1.2vw 0;
    border-top: 1px solid #eee;
    text-align: center;
    font-size: 0.938vw;
}

.rk-footer-bottom a {
    color: #000;
}

/* Theme floating enquire (footer bottom-footer.php) */
.floatingIcon_enquiry {
    position: fixed;
    right: 2.196vw;
    bottom: 2.196vw;
    z-index: 999;
}

.floatingIcon_enquiry .floatingIcon_link {
    height: 5.124vw;
    width: 5.124vw;
    min-width: 44px;
    min-height: 44px;
    background: #e02529;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    box-shadow: 0 10px 31px 5px rgba(2, 20, 95, 0.2);
    border: 1px solid #fff;
}

.floatingIcon_enquiry .floatIcon {
    max-width: 2.05vw;
    min-width: 16px;
    width: 100%;
    display: block;
    margin: auto;
}

.floatingIcon_enquiry img {
    width: 100%;
    height: auto;
    display: block;
}

/* Live mobile bottom action bar (modals.php .btmSec) */
.btmSec {
    display: none;
}

@media (max-width: 767px) {
    .btmSec {
        display: block;
        padding-bottom: 0;
        position: fixed;
        bottom: 10px;
        width: 100%;
        max-width: 95%;
        margin: auto;
        z-index: 9;
        left: 0;
        right: 0;
    }

    .btmContent {
        background: #fff;
        box-shadow: 0 0 16px 4px rgb(0 0 0 / 10%);
        padding: 15px 18px;
        border-radius: 12px;
    }

    .btmSec-list {
        display: flex;
        align-items: stretch;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .btmSec-item {
        margin: 0;
    }

    .btmSec-item.is-enquire {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }

    .btmSec-item.is-download {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .btmSec-item.is-call {
        flex: 0 0 16.666%;
        max-width: 16.666%;
    }

    .btmSec-item:not(:last-child) {
        border-right: 1px solid #e7e7e7;
    }

    .btmContent i {
        font-family: FontAwesome, sans-serif;
        font-style: normal;
        font-weight: normal;
        font-size: 20px;
        padding-bottom: 8px;
        display: inline-block;
        speak: none;
    }

    .btmContent .fa-envelope::before { content: "\f0e0"; }
    .btmContent .fa-file-pdf-o::before { content: "\f1c1"; }
    .btmContent .fa-phone::before { content: "\f095"; }

    .linkMb a {
        display: block;
        color: #000;
        text-decoration: none;
        font-size: 16px;
        line-height: 1.2;
    }

    .linkMb span {
        font-weight: 600;
        font-family: var(--font-body-alt, Gravity, sans-serif);
    }

    .linkMb:hover i,
    .linkMb:hover span {
        color: #e02529;
    }
}


@media (max-width: 991px) {
    .rk-nav-toggle {
        display: inline-flex;
    }

    .rk-nav-mobile-close {
        display: block;
    }

    .rk-nav-collapse {
        position: fixed;
        inset: 0;
        background: #000;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        z-index: calc(var(--z-menu) + 1);
        padding: 4rem 1.5rem 2rem;
        overflow: auto;
    }

    .rk-nav-collapse.is-open {
        transform: translateX(0);
    }

    .rk-nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .rk-nav > .nav-item > .nav-link {
        font-size: 16px;
        padding: 0.85rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .rk-nav .mega-toggle {
        display: inline-flex;
        position: absolute;
        right: 0;
        top: 0.6rem;
        border: 0;
        background: transparent;
        color: #fff;
        font-size: 1.25rem;
        cursor: pointer;
    }

    .rk-nav .nav-item.has-children {
        position: relative;
    }

    .rk-nav .dropdown-menu {
        position: static;
        display: none;
        background: transparent;
        box-shadow: none;
        padding-left: 1rem;
    }

    .rk-nav .nav-item.is-open > .dropdown-menu {
        display: block;
    }

    .rk-nav .dropdown-item {
        color: #fff;
        font-size: 15px;
        padding: 0.55rem 0;
    }

    .rk-nav .dropdown-menu .dropdown-menu {
        left: 0;
    }

    .rk-search-btn img {
        width: 18px;
        filter: invert(1);
    }

    .footer-heading,
    .fotr-item a,
    .rk-footer-contact,
    .rk-footer-bottom {
        font-size: 16px;
    }

    .footer-heading {
        color: #e02529;
        font-size: 22px;
        margin-bottom: 17px;
        font-weight: 600;
    }

    .rk-footer {
        padding: 39px 0 95px;
    }

    .rk-footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .rk-footer-quick {
        gap: 1rem;
    }

    .fotr-item a,
    .rk-footer-contact li {
        padding: 0.45rem 0;
        line-height: 1.55;
    }

    .rk-footer-social {
        margin-top: 1.25rem;
        gap: 0.85rem;
    }

    .rk-footer-social a {
        width: 36px;
        height: 36px;
        font-size: 12px;
    }

    .rk-footer-bottom {
        margin-top: 2rem;
        padding: 1.25rem 0 0;
        font-size: 14px;
        line-height: 1.6;
    }
}


/* === components.css === */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 9px 35px;
    border: 1px groove var(--color-header-ghost);
    background: transparent;
    color: var(--color-header-ghost);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 14px;
    transition: color 0.5s cubic-bezier(0.59, 0.68, 0.61, 1.22), border-color 0.5s cubic-bezier(0.59, 0.68, 0.61, 1.22), background-color 0.5s cubic-bezier(0.59, 0.68, 0.61, 1.22);
}

.btn:hover {
    background: transparent;
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.btn-ghost {
    background: transparent;
    color: var(--color-white);
    border-color: var(--color-white);
}

.btn-ghost:hover {
    background: var(--color-white);
    color: var(--color-text);
    border-color: var(--color-white);
}

.btn-outline {
    background: transparent;
    color: var(--color-text);
    border-color: var(--color-text);
}

.btn-outline:hover {
    background: var(--color-text);
    color: var(--color-white);
    border-color: var(--color-text);
}

.prose.is-centered {
    margin-inline: auto;
    text-align: center;
}

.card-grid,
.product-grid,
.collection-grid,
.category-grid,
.event-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--grid-gap);
}

.product-grid {
    gap: 2.25rem 1.85rem;
    align-items: start;
}

.category-grid,
.collection-grid {
    gap: 2.5rem 1.85rem;
}

.category-grid {
    grid-template-columns: repeat(6, 1fr);
}

.category-grid > .catalog-tile {
    grid-column: span 2;
    min-width: 0;
}

.category-grid > .catalog-tile:nth-child(4):nth-last-child(2) {
    grid-column: 2 / span 2;
}

.category-grid > .catalog-tile:nth-child(5):last-child {
    grid-column: 4 / span 2;
}

.tile,
.product-card,
.collection-card,
.event-card,
.project-card {
    background: var(--color-black);
    color: var(--color-white);
}

.product-tile {
    background: transparent;
    text-align: center;
    min-width: 0;
}

.product-tile a {
    display: block;
    color: inherit;
}

.product-tile a:hover {
    color: inherit;
}

.product-tile .card-media {
    width: 100%;
    height: auto;
    max-width: none;
    aspect-ratio: 1 / 1;
    margin-inline: auto;
    border-radius: 5%;
    overflow: hidden;
    background: #1a1a1a;
    box-shadow: 0 0 0 0 rgba(215, 136, 102, 0);
    transition: box-shadow 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.product-tile .card-media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 28%, rgba(0, 0, 0, 0.55) 78%, rgba(0, 0, 0, 0.82) 100%);
    opacity: 0.92;
    transition: opacity 700ms ease;
}

.product-tile .card-media::after {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid rgba(215, 136, 102, 0);
    border-radius: 3%;
    transition: border-color 700ms ease, box-shadow 700ms ease;
}

.product-tile img {
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1), filter 700ms ease, opacity 700ms ease;
}

.product-tile:hover .card-media,
.product-tile:focus-within .card-media {
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.38);
}

.product-tile:hover .card-media::before,
.product-tile:focus-within .card-media::before {
    opacity: 1;
}

.product-tile:hover .card-media::after,
.product-tile:focus-within .card-media::after {
    border-color: rgba(215, 136, 102, 0.82);
    box-shadow: inset 0 0 0 1px rgba(215, 136, 102, 0.22);
}

.product-tile:hover .card-media.is-media-ready img,
.product-tile:focus-within .card-media.is-media-ready img {
    transform: scale(1.08);
    filter: contrast(1.06) saturate(1.08);
}

.product-tile .card-title {
    position: absolute;
    left: 9%;
    right: 9%;
    bottom: 11%;
    z-index: 3;
    margin: 0;
    color: #f4d4c4;
    font-size: 13px;
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.35;
    text-align: center;
    text-shadow: 0 8px 18px rgba(0, 0, 0, 0.45);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transform: translateY(6px);
    transition: color 500ms ease, letter-spacing 500ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.product-tile:hover .card-title,
.product-tile:focus-within .card-title {
    color: #f7e0d4;
    letter-spacing: 0.14em;
    transform: translateY(0);
}

.overlay-card a {
    display: block;
    color: inherit;
}

.overlay-card a:hover {
    color: inherit;
}

.tile-media,
.card-media {
    position: relative;
    overflow: hidden;
    background: #1a1a1a;
    aspect-ratio: var(--card-ratio);
}

.card-media img,
.tile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms ease;
}

.overlay-card .card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.35rem 1.15rem;
    background: var(--color-overlay-card);
    pointer-events: none;
}

.overlay-card .card-title {
    font-size: 1.05rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-white);
    margin: 0;
    transform: translateY(0.7rem);
    transition: transform var(--transition-card);
}

.overlay-card .card-meta {
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0.35rem 0 0;
    transform: translateY(0.7rem);
    transition: transform var(--transition-card);
}

.overlay-card:hover img,
.overlay-card:focus-within img {
    transform: scale(1.06);
}

.overlay-card:hover .card-title,
.overlay-card:hover .card-meta,
.overlay-card:focus-within .card-title,
.overlay-card:focus-within .card-meta {
    transform: translateY(0);
}

.catalog-tile {
    background: transparent;
    color: inherit;
    text-align: center;
    min-width: 0;
}

.catalog-tile a {
    display: block;
    color: inherit;
}

.catalog-tile a:hover {
    color: inherit;
}

.catalog-tile .tile-media,
.catalog-tile .card-media {
    position: relative;
    width: 100%;
    height: auto;
    max-width: none;
    aspect-ratio: 1 / 1;
    margin-inline: auto;
    overflow: hidden;
    border-radius: 5%;
    background: #1a1a1a;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    transition: box-shadow 800ms cubic-bezier(0.22, 1, 0.36, 1), transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-tile .tile-media::before,
.catalog-tile .card-media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 18%, rgba(0, 0, 0, 0.12) 48%, rgba(0, 0, 0, 0.78) 100%);
    opacity: 0.92;
    transition: opacity 700ms ease;
}

.catalog-tile .tile-media::after,
.catalog-tile .card-media::after {
    content: "";
    position: absolute;
    inset: 4.5%;
    z-index: 2;
    pointer-events: none;
    border: 1px solid rgba(215, 136, 102, 0);
    border-radius: 3%;
    transition: border-color 700ms ease, box-shadow 700ms ease, inset 700ms ease;
}

.catalog-tile img {
    transform: scale(1.03);
    transform-origin: center center;
    transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), filter 800ms ease, opacity 700ms ease;
    will-change: transform;
}

.catalog-tile:hover .tile-media,
.catalog-tile:focus-within .tile-media,
.catalog-tile:hover .card-media,
.catalog-tile:focus-within .card-media {
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
    transform: translateY(-4px);
}

.catalog-tile:hover .tile-media::before,
.catalog-tile:focus-within .tile-media::before,
.catalog-tile:hover .card-media::before,
.catalog-tile:focus-within .card-media::before {
    opacity: 1;
}

.catalog-tile:hover .tile-media::after,
.catalog-tile:focus-within .tile-media::after,
.catalog-tile:hover .card-media::after,
.catalog-tile:focus-within .card-media::after {
    border-color: rgba(215, 136, 102, 0.88);
    box-shadow: inset 0 0 0 1px rgba(215, 136, 102, 0.28);
}

.catalog-tile:hover .tile-media.is-media-ready img,
.catalog-tile:focus-within .tile-media.is-media-ready img,
.catalog-tile:hover .card-media.is-media-ready img,
.catalog-tile:focus-within .card-media.is-media-ready img {
    transform: scale(1.1);
    filter: contrast(1.07) saturate(1.12) brightness(1.05);
}

.catalog-tile-caption {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 9%;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

.catalog-tile-title {
    margin: 0;
    color: #f4d4c4;
    font-size: clamp(0.95rem, 1.45vw, 1.28rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    line-height: 1.25;
    text-align: center;
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
    transform: translateY(8px);
    transition: color 500ms ease, letter-spacing 500ms ease, transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-tile-line {
    display: block;
    width: 0;
    height: 1px;
    margin: 0.7rem auto 0;
    background: var(--color-accent);
    transition: width 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-tile:hover .catalog-tile-title,
.catalog-tile:focus-within .catalog-tile-title {
    color: #f8e6db;
    letter-spacing: 0.24em;
    transform: translateY(0);
}

.catalog-tile:hover .catalog-tile-line,
.catalog-tile:focus-within .catalog-tile-line {
    width: 3.25rem;
}

.catalog-tile .media-fallback {
    min-height: 0;
    width: 100%;
    height: auto;
    max-width: none;
    margin-inline: auto;
    aspect-ratio: 1 / 1;
    font-size: 0.7rem;
}

.card-body {
    padding: var(--space-md) 0;
}

.card-title {
    font-size: var(--text-base);
    letter-spacing: 0.04em;
    margin: 0 0 var(--space-2xs);
}

.card-meta {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    margin: 0;
}

.media-fallback {
    width: 100%;
    height: 100%;
    min-height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #3a3a3a, #1f1f1f);
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-nav);
    text-transform: uppercase;
}

.media-ph {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 22% 18%, rgba(215, 136, 102, 0.18), transparent 52%),
        radial-gradient(ellipse at 78% 86%, rgba(255, 255, 255, 0.05), transparent 46%),
        linear-gradient(145deg, #141414 0%, #2a241f 48%, #101010 100%);
}

.media-ph::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 18%, rgba(255, 255, 255, 0.1) 42%, rgba(215, 136, 102, 0.2) 50%, transparent 68%);
    transform: translateX(-85%);
    animation: media-shimmer 1.7s ease-in-out infinite;
}

.tile-media.is-media-wait img,
.card-media.is-media-wait img,
.product-portrait-media.is-media-wait img {
    opacity: 0;
    filter: blur(16px) saturate(1.08);
    transform: scale(1.08);
}

.tile-media.is-media-ready .media-ph,
.card-media.is-media-ready .media-ph,
.product-portrait-media.is-media-ready .media-ph,
.split-media.is-media-ready .media-ph,
.team-photo.is-media-ready .media-ph,
.process-shot.is-media-ready .media-ph {
    opacity: 0;
    transition: opacity 480ms ease 80ms;
    pointer-events: none;
}

@keyframes media-shimmer {
    to {
        transform: translateX(85%);
    }
}

.page-hero .media-fallback {
    min-height: 10rem;
}

.collection-identity {
    max-width: 12rem;
    margin-top: var(--space-lg);
}

.collection-identity .media-fallback {
    aspect-ratio: 4 / 3;
    min-height: 0;
}

.breadcrumbs {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
}

.page-hero-cover .breadcrumbs,
.page-hero-cover .breadcrumbs a {
    color: rgba(255, 255, 255, 0.8);
}

.breadcrumbs ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin: 0;
    padding: 0;
}

.breadcrumbs li:not(:last-child)::after {
    content: "/";
    margin-left: var(--space-xs);
    color: #b0b0b0;
}

.page-hero {
    padding: calc(var(--header-height) + var(--space-2xl)) 0 var(--space-xl);
    background: var(--color-bg-soft);
}

body:not(.page-home) .page-hero,
body.page-products .page-hero,
body.page-collection .page-hero:not(.page-hero-cover),
body.page-category .page-hero:not(.page-hero-cover) {
    background: var(--color-band);
    color: var(--color-band-text);
}

body:not(.page-home) .site-main > .section:first-child:not(.page-hero) {
    padding-top: calc(var(--header-height) + var(--space-2xl));
}

.page-hero h1 {
    font-size: var(--text-2xl);
    text-transform: uppercase;
}

.page-hero-cover {
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: flex-end;
    padding: calc(var(--header-height) + var(--space-2xl)) 0 var(--space-2xl);
    background: var(--color-black);
    color: var(--color-white);
    overflow: hidden;
}

.page-hero-cover .page-hero-media,
.page-hero-cover .page-hero-media picture,
.page-hero-cover .page-hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.page-hero-cover .page-hero-media img {
    z-index: 1;
}

.page-hero-cover .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.28) 0, rgba(0, 0, 0, 0.12) 42%, rgba(0, 0, 0, 0.58) 100%);
}

.page-hero-cover .container {
    position: relative;
    z-index: 2;
}

.page-hero-cover h1 {
    color: var(--color-white);
}

.catalog-hero {
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: calc(var(--header-height) + 2rem) 1.5rem 4rem;
}

.catalog-hero .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.catalog-hero .breadcrumbs {
    display: none;
}

.catalog-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 46rem;
}

.catalog-hero-rule {
    display: block;
    width: 1px;
    height: 60px;
    background: var(--color-accent);
}

.catalog-hero h1 {
    margin: 1.25rem 0;
    font-size: 41px;
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.catalog-hero.is-product h1 {
    font-size: 24px;
    letter-spacing: 0.08em;
}

.catalog-hero-lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.catalog-hero-lead p {
    margin: 0;
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: var(--font-weight-light);
    line-height: 1.7;
}

.archive-band {
    background: var(--color-band);
    color: var(--color-band-text);
}

.archive-band .breadcrumbs,
.archive-band .breadcrumbs a {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 11px;
}

.archive-band .breadcrumbs [aria-current="page"] {
    color: #b0b0b0;
}

.archive-band .section-title {
    color: var(--color-white);
}

.section-dark .prose,
.archive-band .prose,
.page-product .prose,
.page-product .card-meta,
.page-product .card-meta a {
    color: rgba(255, 255, 255, 0.86);
}

.page-product .attr-table th,
.page-product .attr-table td {
    color: rgba(255, 255, 255, 0.86);
    border-color: rgba(255, 255, 255, 0.12);
}

.form {
    display: grid;
    gap: var(--space-md);
    max-width: none;
}

.form-row {
    display: grid;
    gap: var(--space-2xs);
}

.captcha-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.captcha-image {
    display: block;
    width: 150px;
    height: 48px;
    border: 1px solid #ddd;
    background: #f5f5f5;
    object-fit: contain;
}

.captcha-refresh {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #ddd;
    background: #fff;
    color: var(--color-accent, #e02529);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.captcha-input {
    max-width: 10rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.phone-field {
    display: grid;
    grid-template-columns: minmax(9.5rem, 0.95fr) minmax(0, 1.05fr);
    gap: 0.5rem;
}

.phone-field select,
.phone-field input {
    min-width: 0;
    width: 100%;
}

@media (max-width: 480px) {
    .phone-field {
        grid-template-columns: 1fr;
    }
}

.form label {
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-nav);
    text-transform: uppercase;
}

.form input,
.form textarea,
.form select {
    width: 100%;
    border: 1px solid var(--color-border);
    padding: 0.8rem 0.9rem;
    background: var(--color-white);
}

.form textarea {
    min-height: 10rem;
    resize: vertical;
}

.form .error {
    color: #9b2c2c;
    font-size: var(--text-sm);
}

.form-summary {
    margin: 0 0 12px;
}

.form .req {
    color: var(--color-accent);
}

.char-count {
    margin: 0;
    font-size: var(--text-xs);
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
}

.enquire-product {
    margin: 0 0 1.1rem;
    color: var(--color-accent);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.enquire-form.is-dark .enquire-product {
    color: #e4a78a;
}

.enquire-form.is-dark label {
    color: rgba(255, 255, 255, 0.82);
}

.enquire-form.is-dark input,
.enquire-form.is-dark textarea,
.enquire-form.is-dark select {
    background: #1c1c1c;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.18);
}

.enquire-form.is-dark input:focus,
.enquire-form.is-dark textarea:focus,
.enquire-form.is-dark select:focus {
    border-color: var(--color-accent);
    outline: 1px solid var(--color-accent);
}

.enquire-form.is-dark [aria-invalid="true"] {
    border-color: #d27a7a;
}

.enquire-form.is-dark .error {
    color: #f0b4b4;
}

.enquire-form.is-dark .char-count {
    color: rgba(255, 255, 255, 0.72);
}

.enquire-form.is-dark .btn:hover {
    color: #fff;
}

.honeypot {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.flash {
    padding: var(--space-sm) var(--space-md);
    margin: calc(var(--header-height) + 12px) auto 0;
    max-width: min(var(--container-width), calc(100% - 30px));
}

.flash-success {
    background: #e8f5e9;
}

.flash-error {
    background: #fdecea;
}

.empty-state {
    text-align: center;
    padding: var(--space-2xl) var(--space-md);
    color: var(--color-text-muted);
}

.empty-state h2 {
    color: var(--color-text);
    margin-bottom: var(--space-sm);
}

.search-form {
    display: flex;
    gap: var(--space-sm);
    margin-top: var(--space-md);
    max-width: 36rem;
}

.search-form input[type="search"] {
    flex: 1;
    padding: 0.6rem 0.8rem;
}

.search-results {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-xl);
}

.search-results li {
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--color-border);
}

.gallery {
    display: grid;
    gap: var(--space-md);
}

.gallery-stage {
    background: var(--color-bg-soft);
    min-height: 20rem;
}

.gallery-stage img {
    width: 100%;
    max-height: 36rem;
    object-fit: contain;
    margin: 0 auto;
}

.gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.gallery-thumbs button {
    border: 2px solid transparent;
    padding: 0;
    background: var(--color-bg-soft);
    width: 5.5rem;
}

.gallery-thumbs button[aria-current="true"] {
    border-color: var(--color-accent);
}

.gallery-thumbs img {
    width: 5.5rem;
    height: 4rem;
    object-fit: cover;
}

.pagination {
    display: flex;
    gap: var(--space-sm);
    justify-content: center;
    margin-top: var(--space-2xl);
}

.pagination a,
.pagination span {
    min-width: 2.5rem;
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-border);
}

.archive-band .pagination a,
.archive-band .pagination span,
.page-product .pagination a,
.page-product .pagination span {
    border-color: rgba(255, 255, 255, 0.22);
    color: var(--color-white);
}

.prose {
    max-width: var(--container-narrow);
}

.category-copy {
    margin: 5rem auto 0;
    max-width: 38rem;
    width: 100%;
    padding-top: 3.25rem;
    border-top: 1px solid rgba(215, 136, 102, 0.22);
    text-align: left;
}

.category-copy h2,
.category-copy h3 {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: var(--font-weight-regular);
}

.category-copy h2 {
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-align: center;
    margin: 3.15rem 0 1.1rem;
}

.category-copy > h2:first-child {
    font-size: clamp(1.2rem, 2.2vw, 1.7rem);
    letter-spacing: 0.18em;
    margin-top: 0;
}

.category-copy > h2:first-child::after {
    content: "";
    display: block;
    width: 4.5rem;
    height: 1px;
    margin: 1.05rem auto 0;
    background: var(--color-accent);
}

.category-copy h3 {
    font-size: 0.78rem;
    letter-spacing: 0.2em;
    margin: 2.1rem 0 0.55rem;
    text-align: left;
}

.category-copy p,
.category-copy li {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    font-weight: var(--font-weight-light);
    line-height: 1.85;
    letter-spacing: 0.015em;
}

.category-copy > h2:first-child + p {
    text-align: center;
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.88);
    max-width: 34rem;
    margin: 0 auto 0.5rem;
}

.category-copy ul {
    display: block;
    text-align: left;
    margin: 0 0 1.25rem;
    padding-left: 1.15rem;
}

.lazy-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: var(--space-2xl);
}

.lazy-sentinel {
    width: 1px;
    height: 1px;
}

.lazy-more.is-fallback {
    opacity: 0.72;
}

.product-tile.is-lazy-in,
.product-card.is-lazy-in {
    animation: tile-in 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes tile-in {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.prose a {
    color: var(--color-accent);
    text-decoration: underline;
}

.attr-table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-xl) 0;
}

.attr-table th,
.attr-table td {
    text-align: left;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-border);
}

.attr-table th {
    width: 40%;
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: var(--text-xs);
}

.map-placeholder {
    min-height: 16rem;
    margin-top: var(--space-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-xl);
    background:
        linear-gradient(180deg, rgba(215, 136, 102, 0.12), rgba(0, 0, 0, 0.04)),
        repeating-linear-gradient(-45deg, #ececec, #ececec 12px, #e3e3e3 12px, #e3e3e3 24px);
    color: var(--color-text-muted);
}

.contact-map {
    margin-top: var(--space-lg);
    border: 1px solid rgba(255, 255, 255, 0.12);
    overflow: hidden;
    background: #111;
    min-height: 18rem;
}

.contact-map iframe {
    display: block;
    width: 100%;
    min-height: 20rem;
    height: 20rem;
    border: 0;
}

.contact-map .map-prompt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-sm);
    min-height: 18rem;
    padding: var(--space-xl);
}

.contact-map .map-prompt p {
    margin: 0;
}

.contact-map .map-fallback {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
}

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    padding: var(--space-md);
    background: rgba(12, 12, 12, 0.96);
    color: rgba(255, 255, 255, 0.9);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    transform: translateY(110%);
    transition: transform 280ms ease;
}

.cookie-banner.is-visible {
    transform: translateY(0);
}

.cookie-banner[hidden] {
    display: none !important;
}

.cookie-banner-inner {
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    align-items: center;
    justify-content: space-between;
}

.cookie-banner-inner p {
    margin: 0;
    flex: 1 1 18rem;
    font-size: var(--text-sm);
    line-height: 1.5;
}

.cookie-banner-inner a {
    color: var(--color-accent);
}

.cookie-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

body:not(.page-home) .map-placeholder {
    background:
        linear-gradient(180deg, rgba(215, 136, 102, 0.16), rgba(0, 0, 0, 0.28)),
        repeating-linear-gradient(-45deg, #1a1a1a, #1a1a1a 12px, #141414 12px, #141414 24px);
    color: rgba(255, 255, 255, 0.72);
}

body:not(.page-home) .form input,
body:not(.page-home) .form textarea,
body:not(.page-home) .form select {
    background: #1c1c1c;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.18);
}

body:not(.page-home) .char-count {
    color: rgba(255, 255, 255, 0.55);
}

body:not(.page-home) .prose,
body:not(.page-home) .prose p,
body:not(.page-home) .site-main a:not(.btn) {
    color: rgba(255, 255, 255, 0.86);
}

body:not(.page-home) .site-main a:not(.btn):hover {
    color: var(--color-accent);
}

.map-placeholder p {
    margin: 0 0 var(--space-xs);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 600ms ease, transform 600ms ease;
}

[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

[data-stagger] > .catalog-tile {
    opacity: 0;
    transform: translateY(1.6rem);
}

[data-reveal].is-visible [data-stagger] > .catalog-tile,
[data-stagger].is-visible > .catalog-tile {
    animation: catalog-rise 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--stagger, 0ms);
}

@keyframes catalog-rise {
    from {
        opacity: 0;
        transform: translateY(1.6rem);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1;
        transform: none;
    }

    [data-stagger] > .catalog-tile,
    [data-reveal].is-visible [data-stagger] > .catalog-tile,
    [data-stagger].is-visible > .catalog-tile {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .media-ph::after {
        animation: none;
    }

    .tile-media.is-media-wait img,
    .card-media.is-media-wait img,
    .product-portrait-media.is-media-wait img {
        opacity: 1;
        filter: none;
        transform: none;
    }

    .catalog-tile img,
    .product-tile img,
    .catalog-tile:hover img,
    .catalog-tile:focus-within img,
    .product-tile:hover img,
    .product-tile:focus-within img,
    .product-tile.is-lazy-in,
    .product-card.is-lazy-in {
        transform: none;
        filter: none;
        transition: none;
        animation: none;
        will-change: auto;
    }
}


/* === pages.css === */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: var(--color-white);
    background: var(--color-black);
    overflow: hidden;
}

.hero-slider .hero-track {
    position: absolute;
    inset: 0;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity var(--transition-slider);
    pointer-events: none;
}

.hero-slide.is-active {
    opacity: 1;
    z-index: 1;
    pointer-events: auto;
}

.hero-progress {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    z-index: 6;
    pointer-events: none;
    background: transparent;
}

.hero-progress-bar {
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(147, 76, 0, 0.15);
    transform: scaleX(0);
    transform-origin: 0 50%;
}

.hero-slider.is-timing .hero-progress-bar {
    animation: hero-progress-run var(--slider-interval) linear forwards;
}

@keyframes hero-progress-run {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.hero-media,
.hero-media img,
.hero-media picture,
.hero-media picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-media-empty {
    background: #111;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.42) 0, rgba(0, 0, 0, 0.08) 28%, rgba(0, 0, 0, 0.12) 100%);
    z-index: 2;
}

.hero-caption {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--header-height) + 1.5rem) 1.5rem 4rem;
    pointer-events: none;
}

.hero-caption-box {
    pointer-events: none;
    box-sizing: border-box;
    width: min(650px, calc(100vw - 2rem));
    height: 500px;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 0 2.5rem 1.5rem;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    opacity: 0;
}

.hero-slide.is-active .hero-caption-box {
    pointer-events: auto;
    animation: hero-box-in 1.5s ease 0.15s forwards;
}

.hero-caption-box.is-intro {
    width: min(700px, calc(100vw - 2rem));
}

.hero-kicker,
.hero-caption-title,
.hero-caption-lead,
.hero-caption-cta {
    opacity: 0;
}

.hero-slide.is-active .hero-kicker {
    animation: hero-text-in 1.5s ease 1.51s forwards;
}

.hero-slide.is-active .hero-caption-title {
    animation: hero-text-in 1.5s ease 1.81s forwards;
}

.hero-slide.is-active .hero-caption-lead {
    animation: hero-text-in 1.5s ease 1.81s forwards;
}

.hero-slide.is-active .hero-caption-cta {
    animation: hero-text-in 1.5s ease 2.41s forwards;
}

.hero-caption-inner::before,
.hero-caption-inner::after {
    opacity: 0;
}

.hero-slide.is-active .hero-caption-inner::before {
    animation: hero-line-in 1.5s ease 0.75s forwards;
}

.hero-slide.is-active .hero-caption-inner::after {
    animation: hero-line-in 1.5s ease 2.16s forwards;
}

@keyframes hero-box-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes hero-text-in {
    from {
        opacity: 0;
        filter: blur(14px);
    }
    to {
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes hero-line-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.hero-slider.is-static .hero-caption-box,
.hero-slider.is-static .hero-kicker,
.hero-slider.is-static .hero-caption-title,
.hero-slider.is-static .hero-caption-lead,
.hero-slider.is-static .hero-caption-cta,
.hero-slider.is-static .hero-caption-inner::before,
.hero-slider.is-static .hero-caption-inner::after {
    opacity: 1;
    filter: none;
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero-progress-bar,
    .hero-caption-box,
    .hero-kicker,
    .hero-caption-title,
    .hero-caption-lead,
    .hero-caption-cta,
    .hero-caption-inner::before,
    .hero-caption-inner::after {
        animation: none !important;
        opacity: 1;
        filter: none;
        transform: none;
    }
}

.hero-caption-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

.hero-caption-inner::before,
.hero-caption-inner::after {
    content: "";
    display: block;
    width: 1px;
    height: 60px;
    background: var(--color-header-ghost);
    flex: 0 0 60px;
    opacity: 0;
}

.hero-caption-box::before,
.hero-caption-box::after {
    content: none;
}

.hero-kicker {
    margin: 1.15rem 0 0.35rem;
    color: var(--color-header-ghost);
    font-size: 14px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hero-caption-title {
    margin: 0;
    color: var(--color-white);
    font-weight: var(--font-weight-light);
    font-size: clamp(2.1rem, 5vw, 64px);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.hero-caption-box.is-intro .hero-caption-title {
    font-size: clamp(1.6rem, 3.6vw, 45px);
    line-height: 1.15;
    letter-spacing: 0.08em;
}

.hero-caption-lead {
    margin: 1.5rem 0 0;
    max-width: 22rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 10px;
    font-weight: var(--font-weight-light);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero-caption-cta {
    margin: 1.25rem 0 0;
}

.hero-caption-cta .btn {
    min-height: auto;
    padding: 12px 35px;
}

.hero-copy {
    position: relative;
    z-index: 3;
    padding: calc(var(--header-height) + var(--space-xl)) 0 var(--space-3xl);
}

.hero-copy > * {
    max-width: 44rem;
}

.hero-copy h1 {
    font-size: var(--text-hero);
    text-transform: uppercase;
    letter-spacing: var(--tracking-hero);
    color: var(--color-white);
}

.hero-copy p {
    font-weight: var(--font-weight-light);
    font-size: var(--text-lg);
    max-width: 36rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-top: var(--space-xl);
}

.hero-nav {
    display: none;
}

.hero-arrow {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    color: var(--color-white);
    transform: translateY(-50%);
}

.hero-arrow::before {
    content: "";
    display: block;
    width: 0.65rem;
    height: 0.65rem;
    margin: 0 auto;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.hero-arrow.is-next {
    right: var(--gutter);
}

.hero-arrow.is-next::before {
    transform: rotate(-135deg);
}

.hero-arrow:not(.is-next) {
    left: var(--gutter);
}

.hero-arrow:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.hero-dots {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 1.75rem;
    display: flex;
    gap: 0.5rem;
    transform: translateX(-50%);
}

.hero-dots button {
    width: 0.55rem;
    height: 0.55rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 50%;
    background: transparent;
}

.hero-dots button[aria-selected="true"] {
    background: var(--color-white);
    border-color: var(--color-white);
}

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: center;
}

.split-media {
    position: relative;
    background: var(--color-bg-soft);
    min-height: 18rem;
}

body:not(.page-home) .split-media {
    background: #141414;
}

.split-media img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 22rem;
}

.process-band {
    background: var(--color-band);
}

.section-dark .split-media {
    background: #1a1a1a;
}

.cta-band {
    background: var(--color-band);
    color: var(--color-band-text);
    text-align: center;
}

.cta-band h2,
.cta-band .section-title {
    color: var(--color-white);
}

.product-detail {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--space-2xl);
    align-items: start;
}

.product-specs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
    list-style: none;
    margin: 0 0 3rem;
    padding: 0;
    text-align: center;
}

.product-spec-icon {
    display: block;
    width: 28px;
    height: 28px;
    margin: 0 auto 0.65rem;
    background: var(--color-accent);
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

.product-spec-icon.is-price {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 3h-3C7 3 5 5.4 5 8.2 5 11 7 13 10.5 13H12v2H7v2h5v3h2v-3h1.2c3.4 0 5.8-2.3 5.8-5.4 0-2.6-1.7-4.6-4.5-5.2V3zm-1.3 8.2C9.4 11.2 7 10 7 8.2 7 6.5 8.8 5 10.5 5h1.7z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 3h-3C7 3 5 5.4 5 8.2 5 11 7 13 10.5 13H12v2H7v2h5v3h2v-3h1.2c3.4 0 5.8-2.3 5.8-5.4 0-2.6-1.7-4.6-4.5-5.2V3zm-1.3 8.2C9.4 11.2 7 10 7 8.2 7 6.5 8.8 5 10.5 5h1.7z'/%3E%3C/svg%3E");
}

.product-spec-icon.is-thickness {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E");
}

.product-spec-icon.is-type {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 5h6v6H5zm8 0h6v6h-6zM5 13h6v6H5zm8 0h6v6h-6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 5h6v6H5zm8 0h6v6h-6zM5 13h6v6H5zm8 0h6v6h-6z'/%3E%3C/svg%3E");
}

.product-spec-icon.is-collection {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h10v13H7zm2 2v9h6V9zM9 3h6l1 3H8z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h10v13H7zm2 2v9h6V9zM9 3h6l1 3H8z'/%3E%3C/svg%3E");
}

.product-spec-icon.is-finish {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 5h2v14H6zm4-2h2v18h-2zm4 5h2v13h-2zm4-3h2v16h-2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 5h2v14H6zm4-2h2v18h-2zm4 5h2v13h-2zm4-3h2v16h-2z'/%3E%3C/svg%3E");
}

.product-spec-label {
    margin: 0 0 0.45rem;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 11px;
}

.product-spec-value {
    margin: 0;
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.product-spec-action {
    min-height: 34px;
    padding: 6px 14px;
    font-size: 11px;
}

.product-portrait {
    display: flex;
    justify-content: center;
    margin: 0 0 2rem;
}

.product-portrait-media {
    position: relative;
    width: min(520px, 88vw);
    aspect-ratio: 1 / 1;
    border-radius: 5%;
    overflow: hidden;
    background: #1a1a1a;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.product-portrait-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-copy {
    margin: 0 auto 1.5rem;
}

.product-contact-line {
    text-align: center;
    color: var(--color-accent);
    margin: 0 0 1.5rem;
}

.product-contact-line a {
    color: inherit;
}

.product-actions {
    margin-top: var(--space-xl);
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.btn-solid {
    background: var(--color-accent);
    color: #111;
    border-color: var(--color-accent);
}

.btn-solid:hover {
    background: transparent;
    color: var(--color-accent);
}

.btn.is-static {
    cursor: default;
}

.related-grid {
    margin-top: var(--space-3xl);
}

.contact-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: var(--space-2xl);
}

.about-block,
.process-block {
    display: grid;
    gap: var(--space-lg);
}

.static-page .split .section-header {
    text-align: left;
    margin-bottom: 1.35rem;
}

body.page-static {
    background: var(--color-band);
    color: var(--color-band-text);
}

.static-copy {
    max-width: 40rem;
    text-align: left;
}

.static-copy h2,
.static-page .section-title {
    letter-spacing: 0.12em;
}

.static-copy h2,
.static-copy h3 {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: var(--font-weight-regular);
}

.static-copy h2 {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    margin: 0 0 1.1rem;
}

.static-copy h2::after {
    content: "";
    display: block;
    width: 4.5rem;
    height: 1px;
    margin: 1rem 0 0;
    background: var(--color-accent);
}

.static-copy h3 {
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    margin: 1.85rem 0 0.55rem;
}

.static-copy p,
.static-page .split p,
.team-bio,
.nine-t-card p,
.process-steps p {
    color: rgba(255, 255, 255, 0.78);
    font-weight: var(--font-weight-light);
    line-height: 1.85;
    letter-spacing: 0.015em;
}

.static-lead {
    max-width: 38rem;
    margin: -1.5rem auto 2.5rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.72);
    font-weight: var(--font-weight-light);
    line-height: 1.8;
}

.team-section .section-header {
    margin-bottom: 0.85rem;
}

.team-lead {
    max-width: 34rem;
    margin: 0 auto 2.75rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    font-weight: var(--font-weight-light);
    line-height: 1.75;
    letter-spacing: 0.02em;
}

.team-lead::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 1px;
    margin: 1.35rem auto 0;
    background: var(--color-accent);
}

.nine-t-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem 1.5rem;
}

.nine-t-card {
    padding: 1.35rem 1.15rem 1.2rem;
    border-top: 1px solid var(--color-accent);
    background: #1a1a1a;
}

.nine-t-card h3 {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78rem;
    margin-bottom: 0.65rem;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 22rem));
    justify-content: center;
    align-items: start;
    gap: clamp(2rem, 4vw, 3.5rem);
    max-width: 52rem;
    margin: 0 auto;
}

.team-card {
    display: grid;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

.team-photo {
    position: relative;
    margin: 0 0 1.35rem;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 5%;
    background: #1a1714;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.team-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(215, 136, 102, 0.18);
    background:
        linear-gradient(180deg, rgba(26, 23, 20, 0.12) 0%, transparent 22%, transparent 70%, rgba(0, 0, 0, 0.28) 100%),
        radial-gradient(ellipse at 50% 18%, transparent 45%, rgba(20, 18, 16, 0.18) 100%);
}

.team-photo img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 16%;
    filter: contrast(1.03) saturate(0.9) brightness(0.97);
    opacity: 1;
}

.team-photo.is-media-wait img {
    opacity: 1;
    filter: contrast(1.03) saturate(0.9) brightness(0.97);
    transform: none;
}

.team-identity {
    margin: 0 0 1.15rem;
}

.team-card h3 {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin: 0 0 0.45rem;
    color: var(--color-white);
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    font-weight: var(--font-weight-regular);
}

.team-card .card-meta {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.7rem;
    margin: 0;
}

.team-card .card-meta::after {
    content: "";
    display: block;
    width: 2rem;
    height: 1px;
    margin: 0.85rem auto 0;
    background: rgba(215, 136, 102, 0.55);
}

.team-bio {
    margin: 0;
    max-width: none;
    color: rgba(255, 255, 255, 0.74);
    font-weight: var(--font-weight-light);
    font-size: 0.9rem;
    line-height: 1.85;
    letter-spacing: 0.015em;
    text-align: left;
}

.archive-list {
    list-style: none;
    display: grid;
    gap: 1.75rem;
    margin: 0;
    padding: 0;
}

.archive-list h3 {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-sm);
    margin-bottom: 0.5rem;
}

.archive-list p {
    color: rgba(255, 255, 255, 0.82);
    max-width: 46rem;
    margin: 0;
}

.process-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.15rem;
    margin-top: 2rem;
}

.process-shot {
    position: relative;
    margin: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #141414;
}

.process-shot img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.process-steps {
    list-style: none;
    display: grid;
    gap: 1.75rem;
    max-width: 48rem;
    margin: 0 auto;
    padding: 0;
}

.process-steps li {
    display: grid;
    grid-template-columns: 3rem 1fr;
    column-gap: 1.25rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.process-step-n {
    grid-column: 1;
    grid-row: 1 / span 2;
    font-size: 1.35rem;
    letter-spacing: 0.12em;
    color: var(--color-accent);
}

.process-steps h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.95rem;
    color: var(--color-white);
}

.process-steps p {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
}

.error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    text-align: center;
}

.error-page h1 {
    font-size: var(--text-hero);
}

.catalogue-intro {
    max-width: var(--container-narrow);
    margin: 0 auto var(--space-2xl);
    text-align: center;
}

/* —— R K Marble homepage —— */
.page-home .site-main {
    padding: 0;
}

.rk-hero {
    position: relative;
    min-height: calc(100vh - 5.99vw);
    background: #000;
    color: var(--color-white);
    overflow: hidden;
}

.rk-hero-track {
    position: relative;
    min-height: inherit;
}

.rk-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-slider), visibility var(--transition-slider);
}

.rk-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.rk-hero-media,
.rk-hero-media picture,
.rk-hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-hero-media-empty {
    background: #222;
}

.rk-hero-caption {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem 1.25rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.35));
}

.rk-hero-title {
    margin: 0 0 1.25rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5.5vw, 4.75rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-white);
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.rk-hero-cta {
    margin: 0;
}

.rk-hero-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.5rem;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 0.55rem;
}

.rk-hero-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.rk-hero-dots button[aria-selected="true"] {
    background: var(--color-accent);
}

.rk-link-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--color-white);
    background: var(--color-accent);
    text-decoration: none;
    font-family: var(--font-body-alt);
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.85rem 1.4rem;
    transition: background var(--transition-fast);
}

.rk-link-cta::after {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
}

.rk-link-cta:hover {
    background: var(--color-accent-deep);
}

.rk-about .rk-link-cta,
.rk-countertops .rk-link-cta {
    color: var(--color-white);
}

.rk-section-title {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--color-text);
    text-align: center;
}

.rk-section-title span {
    position: relative;
    display: inline-block;
    padding: 0.6vw 1.2vw;
}

.rk-section-title span::before,
.rk-section-title span::after {
    content: "";
    position: absolute;
    width: 3.698vw;
    height: 2.344vw;
    pointer-events: none;
}

.rk-section-title span::before {
    top: -0.885vw;
    left: -1.602vw;
    border-top: 5px solid #e02529;
    border-left: 5px solid #e02529;
}

.rk-section-title span::after {
    bottom: -1.002vw;
    right: -1.8vw;
    width: 3.646vw;
    border-right: 5px solid #e02529;
    border-bottom: 5px solid #e02529;
    left: auto;
    margin-left: 0;
    background: transparent;
    height: auto;
}

.rk-section-title-light,
.rk-section-title-light span {
    color: var(--color-white);
}

.rk-section-head {
    margin-bottom: 2.5rem;
}

.rk-lead {
    margin: 0 0 1.5rem;
    font-family: var(--font-body-alt);
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.rk-lead-center {
    text-align: center;
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
}

.rk-about {
    padding: clamp(3.5rem, 8vw, 7rem) 0;
    background: var(--color-bg);
}

.rk-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: center;
}

.rk-about-media {
    overflow: hidden;
    min-height: 18rem;
    background: var(--color-bg-soft);
}

.rk-about-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 22rem;
}

.rk-about-copy {
    padding: 0.5rem 0;
}

.rk-about-copy .rk-section-title {
    text-align: left;
}

.rk-about-copy .rk-section-title span::after {
    left: 0;
    margin-left: 0;
}

.rk-collections {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
    background-color: #fff;
    background-image: var(--marble-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.rk-collections + .rk-collections {
    padding-top: 0;
}

.rk-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.5rem;
    margin-bottom: 2.5rem;
}

.rk-tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
    font-size: clamp(1rem, 2vw, 1.35rem);
    padding: 0.35rem 0.15rem 0.55rem;
    cursor: pointer;
    border-bottom: 2px solid transparent;
}

.rk-tab.is-active,
.rk-tab[aria-selected="true"] {
    color: var(--color-text);
    border-bottom-color: var(--color-accent);
}

.rk-tab-panel[hidden] {
    display: none;
}

.rk-collections-layout {
    display: grid;
    grid-template-columns: minmax(12rem, 0.32fr) minmax(0, 0.68fr);
    gap: 1.75rem;
    align-items: start;
}

.rk-accent-title {
    margin: 0 0 1rem;
    font-family: var(--font-body-alt);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 400;
    line-height: 1.05;
    color: var(--color-accent);
}

.rk-collections-intro p {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
    line-height: 1.7;
}

.rk-rail {
    position: relative;
    min-width: 0;
}

.rk-rail-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0.25rem 0.15rem 0.75rem;
}

.rk-rail-track::-webkit-scrollbar {
    display: none;
}

.rk-rail-btn {
    position: absolute;
    top: 42%;
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
}

.rk-rail-btn::before {
    content: "";
    display: block;
    width: 0.45rem;
    height: 0.45rem;
    margin: 0 auto;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
}

.rk-rail-btn.is-prev {
    left: -0.35rem;
}

.rk-rail-btn.is-prev::before {
    transform: rotate(-135deg);
    margin-left: 0.85rem;
}

.rk-rail-btn.is-next {
    right: -0.35rem;
}

.rk-rail-btn.is-next::before {
    transform: rotate(45deg);
    margin-left: 0.7rem;
}

.rk-collection-card {
    flex: 0 0 min(72%, 15.5rem);
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
}

.rk-collection-label {
    display: block;
    margin-bottom: 0.75rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    line-height: 1.2;
    color: var(--color-text);
}

.rk-collection-media {
    position: relative;
    display: block;
    aspect-ratio: 425 / 526;
    overflow: hidden;
    background: #ddd;
}

.rk-collection-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-card);
}

.rk-collection-card:hover .rk-collection-media img {
    transform: scale(1.04);
}

.rk-collection-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.25rem 1rem;
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.35rem;
    line-height: 1.2;
    background: var(--color-overlay-card);
    opacity: 0;
    transition: opacity var(--transition);
}

.rk-collection-card:hover .rk-collection-overlay {
    opacity: 1;
}

.rk-countertops {
    padding: clamp(3rem, 6vw, 4.5rem) 0;
    background: var(--color-bg-soft);
}

.rk-countertops-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
}

.rk-countertops-media {
    position: relative;
    min-height: 22rem;
    background: #222;
}

.rk-countertops-frame {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity var(--transition);
}

.rk-countertops-frame.is-active {
    opacity: 1;
}

.rk-countertops-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-countertops-copy {
    padding: 2rem 1.75rem 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-section-title-mobile {
    display: none;
}

.rk-countertops-item {
    display: none;
}

.rk-countertops-item.is-active {
    display: block;
}

.rk-countertops-item h3 {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: 1.65rem;
}

.rk-countertops-item p {
    margin: 0 0 1.25rem;
    font-family: var(--font-body-alt);
    color: var(--color-text-muted);
}

.rk-countertops-nav {
    display: flex;
    gap: 0.65rem;
    margin-top: 1rem;
}

.rk-countertops-nav button {
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    cursor: pointer;
    position: relative;
}

.rk-countertops-nav button::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
}

.rk-countertops-nav button[data-sync-prev]::before {
    transform: rotate(-135deg);
}

.rk-countertops-nav button[data-sync-next]::before {
    transform: rotate(45deg);
}

.rk-testimonials {
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
    background: var(--color-bg);
}

.rk-testimonials-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 2rem;
    align-items: center;
    max-width: 980px;
    margin: 0 auto;
}

.rk-testimonials-media {
    position: relative;
    min-height: 18rem;
}

.rk-testimonials-frame {
    display: none;
}

.rk-testimonials-frame.is-active {
    display: block;
}

.rk-testimonial-video {
    position: relative;
    display: block;
    overflow: hidden;
    background: #111;
}

.rk-testimonial-video img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.rk-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 3.25rem;
    height: 3.25rem;
    margin: -1.625rem 0 0 -1.625rem;
    border-radius: 50%;
    background: var(--color-accent);
}

.rk-play::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-35%, -50%);
    border-style: solid;
    border-width: 0.55rem 0 0.55rem 0.9rem;
    border-color: transparent transparent transparent #fff;
}

.rk-testimonial-item {
    display: none;
}

.rk-testimonial-item.is-active {
    display: block;
}

.rk-testimonial-name {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 700;
}

.rk-testimonial-role {
    margin: 0 0 1.35rem;
    font-weight: 700;
    color: var(--color-text-muted);
}

.rk-testimonial-msg {
    margin: 0;
    font-family: var(--font-body-alt);
    font-size: 1.2rem;
    line-height: 1.65;
}

.rk-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.rk-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #cfcfcf;
    cursor: pointer;
}

.rk-dots button[aria-selected="true"] {
    background: var(--color-accent);
}

.rk-gallery {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
    background: var(--color-bg-soft);
}

.rk-gallery-item {
    flex: 0 0 min(70%, 18rem);
    margin: 0;
    scroll-snap-align: start;
}

.rk-gallery-item img {
    width: 100%;
    display: block;
    aspect-ratio: 1;
    object-fit: cover;
}

.rk-blogs,
.rk-events {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: var(--color-bg);
}

.rk-events {
    background: var(--color-bg-soft);
}

.rk-post-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.rk-post-card a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.rk-post-media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #ddd;
    margin-bottom: 0.85rem;
}

.rk-post-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-card);
}

.rk-post-card a:hover .rk-post-media img {
    transform: scale(1.04);
}

.rk-post-title {
    display: block;
    font-family: var(--font-display);
    font-size: 1.15rem;
    line-height: 1.35;
}

.rk-information {
    padding: clamp(2.5rem, 5vw, 4rem) 0 3rem;
    background: var(--color-bg);
}

.rk-info-prose {
    max-width: 920px;
}

.rk-info-preview {
    max-height: 14rem;
    overflow: hidden;
    position: relative;
}

.rk-info-preview::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4.5rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
}

.rk-information.is-expanded .rk-info-preview {
    max-height: none;
}

.rk-information.is-expanded .rk-info-preview::after {
    display: none;
}

.rk-expand-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-accent);
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 1rem 0 0;
    cursor: pointer;
}

.rk-expand-btn .is-less {
    display: none;
}

.rk-information.is-expanded .rk-expand-btn .is-more {
    display: none;
}

.rk-information.is-expanded .rk-expand-btn .is-less {
    display: inline;
}

.rk-faqs {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: var(--color-band);
    color: var(--color-white);
}

.rk-accordion {
    max-width: 860px;
    margin: 0 auto;
}

.rk-accordion-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.rk-accordion-item h3 {
    margin: 0;
}

.rk-accordion-trigger {
    width: 100%;
    text-align: left;
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-white);
    font-family: var(--font-body-alt);
    font-size: 1.15rem;
    padding: 1.15rem 2.5rem 1.15rem 0;
    cursor: pointer;
    position: relative;
}

.rk-accordion-trigger::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.35rem;
    color: var(--color-accent);
}

.rk-accordion-item.is-open .rk-accordion-trigger::after {
    content: "–";
}

.rk-accordion-panel[hidden] {
    display: none;
}

.rk-accordion-body {
    padding: 0 0 1.25rem;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body-alt);
    line-height: 1.7;
}

.rk-accordion-body a {
    color: var(--color-accent);
}

@media (max-width: 991px) {
    .rk-about-grid,
    .rk-collections-layout,
    .rk-countertops-grid,
    .rk-testimonials-grid,
    .rk-post-grid {
        grid-template-columns: 1fr;
    }

    .rk-section-title-desktop {
        display: none;
    }

    .rk-section-title-mobile {
        display: block;
        margin-bottom: 1.5rem;
    }

    .rk-about-copy .rk-section-title {
        text-align: center;
    }

    .rk-about-copy .rk-section-title span::after {
        left: 50%;
        margin-left: -27px;
    }

    .rk-collection-card {
        flex-basis: min(78%, 14rem);
    }

    .rk-hero {
        min-height: 78vh;
    }
}

@media (max-width: 640px) {
    .rk-rail-btn {
        display: none;
    }

    .rk-post-grid {
        grid-template-columns: 1fr;
    }

    .rk-hero-title {
        font-size: clamp(1.65rem, 8vw, 2.4rem);
    }
}


/* —— R K Marble CMS / about / legal / career —— */
.page-cms .site-main {
    padding: 0;
    background: var(--color-bg);
    color: var(--color-text);
}

.rk-page-banner {
    position: relative;
    min-height: clamp(16rem, 36vw, 26rem);
    display: flex;
    align-items: flex-end;
    color: var(--color-white);
    background: var(--color-band);
    overflow: hidden;
}

.rk-page-banner.is-plain {
    min-height: auto;
    align-items: stretch;
    color: var(--color-text);
    background: var(--color-bg);
    padding: 1.5rem 0 0.5rem;
}

.rk-page-banner-media,
.rk-page-banner-media picture,
.rk-page-banner-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-page-banner-copy {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 3.5rem 0 2.75rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.55));
}

.rk-page-banner.is-plain .rk-page-banner-copy {
    padding: 0.5rem 0 1rem;
    background: transparent;
}

.rk-page-banner .breadcrumbs,
.rk-page-banner .breadcrumbs a {
    color: rgba(255, 255, 255, 0.85);
}

.rk-page-banner.is-plain .breadcrumbs,
.rk-page-banner.is-plain .breadcrumbs a {
    color: var(--color-text-muted);
}

.rk-page-banner-title {
    margin: 0.75rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rk-section-title-left {
    text-align: left;
}

.rk-section-title-left span::after {
    left: 0;
    margin-left: 0;
}

/* Red L-bracket titles (live RK about / team) */
.rk-bracket-title {
    position: relative;
    display: inline-block;
    margin: 0 auto 1.75rem;
    padding: 0.55rem 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 3.2vw, 2.65rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--color-text);
    text-align: center;
}

.rk-bracket-title-left {
    display: block;
    margin-left: 0;
    text-align: left;
    padding-left: 0.85rem;
}

.rk-bracket-title::before,
.rk-bracket-title::after {
    content: "";
    position: absolute;
    width: 1.65rem;
    height: 1.65rem;
    border: 2px solid var(--color-accent);
    pointer-events: none;
}

.rk-bracket-title::before {
    top: 0;
    left: 0;
    border-right: 0;
    border-bottom: 0;
}

.rk-bracket-title::after {
    right: 0;
    bottom: 0;
    border-left: 0;
    border-top: 0;
}

.rk-about-story {
    position: relative;
    padding: clamp(3.25rem, 7vw, 6rem) 0;
    color: var(--color-text);
    background: var(--color-white);
}

.rk-about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(1.75rem, 4.5vw, 3.5rem);
    align-items: center;
}

.rk-about-story-copy .prose {
    color: var(--color-text);
    font-family: var(--font-body-alt);
    font-size: 1.05rem;
    line-height: 1.75;
}

.rk-about-story-copy .prose > :first-child {
    font-weight: 700;
    font-size: 1.12rem;
    line-height: 1.55;
    margin-bottom: 1.1rem;
}

.rk-about-story-media {
    position: relative;
    min-height: 26rem;
    isolation: isolate;
}

.rk-about-story-back,
.rk-about-story-front {
    display: block;
    object-fit: cover;
    background: #ddd;
}

.rk-about-story-back {
    position: relative;
    z-index: 1;
    width: 74%;
    aspect-ratio: 3 / 4;
}

.rk-about-story-front {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 58%;
    aspect-ratio: 3 / 4;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.rk-expandable-copy .rk-info-preview {
    max-height: 13.5rem;
}

.rk-expandable-copy .rk-info-preview::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
}

.rk-expandable-copy.is-expanded .rk-info-preview {
    max-height: none;
}

.rk-expandable-copy.is-expanded .rk-info-preview::after {
    display: none;
}

.rk-expandable-copy.is-expanded .rk-expand-btn .is-more {
    display: none;
}

.rk-expandable-copy.is-expanded .rk-expand-btn .is-less {
    display: inline;
}

.rk-team,
.rk-companies,
.rk-infra,
.rk-clients,
.rk-awards,
.rk-careers {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.rk-team {
    background: var(--color-white);
}

.rk-infra,
.rk-awards {
    background: var(--color-bg-soft);
}

.rk-team .rk-section-head {
    text-align: center;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.rk-team-grid,
.rk-company-grid,
.rk-award-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
}

.rk-team-card {
    margin: 0;
}

.rk-team-media {
    position: relative;
    overflow: hidden;
    border-radius: 1.15rem;
    background: #e8e8e8;
    aspect-ratio: 3 / 4.15;
}

.rk-team-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transform: scale(1.01);
    transition: transform var(--transition-card);
}

.rk-team-panel {
    position: absolute;
    left: 0.85rem;
    right: 0.85rem;
    bottom: 0.85rem;
    z-index: 2;
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.96);
    color: var(--color-text);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    transition: background var(--transition), color var(--transition), box-shadow var(--transition);
}

.rk-team-panel h3 {
    margin: 0 0 0.45rem;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: inherit;
}

.rk-team-excerpt {
    margin: 0 0 0.65rem;
    font-family: var(--font-body-alt);
    font-size: 0.84rem;
    line-height: 1.5;
    color: inherit;
    opacity: 0.92;
    max-height: 6.5rem;
    overflow: auto;
}

.rk-team-excerpt[hidden] {
    display: none !important;
}

.rk-team-more {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-sans);
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: color var(--transition-fast);
}

.rk-team-more span {
    display: inline-block;
    transition: transform var(--transition-fast);
}

.rk-team-card:hover .rk-team-media img,
.rk-team-card.is-open .rk-team-media img {
    transform: scale(1.04);
}

.rk-team-card:hover .rk-team-panel,
.rk-team-card.is-open .rk-team-panel {
    background: var(--color-accent);
    color: var(--color-white);
    box-shadow: 0 14px 32px rgba(224, 37, 41, 0.28);
}

.rk-team-card:hover .rk-team-more,
.rk-team-card.is-open .rk-team-more {
    color: var(--color-white);
}

.rk-team-card:hover .rk-team-more span {
    transform: translateX(3px);
}

.rk-team-card.is-open .rk-team-excerpt {
    display: block;
}

.rk-team-photo {
    margin-bottom: 1rem;
    overflow: hidden;
    background: #ddd;
    aspect-ratio: 3 / 4;
}

.rk-team-photo img,
.rk-company-card img,
.rk-award-card img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.rk-team-card h3,
.rk-award-card h3 {
    margin: 0 0 0.5rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
}

.rk-team-card p,
.rk-company-card p {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
}

.rk-text-link {
    color: var(--color-accent);
    font-weight: 700;
    text-decoration: none;
}

.rk-text-link:hover {
    text-decoration: underline;
}

.rk-infra-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem 2rem;
    margin-bottom: 2rem;
}

.rk-infra-tab {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: center;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
    font-size: 1.05rem;
    max-width: 9rem;
}

.rk-infra-tab img {
    display: block;
    margin: 0 auto 0.55rem;
}

.rk-infra-tab.is-active,
.rk-infra-tab[aria-selected="true"] {
    color: var(--color-accent);
}

.rk-infra-slide {
    flex: 0 0 min(70%, 20rem);
    margin: 0;
    scroll-snap-align: start;
}

.rk-infra-slide img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.rk-client-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    align-items: center;
}

.rk-client-logo {
    background: #fff;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.5rem;
}

.rk-client-logo img {
    max-height: 3.5rem;
    width: auto;
    object-fit: contain;
}

.rk-award-year {
    margin: 0.85rem 0 0.25rem;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-family: var(--font-display);
    color: var(--color-accent);
}

.rk-award-loc {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
}

.rk-careers {
    background: var(--color-bg-soft);
}

.rk-careers-narrow {
    max-width: 820px;
}

.rk-careers-cta {
    text-align: center;
    margin-top: 2rem;
}

.rk-accordion-item-light {
    border-bottom-color: rgba(26, 25, 25, 0.14);
}

.rk-accordion-item-light .rk-accordion-trigger {
    color: var(--color-text);
}

.rk-accordion-item-light .rk-accordion-body {
    color: var(--color-text-muted);
}

.rk-empty {
    text-align: center;
    color: var(--color-text-muted);
    font-family: var(--font-body-alt);
}

.rk-legal {
    padding: 2rem 0 4rem;
}

.rk-legal-prose {
    max-width: 860px;
}

.rk-legal-title {
    margin: 0 0 1.5rem;
    font-family: var(--font-sans);
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    font-weight: 500;
    text-transform: uppercase;
}

.rk-flipbook {
    text-align: center;
}

.rk-pdf-frame {
    width: 100%;
    min-height: 70vh;
    border: 0;
    margin-top: 1.5rem;
    background: var(--color-bg-soft);
}

.rk-thanks {
    min-height: 70vh;
    display: flex;
    align-items: center;
    background: var(--color-band);
    color: var(--color-white);
    text-align: center;
}

.rk-thanks-inner {
    max-width: 36rem;
}

.rk-thanks-mark {
    max-width: 12rem;
    margin: 0 auto 1.5rem;
    display: block;
}

.rk-thanks-copy {
    margin-bottom: 1.75rem;
    font-size: 1.15rem;
    font-family: var(--font-body-alt);
}

@media (max-width: 991px) {
    .rk-about-story-grid,
    .rk-team-grid,
    .rk-company-grid,
    .rk-award-grid {
        grid-template-columns: 1fr;
    }

    .rk-client-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .rk-about-story-media {
        min-height: 18rem;
        max-width: 28rem;
        margin: 0 auto;
    }

    .rk-team-media {
        aspect-ratio: 3 / 3.6;
        max-width: 26rem;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .rk-client-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* —— R K Marble collections (C4) —— */
.page-collections .site-main,
.page-collection .site-main {
    padding: 0;
    background: var(--color-bg);
    color: var(--color-text);
}

.rk-collection-index {
    padding: 0 0 clamp(3rem, 6vw, 5rem);
}

.rk-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    margin-bottom: 2rem;
}

.rk-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 1.1rem;
    border: 1px solid var(--color-border);
    color: var(--color-text);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rk-chip.is-active,
.rk-chip:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.rk-collection-index-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.rk-collection-tile {
    display: block;
    text-decoration: none;
    color: inherit;
}

.rk-collection-tile-media {
    position: relative;
    display: block;
    aspect-ratio: 425 / 526;
    overflow: hidden;
    background: #ddd;
}

.rk-collection-tile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-card);
}

.rk-collection-tile:hover .rk-collection-tile-media img {
    transform: scale(1.04);
}

.rk-collection-tile-overlay {
    position: absolute;
    inset: auto 0 0;
    padding: 1.25rem 1rem;
    background: var(--color-overlay-card);
    color: #fff;
}

.rk-collection-tile-title {
    display: block;
    font-family: var(--font-display);
    font-size: 1.25rem;
    line-height: 1.2;
}

.rk-collection-hero {
    position: relative;
    min-height: clamp(16rem, 42vw, 28rem);
    background: #111;
    overflow: hidden;
}

.rk-collection-hero-track {
    position: relative;
    min-height: inherit;
}

.rk-collection-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-slider), visibility var(--transition-slider);
}

.rk-collection-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.rk-collection-hero-slide img,
.rk-collection-hero-static img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: clamp(16rem, 42vw, 28rem);
}

.rk-collection-hero-caption {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    background: rgba(0, 0, 0, 0.28);
    color: #fff;
    z-index: 2;
}

.rk-collection-hero-caption p {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: clamp(1.5rem, 3.5vw, 2.4rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rk-collection-hero .rk-hero-dots {
    bottom: 1rem;
}

.rk-collection-show {
    padding: 1.25rem 0 3rem;
}

.rk-collection-head {
    text-align: center;
    max-width: 46rem;
    margin: 0 auto 2.5rem;
}

.rk-collection-title {
    margin: 0 0 0.85rem;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.rk-collection-desc {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.rk-collection-layout {
    display: grid;
    grid-template-columns: minmax(12rem, 0.28fr) minmax(0, 0.72fr);
    gap: 2rem;
    align-items: start;
}

.rk-collection-nav-title {
    margin: 0 0 1rem;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rk-nav-tree,
.rk-nav-l2,
.rk-nav-l3 {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rk-nav-tree .rk-nav-toggle,
.rk-nav-tree a {
    display: block;
    width: 100%;
    text-align: left;
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-text);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: 0.92rem;
    padding: 0.45rem 0;
    cursor: pointer;
}

.rk-nav-tree a.is-active,
.rk-nav-tree a:hover {
    color: var(--color-accent);
}

.rk-nav-l2,
.rk-nav-l3 {
    padding-left: 0.85rem;
}

.rk-collection-nav-close,
.rk-collection-mobile-filter {
    display: none;
}

.rk-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem 1rem;
}

.rk-product-tile a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.rk-product-tile-media {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #eee;
    margin-bottom: 0.65rem;
}

.rk-product-tile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-card);
}

.rk-product-tile a:hover .rk-product-tile-media img {
    transform: scale(1.04);
}

.rk-product-tile-title {
    display: block;
    text-align: center;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rk-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 2rem;
}

.rk-pagination a,
.rk-pagination span {
    min-width: 2.25rem;
    text-align: center;
    padding: 0.35rem 0.5rem;
    text-decoration: none;
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 1.05rem;
}

.rk-pagination .is-active,
.rk-pagination a:hover {
    color: var(--color-accent);
}

.rk-collection-seo {
    padding: 2rem 0 3rem;
    background: var(--color-bg);
}

.rk-collection-faqs {
    margin-top: 0;
}

.rk-collection-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 860;
}

@media (max-width: 991px) {
    .rk-collection-index-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rk-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .rk-collection-mobile-filter {
        display: block;
        margin: 0 0 1rem;
    }

    .rk-collection-nav {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(20rem, 86vw);
        z-index: 870;
        background: #fff;
        padding: 1.25rem;
        overflow: auto;
        transform: translateX(-105%);
        transition: transform var(--transition);
    }

    body.is-collection-nav-open .rk-collection-nav {
        transform: translateX(0);
    }

    .rk-collection-nav-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .rk-collection-nav-close {
        display: inline-flex;
        width: 2rem;
        height: 2rem;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: relative;
    }

    .rk-collection-nav-close::before,
    .rk-collection-nav-close::after {
        content: "";
        position: absolute;
        left: 0.35rem;
        right: 0.35rem;
        top: 50%;
        height: 2px;
        background: #111;
    }

    .rk-collection-nav-close::before {
        transform: rotate(45deg);
    }

    .rk-collection-nav-close::after {
        transform: rotate(-45deg);
    }
}

@media (max-width: 640px) {
    .rk-collection-index-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
    }
}

/* —— R K Marble products (C5) —— */
.page-products .site-main,
.page-product .site-main {
    padding: 0;
    background: var(--color-bg);
    color: var(--color-text);
}

.rk-products-index {
    padding: 0 0 clamp(3rem, 6vw, 5rem);
}

.rk-product-search {
    display: flex;
    gap: 0.65rem;
    max-width: 36rem;
    margin: 0 auto 1rem;
}

.rk-product-search input {
    flex: 1;
    border: 1px solid var(--color-border);
    padding: 0.75rem 1rem;
    font-family: var(--font-sans);
}

.rk-product-search button {
    appearance: none;
    border: 0;
    background: var(--color-accent);
    color: #fff;
    padding: 0.75rem 1.25rem;
    font-family: var(--font-sans);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
}

.rk-products-count {
    text-align: center;
    color: var(--color-text-muted);
    margin: 0 0 1.75rem;
}

.rk-product-gallery {
    padding: 0.5rem 0 1.5rem;
}

.rk-product-gallery-inner {
    position: relative;
    max-width: 720px;
}

.rk-product-stage {
    position: relative;
    min-height: 22rem;
}

.rk-product-stage-frame {
    display: none;
}

.rk-product-stage-frame.is-active {
    display: block;
}

.rk-product-stage-media {
    position: relative;
    background: #f3f3f3;
}

.rk-product-stage-media img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background: #f7f7f7;
}

.rk-usp {
    position: absolute;
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.45rem 0.65rem;
    max-width: 7.5rem;
}

.rk-usp-1 { left: 4%; top: 18%; }
.rk-usp-2 { right: 4%; top: 18%; }
.rk-usp-3 { left: 4%; bottom: 18%; }
.rk-usp-4 { right: 4%; bottom: 18%; }

.rk-product-gallery-nav {
    display: flex;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1rem;
}

.rk-product-gallery-nav button {
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    cursor: pointer;
    position: relative;
}

.rk-product-gallery-nav button::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
}

.rk-product-gallery-nav button[data-sync-prev]::before { transform: rotate(-135deg); }
.rk-product-gallery-nav button[data-sync-next]::before { transform: rotate(45deg); }

.rk-product-share {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

.rk-product-share a {
    color: var(--color-accent);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.rk-product-points {
    padding: 0 0 1.5rem;
}

.rk-product-points ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}

.rk-product-points li {
    text-align: center;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0.75rem;
    background: var(--color-bg-soft);
}

.rk-product-variants {
    padding: 1rem 0 2rem;
    background: var(--color-bg-soft);
}

.rk-variant-label {
    margin: 0 0 1rem;
    text-align: center;
    color: var(--color-accent);
    font-family: var(--font-sans);
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rk-variant-card {
    flex: 0 0 min(42%, 11rem);
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    text-align: center;
}

.rk-variant-card.is-active {
    outline: 2px solid var(--color-accent);
}

.rk-variant-name {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.85rem;
    text-transform: uppercase;
}

.rk-variant-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ddd;
}

.rk-variant-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-product-details {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.rk-product-details-grid,
.rk-product-quote-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 2rem;
    align-items: center;
    margin-bottom: 3rem;
}

.rk-product-title {
    margin: 0 0 1rem;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    line-height: 1.15;
}

.rk-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
}

.rk-product-side-media img,
.rk-product-quote-media img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.rk-product-quote-media {
    position: relative;
    min-height: 16rem;
}

.rk-product-quote-overlap {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 55%;
    box-shadow: var(--shadow-card);
}

.rk-product-tech {
    padding: 2.5rem 0;
    background: var(--color-bg-soft);
}

.rk-tech-kicker {
    margin: 0 0 0.85rem;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rk-tech-intro {
    margin-bottom: 1.5rem;
    max-width: 52rem;
}

.rk-spec-table {
    margin: 0;
    max-width: 28rem;
}

.rk-spec-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--color-border);
}

.rk-spec-row dt {
    font-weight: 600;
    margin: 0;
}

.rk-spec-row dd {
    margin: 0;
    color: var(--color-text-muted);
}

.rk-spec-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.rk-spec-chips li {
    background: #fff;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--color-border);
}

.rk-product-usage,
.rk-product-related {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.rk-usage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
}

.rk-usage-item {
    text-align: center;
}

.rk-usage-item img {
    margin: 0 auto 0.75rem;
    display: block;
}

.rk-usage-item p {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rk-accordion-light .rk-accordion-item {
    border-bottom: 1px solid var(--color-border);
}

@media (max-width: 991px) {
    .rk-product-details-grid,
    .rk-product-quote-grid,
    .rk-product-points ul,
    .rk-usage-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .rk-product-points ul,
    .rk-usage-grid,
    .rk-product-details-grid,
    .rk-product-quote-grid {
        grid-template-columns: 1fr;
    }

    .rk-usp {
        font-size: 0.65rem;
        max-width: 5.5rem;
    }
}

/* —— Contact & catalogue (C6) —— */
.rk-contact-details,
.rk-contact-enquiry,
.rk-catalogue {
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.rk-contact-intro {
    max-width: 42rem;
    margin: 0 auto 2rem;
    text-align: center;
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1.65;
}

.rk-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}

.rk-contact-map {
    position: relative;
    min-height: 360px;
    background: #f3f3f3;
    border: 1px solid var(--color-border);
}

.rk-contact-map-panel {
    display: none;
    height: 100%;
}

.rk-contact-map-panel.is-active {
    display: block;
}

.rk-contact-map iframe {
    width: 100%;
    height: min(520px, 70vh);
    border: 0;
    display: block;
}

.rk-contact-map-fallback {
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 2rem;
}

.rk-contact-cards {
    display: grid;
    gap: 1rem;
}

.rk-contact-card {
    border: 1px solid var(--color-border);
    background: #fff;
}

.rk-contact-card-tab {
    width: 100%;
    text-align: left;
    padding: 1.15rem 1.25rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.rk-contact-card-tab.is-active {
    background: var(--color-accent);
    color: #111;
}

.rk-contact-card-name {
    display: block;
    font-family: var(--font-display);
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
}

.rk-contact-card-address {
    display: block;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--color-text-muted);
}

.rk-contact-card-tab.is-active .rk-contact-card-address {
    color: rgba(0, 0, 0, 0.72);
}

.rk-contact-card-body {
    padding: 0 1.25rem 1.15rem;
}

.rk-contact-line {
    margin: 0.65rem 0 0;
    font-size: 0.92rem;
}

.rk-contact-label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 0.15rem;
}

.rk-contact-directions {
    margin: 0.85rem 0 0;
}

.rk-contact-directions a {
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.78rem;
}

.rk-contact-enquiry {
    background: #f7f7f7;
}

.rk-contact-form-wrap {
    max-width: 42rem;
    margin: 0 auto;
}

.rk-contact-faqs {
    background: var(--color-band);
    color: var(--color-band-text);
}

.rk-contact-faqs .rk-section-title span {
    color: #fff;
}

.rk-catalogue-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    margin-bottom: 2rem;
}

.rk-catalogue-tab {
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    font: inherit;
    font-size: 1rem;
    padding: 0.35rem 0.15rem;
    cursor: pointer;
    color: var(--color-text-muted);
}

.rk-catalogue-tab.is-active {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.rk-catalogue-panel {
    display: none;
}

.rk-catalogue-panel.is-active {
    display: block;
}

.rk-catalogue-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.rk-catalogue-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--color-border);
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rk-catalogue-card:hover {
    border-color: var(--color-accent);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.rk-catalogue-card.is-disabled {
    opacity: 0.55;
}

.rk-catalogue-pdf {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--color-accent);
    color: #111;
    display: grid;
    place-items: center;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.rk-catalogue-title {
    font-family: var(--font-display);
    font-size: 1rem;
    line-height: 1.35;
}

.rk-catalogue-dl {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-accent);
}

@media (max-width: 991px) {
    .rk-contact-grid {
        grid-template-columns: 1fr;
    }

    .rk-catalogue-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rk-catalogue-grid {
        grid-template-columns: 1fr;
    }
}

/* —— Blog (C7) —— */
.rk-blog-index,
.rk-blog-article {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.rk-blog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}

.rk-blog-main {
    min-width: 0;
}

.rk-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.rk-blog-card-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid var(--color-border);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rk-blog-card-link:hover {
    border-color: var(--color-accent);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

.rk-blog-card-media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #ececec;
}

.rk-blog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-card);
}

.rk-blog-card-link:hover .rk-blog-card-media img {
    transform: scale(1.04);
}

.rk-blog-card-body {
    display: block;
    padding: 1rem 1.1rem 1.2rem;
}

.rk-blog-card-date {
    display: block;
    color: var(--color-accent);
    font-size: 0.85rem;
    margin-bottom: 0.45rem;
}

.rk-blog-card-title {
    display: block;
    font-family: var(--font-display);
    font-size: 1.15rem;
    line-height: 1.35;
    margin-bottom: 0.55rem;
}

.rk-blog-card-excerpt {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin-bottom: 0.75rem;
}

.rk-blog-card-more {
    display: inline-block;
    color: var(--color-accent);
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rk-blog-empty {
    padding: 2rem 0;
}

.rk-blog-sidebar {
    position: sticky;
    top: 6rem;
}

.rk-blog-widget + .rk-blog-widget {
    margin-top: 1.75rem;
}

.rk-blog-widget-title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    letter-spacing: 0.06em;
    margin: 0 0 1rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--color-border);
}

.rk-blog-recent,
.rk-blog-categories {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rk-blog-recent-item + .rk-blog-recent-item {
    margin-top: 1rem;
}

.rk-blog-recent-item a {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 0.75rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.rk-blog-recent-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ececec;
}

.rk-blog-recent-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-blog-recent-title {
    display: block;
    font-size: 0.92rem;
    line-height: 1.35;
    margin-bottom: 0.25rem;
}

.rk-blog-recent-date {
    display: block;
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.rk-blog-categories li + li {
    margin-top: 0.55rem;
}

.rk-blog-categories a {
    text-decoration: none;
    color: inherit;
    font-size: 0.92rem;
}

.rk-blog-categories a[aria-current="page"] {
    color: var(--color-accent);
}

.rk-blog-count {
    color: var(--color-text-muted);
}

.rk-blog-article-hero {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 0;
    background: var(--color-bg);
}

.rk-blog-article-title {
    max-width: 48rem;
    margin: 0.75rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    line-height: 1.2;
}

.rk-blog-article-figure {
    margin: 0 0 1.25rem;
}

.rk-blog-article-figure img {
    width: 100%;
    display: block;
}

.rk-blog-article-meta {
    margin-top: 0.65rem;
    font-size: 0.82rem;
    color: var(--color-text-muted);
    text-align: right;
}

.rk-blog-article-meta-standalone {
    margin-bottom: 1rem;
    text-align: left;
}

.rk-blog-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin: 0 0 1.25rem;
    font-size: 0.82rem;
}

.rk-blog-share-label {
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.rk-blog-share a {
    color: var(--color-accent);
    text-decoration: none;
}

.rk-blog-article-cats {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.rk-blog-article-cats a {
    display: inline-block;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--color-border);
    text-decoration: none;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rk-blog-prose {
    max-width: 48rem;
}

.rk-blog-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.rk-blog-section-media {
    margin: 0 0 1rem;
}

.rk-blog-section-media img {
    width: 100%;
    display: block;
}

.rk-blog-section-title {
    font-family: var(--font-display);
    font-size: 1.35rem;
    margin: 0 0 0.75rem;
}

@media (max-width: 991px) {
    .rk-blog-layout {
        grid-template-columns: 1fr;
    }

    .rk-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rk-blog-sidebar {
        position: static;
    }
}

@media (max-width: 640px) {
    .rk-blog-grid {
        grid-template-columns: 1fr;
    }
}


/* === home-fidelity.css === */
/* Home fidelity — theme vw paddings, rail geometry, section backgrounds.
   Source: rkmarble theme style.css utilities + component templates. */

/* Exact section paddings from theme */
.page-home .rk-about {
    padding: 6.615vw 0; /* padd-tb-127 */
}

.page-home .rk-collections {
    padding: 4.896vw 0; /* padd-tb-94 */
    background-attachment: fixed;
}

.page-home .rk-collections-granite {
    padding: 5.729vw 0; /* padd-tb-110 */
}

.page-home .rk-collections + .rk-collections {
    padding-top: 5.729vw;
}

.page-home .rk-countertops {
    padding: 3.229vw 0; /* padd-tb-62 */
    background: #f1f1f1;
}

.page-home .rk-countertops-media {
    min-height: 30.7vw; /* live ~741×589 */
}

.page-home .rk-countertops-frame img {
    aspect-ratio: 741 / 589;
}

.page-home .rk-testimonials {
    padding: 6.615vw 0; /* padd-tb-127 */
    background-color: #fff;
    background-image: var(--test-bg);
    background-position: center;
    background-size: cover;
}

.page-home .rk-gallery {
    padding: 5.729vw 0; /* padd-tb-110 */
    background: #fff;
}

.page-home .rk-blogs {
    padding: 5.208vw 0 3.854vw; /* padd-t-100 / padd-b-74 */
    background-color: #fff;
    background-image: var(--test-bg);
    background-position: center;
    background-size: cover;
}

.page-home .rk-events {
    padding: 6.615vw 0; /* padd-tb-127 */
    background: #fff;
}

.page-home .rk-information {
    padding: 3.021vw 0 5.208vw;
    background-image: var(--leading-marble-bg);
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.page-home .rk-faqs .rk-accordion-item:first-child .rk-accordion-panel:not([hidden]) .rk-accordion-body {
    /* first FAQ open on live; keep compact */
    max-height: none;
}

.page-home .rk-faqs .rk-section-head {
    margin-bottom: 2.5vw;
}

.page-home .rk-faqs {
    padding: 4.896vw 0; /* padd-tb-94 */
    background-image: var(--marble-bg);
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
}

.page-home .rk-section-head {
    margin-bottom: 3.125vw; /* mrg-b-60 */
}

.page-home .rk-gallery .rk-section-head {
    margin-bottom: 3.125vw;
}

.page-home .rk-section-title {
    font-size: 2.5vw; /* f-s-48 */
    font-family: var(--font-display);
    font-weight: 500;
}

.page-home .rk-lead,
.page-home .rk-lead-center,
.page-home .rk-collections-intro p,
.page-home .rk-testimonial-msg {
    font-size: 1.25vw; /* f-s-24 */
    font-family: var(--font-body-alt);
    line-height: 1.55;
}

.page-home .rk-about .rk-lead {
    font-size: 1.042vw; /* f-s-20 */
}

.page-home .rk-tabs {
    margin-bottom: 3.906vw;
    gap: 0;
    border: 0;
}

.page-home .rk-tab {
    font-size: 1.25vw;
    font-family: var(--font-body-alt);
    color: #000;
    margin: 0 1.25vw;
    padding: 0 0 0.6vw;
    border-bottom: 2px solid transparent;
}

.page-home .rk-tab.is-active,
.page-home .rk-tab[aria-selected="true"] {
    color: #e02529;
    border-bottom-color: #e02529;
}

.page-home .rk-accent-title {
    font-size: 3.125vw; /* f-s-60 */
    font-family: var(--font-body-alt);
    color: #e02529;
    line-height: 1;
    margin-bottom: 2.604vw;
}

.page-home .rk-collections-intro p {
    width: min(100%, 78%);
    margin-bottom: 2.604vw;
    color: #000;
}

.page-home .rk-collections-layout {
    grid-template-columns: minmax(12rem, 25%) minmax(0, 75%);
    gap: 1.042vw;
    align-items: center;
}

/* Rails: ~3 cards visible in the 75% column — theme popSlider scale */
.page-home .rk-rail-track {
    gap: 1.042vw;
    padding-bottom: 1.5vw;
}

.page-home .rk-collection-card {
    flex: 0 0 calc((100% - 2.084vw) / 3);
    min-width: 16vw;
    max-width: 22vw;
}

.page-home .rk-collection-label {
    font-size: 1.875vw; /* f-s-36 */
    font-family: var(--font-display);
    margin-bottom: 1.042vw;
    line-height: 1.3;
}

.page-home .rk-collection-media {
    aspect-ratio: 425 / 526;
}

.page-home .rk-collections-granite .rk-collection-media {
    aspect-ratio: 423 / 540;
}

.page-home .rk-rail-btn {
    width: 2.5vw;
    height: 2.5vw;
    min-width: 36px;
    min-height: 36px;
    top: 55%;
}

.page-home .rk-rail-btn.is-prev {
    left: -1.2vw;
}

.page-home .rk-rail-btn.is-next {
    right: -1.2vw;
}

/* Testimonials — live image ~728×537 */
.page-home .rk-testimonials-grid {
    max-width: none;
    grid-template-columns: 5fr 6fr;
    gap: 3.125vw;
    align-items: center;
}

.page-home .rk-testimonials-media {
    min-height: 0;
}

.page-home .rk-testimonial-video img {
    aspect-ratio: 728 / 537;
    width: 100%;
    border-radius: 1.823vw;
    object-fit: cover;
}

.page-home .rk-testimonial-name {
    font-size: 1.563vw; /* f-s-30 */
}

.page-home .rk-testimonial-role {
    font-size: 1.042vw;
    margin-bottom: 2.083vw;
}

.page-home .rk-testimonial-msg {
    font-size: 1.25vw;
}

/* Gallery — live ~423×523 */
.page-home .rk-gallery-item {
    flex: 0 0 calc((100% - 2.084vw) / 3);
    min-width: 18vw;
    max-width: 28vw;
}

.page-home .rk-gallery-item img {
    aspect-ratio: 423 / 523;
    border-radius: 1.823vw;
    object-fit: cover;
    width: 100%;
}

/* Blog / event rails — live blog slide ~447×700+ */
.page-home .rk-post-rail .rk-post-card {
    flex: 0 0 calc((100% - 2.084vw) / 4);
    min-width: 20vw;
    max-width: 24vw;
    scroll-snap-align: start;
}

.page-home .rk-post-media {
    aspect-ratio: 423 / 222;
    border-radius: 0;
    margin-bottom: 1.042vw;
    display: block;
    overflow: hidden;
}

.page-home .rk-post-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-home .rk-post-title {
    display: block;
    font-size: 1.146vw; /* ~f-s-22 */
    font-family: var(--font-sans);
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 0.8vw;
}

.page-home .rk-blogs .rk-post-title {
    min-height: 14vw;
}

.page-home .rk-events .rk-post-title {
    min-height: 8vw;
}

.page-home .rk-post-more {
    display: inline-block;
    margin-top: 0.6vw;
    color: #e02529;
    font-size: 0.938vw;
}

/* Information — live collapsed moretext */
.page-home .rk-information .moretext {
    display: none;
}

.page-home .rk-information.is-expanded .moretext {
    display: block;
}

.page-home .rk-information .readLess_btn {
    display: none;
}

.page-home .rk-information.is-expanded .readMore_btn {
    display: none;
}

.page-home .rk-information.is-expanded .readLess_btn {
    display: inline;
}

.page-home .rk-information .expand_button {
    display: inline-block;
    margin-top: 1.5vw;
    color: #e02529;
    font-size: 1.146vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
}

.page-home .rk-information h1,
.page-home .rk-information h2,
.page-home .rk-information h4 {
    font-size: 1.458vw; /* f-s-28 */
    font-weight: 700;
    margin: 0 0 1.2vw;
    color: #000;
    font-family: var(--font-body-alt);
}

.page-home .rk-information .leadM {
    font-size: 1.25vw;
    font-family: var(--font-body-alt);
    font-style: italic;
    margin-bottom: 3.125vw;
    color: #000;
}

.page-home .rk-information .leadingMrbleSec,
.page-home .rk-information .article,
.page-home .rk-information p {
    font-size: 1.25vw;
    font-family: var(--font-body-alt);
    color: #000;
    margin-bottom: 1.5vw;
    line-height: 1.55;
}

.page-home .rk-information .strongUnd a {
    text-decoration: underline;
    color: inherit;
}

/* FAQs on marble */
.page-home .rk-faqs .rk-section-title,
.page-home .rk-faqs .rk-section-title span {
    color: #fff;
}

.page-home .rk-accordion-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.25);
    margin-bottom: 0.8vw;
}

.page-home .rk-accordion-trigger {
    color: #fff;
    font-size: 1.25vw;
    padding: 1.25vw 1.5vw;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.page-home .rk-accordion-body {
    color: #fff;
    font-size: 1.25vw;
    font-family: var(--font-body-alt);
    padding: 0 1.5vw 1.5vw;
}

.page-home .rk-accordion-panel[hidden] {
    display: none;
}

/* Company media height */
.page-home .rk-about-media,
.page-home .rk-about-media img {
    min-height: 19.4vw;
}

.page-home .rk-about-copy .rk-lead {
    margin-bottom: 2vw;
}

/* Desktop mega-menu fidelity */
@media (min-width: 992px) {
    .rk-nav > .nav-item > .nav-link {
        font-size: 0.833vw;
        padding: 1.763vw 0.75vw;
        letter-spacing: 2px;
    }

    .rk-nav .dropdown-menu {
        min-width: 15vw;
        padding: 1vw 0;
    }

    .rk-nav .dropdown-item {
        font-size: 0.833vw;
        padding: 0.55vw 1.4vw;
    }

    .rk-nav .dropdown-menu .dropdown-menu {
        min-width: 14vw;
    }

    .rk-header {
        padding: 0;
    }

    .rk-brand {
        max-width: 10.5vw;
    }
}

@media (max-width: 991px) {
    .page-home .rk-about,
    .page-home .rk-collections,
    .page-home .rk-collections-granite,
    .page-home .rk-collections + .rk-collections,
    .page-home .rk-countertops,
    .page-home .rk-testimonials,
    .page-home .rk-gallery,
    .page-home .rk-blogs,
    .page-home .rk-events,
    .page-home .rk-information,
    .page-home .rk-faqs {
        padding-top: 52px;
        padding-bottom: 52px;
        background-attachment: scroll;
    }

    .page-home .rk-hero {
        min-height: 789px;
    }

    .page-home .rk-hero-media,
    .page-home .rk-hero-media img {
        min-height: 789px;
        object-fit: cover;
    }

    .page-home .rk-section-title {
        font-size: 25px;
    }

    .page-home .rk-lead,
    .page-home .rk-lead-center,
    .page-home .rk-collections-intro p,
    .page-home .rk-testimonial-msg,
    .page-home .rk-testimonial-name,
    .page-home .rk-testimonial-role,
    .page-home .rk-information p,
    .page-home .rk-information .leadM,
    .page-home .rk-information .leadingMrbleSec,
    .page-home .rk-information .article,
    .page-home .rk-information .expand_button,
    .page-home .rk-accordion-body,
    .page-home .rk-accordion-trigger,
    .page-home .rk-tab,
    .page-home .rk-post-title,
    .page-home .rk-post-more {
        font-size: 16px;
    }

    .page-home .rk-information h1,
    .page-home .rk-information h2,
    .page-home .rk-information h4 {
        font-size: 22px;
    }

    .page-home .rk-information .leadM {
        margin-bottom: 28px;
        font-style: italic;
    }

    .page-home .rk-accent-title {
        font-size: 30px;
    }

    .page-home .rk-collection-card,
    .page-home .rk-gallery-item,
    .page-home .rk-post-rail .rk-post-card {
        flex: 0 0 78%;
        max-width: 78%;
        min-width: 0;
    }

    .page-home .rk-collections-layout {
        grid-template-columns: 1fr;
    }

    .page-home .rk-collection-label {
        font-size: 22px;
    }

    .page-home .rk-collection-media {
        aspect-ratio: 425 / 526;
    }

    .page-home .rk-testimonials-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .page-home .rk-testimonial-video img {
        aspect-ratio: 16 / 10;
        border-radius: 16px;
    }

    .page-home .rk-gallery-item img {
        aspect-ratio: 423 / 523;
    }

    .page-home .rk-post-media {
        aspect-ratio: 423 / 222;
    }

    .page-home .rk-information {
        padding-top: 35px;
        padding-bottom: 52px;
    }

    .page-home .rk-post-title {
        min-height: 5.5em !important;
        font-size: 16px;
        line-height: 1.45;
    }

    .page-home .rk-gallery-item img {
        aspect-ratio: 423 / 523;
        min-height: 280px;
    }

    .page-home .rk-faqs .rk-accordion-trigger {
        font-size: 16px;
        padding: 14px 0;
    }

    .page-home .rk-about-media,
    .page-home .rk-about-media img {
        min-height: 220px;
    }

    .page-home .rk-about .rk-lead {
        font-size: 15px;
        line-height: 1.55;
    }

    .rk-footer {
        padding: 39px 0 95px;
    }

    .rk-footer-grid {
        gap: 2.75rem;
    }

    .fotr-item li {
        margin-bottom: 0.65rem;
    }

    .page-home .rk-countertops-media {
        min-height: 240px;
    }

    .page-home .rk-countertops-frame img {
        aspect-ratio: 741 / 589;
    }

    .page-home .rk-rail-btn {
        width: 42px;
        height: 42px;
    }
}


/* === product-fidelity.css === */
/* Product detail fidelity — theme single-products.php geometry */

.page-product .site-main {
    padding: 0;
    background: #fff;
    color: #000;
}

.page-product .page-hero {
    display: none !important;
}

/* —— Header / top bar (theme top-bar.php + .header) —— */
.page-product .headertop,
body:not(.page-home) .headertop {
    display: block;
    background-color: #494949;
    padding: 0.625vw 0;
    min-height: 2.708vw; /* ~52px @1920 */
    box-sizing: border-box;
}

.page-product .headertop .contacTop,
body:not(.page-home) .headertop .contacTop {
    display: flex;
    justify-content: flex-end;
}

.page-product .headertop-list,
body:not(.page-home) .headertop-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1.5vw;
    list-style: none;
    margin: 0;
    padding: 0;
    color: #fff;
    font-family: var(--font-body-alt, Gravity, sans-serif);
    font-size: 0.833vw; /* f-s-16 */
}

.page-product .headertop-list a,
body:not(.page-home) .headertop-list a {
    color: #fff;
    text-decoration: none;
}

.page-product .rk-header {
    background: #282828;
    border-bottom: 0;
    padding: 0;
}

.page-product .rk-header .nav-link,
.page-product .rk-header .rk-search-btn {
    color: #fff;
}

.page-product .rk-header .rk-search-btn img {
    filter: none;
}

.page-product .rk-brand {
    max-width: 19.323vw; /* navbarLogo */
    min-width: 140px;
    margin: 0.521vw 0;
}

.page-product .rk-logo {
    filter: none;
    width: 100%;
    height: auto;
    max-height: none;
}

.page-product .rk-navbar {
    align-items: center;
    min-height: 0;
}

.page-product .rk-nav > .nav-item > .nav-link {
    padding: 1.763vw 0;
    line-height: 1;
}

/* Live .full-container is 98% below 992px, 95% at desktop */
.page-product .full-container {
    max-width: 98%;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

@media (min-width: 992px) {
    .page-product .full-container {
        max-width: 95%;
    }
}

.page-product .sec_bredcums {
    padding: 1.302vw 0;
}

.page-product .cst_breadcrumb,
.page-product .breadcrumbs {
    margin: 0;
}

.page-product .breadcrumbs ol.breadcrumb,
.page-product .breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.938vw; /* live .f-s-12 */
    line-height: 1.5;
    text-transform: none;
}

.page-product .breadcrumbs a {
    color: #000;
}

/* Live Bootstrap breadcrumb separator: ">" via ::before (not "/") */
.page-product .breadcrumbs li:not(:last-child)::after {
    content: none;
}

.page-product .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.417vw; /* ~8px at 1920 */
}

.page-product .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    float: left;
    padding-right: 0.417vw;
    color: #6c757d;
}

/* Neutralize legacy pages.css product chrome */
.page-product .rk-product-gallery {
    padding: 2.604vw 0;
}

.page-product .rk-product-variants {
    padding: 0;
    background: transparent;
}

.page-product .rk-product-stage-media {
    background: transparent;
}

.page-product .rk-product-stage-media img {
    aspect-ratio: auto;
    background: transparent;
}

.page-product .section_rk {
    padding: 2.604vw 0;
    position: relative;
}

.page-product .product-details-slider {
    max-width: 45.885vw; /* live gallery img ~881 @1920 */
    margin: 0 auto;
    padding: 0;
}

.page-product .slideImg_wrap {
    position: relative;
}

.page-product .productImg_sec img {
    width: 100%;
    display: block;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    background: transparent;
}

.page-product .bottomStand {
    max-width: 100%;
    margin: 0 auto;
}

.page-product .bottomStand img {
    width: 100%;
    display: block;
}

.page-product .usp_bx {
    position: absolute;
    line-height: 1;
    display: block;
}

.page-product .useTxt {
    font-family: var(--font-sans);
    font-size: 0.729vw; /* f-s-14 */
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #000;
}

.page-product .usp_1 {
    top: 5.469vw;
    width: 10.417vw;
    left: -16.771vw;
    padding-right: 0.521vw;
    text-align: right;
}

.page-product .usp_2 {
    top: 7.292vw;
    right: -6.854vw;
    width: 5.417vw;
    padding-left: 0.521vw;
}

.page-product .usp_3 {
    bottom: 7.292vw;
    right: -9.154vw;
    width: 6.417vw;
    padding-left: 0.521vw;
}

.page-product .usp_4 {
    bottom: 5.469vw;
    left: -16.771vw;
    width: 10.417vw;
    padding-right: 0.521vw;
    text-align: right;
}

.page-product .usp_1::before,
.page-product .usp_2::before,
.page-product .usp_3::before,
.page-product .usp_4::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    border-top: 1px solid rgba(58, 62, 75, 0.2);
}

.page-product .usp_1::before,
.page-product .usp_4::before {
    right: -100%;
}

.page-product .usp_2::before,
.page-product .usp_3::before {
    left: -100%;
}

.page-product .usp_1::after,
.page-product .usp_2::after,
.page-product .usp_3::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.365vw;
    height: 0.365vw;
    border-radius: 100%;
    background-color: #e02529;
}

.page-product .usp_1::after {
    right: -100%;
}

.page-product .usp_2::after,
.page-product .usp_3::after {
    left: -100%;
}

.page-product .rk-product-stage-frame[hidden] {
    display: none !important;
}

.page-product .shareIcon_sec {
    position: absolute;
    right: 2.083vw;
    top: 0;
    z-index: 3;
}

.page-product .shareIcon_link {
    border: 1px solid #a2a2a2;
    background: transparent;
    width: 2.604vw;
    height: 2.604vw;
    min-width: 36px;
    min-height: 36px;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-product .shareIcon_sec .closeIcon_img {
    display: none;
}

.page-product .shareIcon_sec.is-open .shareIcon_img {
    display: none;
}

.page-product .shareIcon_sec.is-open .closeIcon_img {
    display: block;
}

.page-product .shareSocial_icons {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    display: none;
}

.page-product .shareIcon_sec.is-open .shareSocial_icons {
    display: block;
}

.page-product .shareSocial_icons a {
    display: block;
    width: 2vw;
    min-width: 32px;
    margin-bottom: 0.5rem;
}

/* Arrows must not add document flow height (live slick arrows are absolute) */
.page-product .rk-product-gallery-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 42%;
    display: flex;
    justify-content: space-between;
    padding: 0 8%;
    margin: 0;
    pointer-events: none;
    z-index: 2;
}

.page-product .rk-product-gallery-nav button {
    width: 2.5vw;
    height: 2.5vw;
    min-width: 36px;
    min-height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 4px 8px 18px 1px rgba(0, 0, 0, 0.07);
    cursor: pointer;
    position: relative;
    pointer-events: auto;
}

.page-product .rk-product-gallery-nav button::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid #000;
    border-top: 2px solid #000;
}

.page-product .rk-product-gallery-nav button[data-sync-prev]::before {
    transform: rotate(-135deg);
}

.page-product .rk-product-gallery-nav button[data-sync-next]::before {
    transform: rotate(45deg);
}

/* Mobile USP points — live uses d-md-none (no Bootstrap here) */
.page-product .rk-product-points-mobile,
.page-product .section_points {
    display: none;
    padding: 1rem 0;
}

.page-product .points-list {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 14px;
    padding: 0.5rem 0;
}

/* —— Variants (theme .slideBx + .proThumb_img absolute) —— */
.page-product .section_proSlide {
    padding: 0;
    background: transparent;
}

.page-product .variantsTitle_sec {
    font-family: var(--font-sans);
    font-weight: 700;
    color: #e02529;
    font-size: 1.042vw;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 1.042vw;
}

.page-product .pro_slider {
    display: block;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 0 9.865vw;
    scroll-snap-type: x mandatory;
}

.page-product .pro_slider .slide-item {
    display: inline-block;
    width: 27%;
    max-width: none;
    flex: none;
    vertical-align: bottom;
    padding: 2.604vw 0;
    margin: 0;
    white-space: normal;
    scroll-snap-align: start;
}

.page-product .slideBx {
    max-width: 18.104vw;
    width: 100%;
    border: 0.5px solid #d1d1d1;
    border-radius: 0.26vw;
    position: relative;
    padding: 1.563vw 1.781vw;
    display: block;
    text-decoration: none;
    background: #fff;
    box-sizing: border-box;
}

.page-product .slideBx .proTxt {
    max-width: 50%;
    color: #656565;
    white-space: normal;
    font-size: 0.833vw;
    margin: 0;
}

.page-product .proThumb_img {
    max-width: 4.948vw;
    width: 100%;
    position: absolute;
    top: 50%;
    right: 1.563vw;
    transform: translate(0, -50%);
    border-radius: 0.26vw;
    overflow: hidden;
}

.page-product .proThumb_img img {
    width: 100%;
    display: block;
    aspect-ratio: auto;
    object-fit: cover;
}

.page-product .slide-item.pageActive .slideBx {
    background: #0769c2;
    border: 1px solid #0075c4;
}

.page-product .slide-item.pageActive .slideBx .proTxt {
    color: #fff;
    font-weight: 400;
}

/* —— Details + quote mosaic —— */
.page-product .section_product_details {
    padding: 4.167vw 0;
}

.page-product .rk-product-details-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 2vw;
    align-items: start;
    margin-bottom: 0;
}

.page-product .rk-product-quote-grid {
    display: grid;
    grid-template-columns: 5fr 7fr; /* live col-md-5 / col-md-7 */
    gap: 0;
    align-items: center;
    margin-bottom: 0;
}

/* Live: col-md-7 order-md-2 puts copy on the right on desktop */
.page-product .rk-product-quote-copy {
    order: 2;
}

.page-product .rk-product-quote-media-wrap {
    order: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding-top: 0;
    width: 100%;
}

.page-product .mob_mrg_100 {
    margin-top: 0;
}

.page-product .proDetails_txt {
    max-width: 26.271vw;
    margin: 0 auto;
}

.page-product .rk-product-copy {
    align-self: center;
}

.page-product .proTitle {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 2.083vw; /* f-s-40 */
    line-height: 1;
    margin: 0 0 1.042vw;
}

.page-product .proTxt,
.page-product .rk-product-body {
    font-family: Montserrat, var(--font-sans), sans-serif;
    font-size: 0.938vw; /* live .f-s-14 */
    line-height: 1.7;
    opacity: 0.7;
    margin-bottom: 2.083vw;
}

.page-product .enquiryNow_btn_sec {
    position: relative;
    line-height: 1;
    display: inline-block;
}

.page-product .enquiryNow_btn_sec::before {
    content: "";
    border-top: 1px solid rgba(58, 62, 75, 0.2);
    position: absolute;
    top: 50%;
    width: 50%;
    left: -0.781vw;
    z-index: -1;
    margin-top: 1px;
}

.page-product .enquiryNow_btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.521vw;
    font-family: var(--font-sans);
    font-size: 0.833vw;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #e02529;
    background: #fff;
    text-decoration: none;
}

.page-product .enquiryNow_btn.is-download {
    color: #000;
}

.page-product .enquiryNow_btn.is-download img {
    width: 0.833vw;
    min-width: 16px;
}

.page-product .pro-details-img {
    max-width: 29.688vw;
    width: 100%;
    margin-left: auto;
}

.page-product .pro-details-img img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: auto;
    object-fit: contain;
}

.page-product .product_sec_2.mrg-t-130 {
    margin-top: -6.771vw;
}

.page-product .rk-product-quote-media-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding-top: 0;
}

.page-product .pro-details-img-2,
.page-product .pro-details-img-3 {
    max-width: 20.458vw;
    width: 100%;
}

.page-product .pro-details-img-2 img,
.page-product .pro-details-img-3 img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: auto;
    object-fit: cover;
}

.page-product .pro-details-img-3 {
    position: absolute;
    right: -5.875vw;
    top: -16.5vw;
    bottom: auto;
    left: auto;
    width: 100%;
    box-shadow: none;
}

.page-product .proNext_txt.proDetails_txt {
    max-width: 19.271vw;
    margin-top: 3.906vw;
    margin-left: auto;
    margin-right: 0;
}

.page-product .proNext_txt .proTxt {
    position: relative;
    padding-top: 1.563vw;
}

.page-product .proNext_txt .proTxt::before {
    content: "";
    background-image: url("../../images/theme/quote-icon.svg");
    width: 0.938vw;
    height: 0.781vw;
    position: absolute;
    top: 0;
    left: -1.563vw;
    background-size: 0.938vw auto;
    background-repeat: no-repeat;
}

.page-product .section_technician,
.page-product .rk-product-tech {
    padding: 4.906vw 0;
    background: #fbfbfb;
}

.page-product .techTitle,
.page-product .section_technician .techTitle {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.042vw;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 1.042vw;
    color: #1681c3; /* theme technician techTitle */
}

.page-product .section_usage_area .techTitle,
.page-product .section_related .techTitle {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.042vw;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 1.042vw;
    color: #000;
}

.page-product .tech_txt {
    font-family: Montserrat, var(--font-sans), sans-serif;
    font-size: 0.938vw; /* live .f-s-14 */
    line-height: 1.7;
    opacity: 0.7;
    max-width: none;
    margin-bottom: 0;
}

.page-product .tech_accordian .rk-accordion-item {
    background: #fff;
    border: 0;
    border-bottom: 1px solid #000;
    margin-bottom: 0;
}

.page-product .tech_accordian .accordion-header {
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: 1;
}

.page-product .tech_accordian .rk-accordion-trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 1.302vw 0;
    font-family: var(--font-sans);
    font-size: 0.938vw;
    font-weight: 500;
    letter-spacing: 1.2px;
    color: #000;
    cursor: pointer;
}

.page-product .tableWrap {
    max-width: 28rem;
    margin: 0;
    padding: 0 0 1.5vw;
}

.page-product .rk-spec-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 0.55vw;
}

.page-product .table_title_1 {
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 0.833vw;
}

.page-product .table_title_2 {
    font-family: var(--font-sans);
    font-size: 0.833vw;
}

.page-product .section_usage_area,
.page-product .section_related,
.page-product .section_faq {
    padding: 5.208vw 0;
}

.page-product .techTitle_sec {
    margin-bottom: 4.427vw; /* mrg-b-85 */
}

.page-product .section_technician .techTitle_sec {
    margin-bottom: 2.083vw; /* live technician title spacing ~40px */
}

.page-product .rk-usage-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5vw;
    max-width: 91%;
}

.page-product .uasge_area_icon {
    max-width: 4.688vw;
    margin: 0 auto 0.781vw;
}

.page-product .uasge_area_icon img {
    width: 100%;
    display: block;
}

.page-product .uasge_area_txt {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 0.833vw;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-align: center;
}

.page-product .product_related_slider {
    padding-left: 3.865vw;
}

.page-product .rk-related-card {
    flex: 0 0 calc((100% - 8.25vw) / 3);
    min-width: 21.56vw; /* ~414 @1920 */
    max-width: 21.56vw;
    margin-right: 4.125vw;
    text-decoration: none;
    color: #000;
    scroll-snap-align: start;
}

.page-product .product_like_img {
    margin-bottom: 0.55vw;
    overflow: hidden;
    border-radius: 0.521vw;
    box-shadow: 10px 10px 26px 0 rgba(0, 0, 0, 0.3);
}

.page-product .product_like_img img {
    width: 100%;
    display: block;
    aspect-ratio: 414 / 664;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.page-product .rk-related-card:hover .product_like_img img {
    transform: scale(1.03);
}

.page-product .product_like_img_txt {
    font-size: 1.042vw;
    text-align: right;
    font-family: var(--font-body-alt);
    line-height: 1.2;
    margin-top: 0.35vw;
}

.page-product .faq_secTitle {
    text-align: center;
    max-width: 28rem;
    margin: 0 auto 3.125vw; /* mrg-b-60 — present even when empty on live */
}

.page-product .faq_secTitle.is-empty {
    min-height: 0;
}

.page-product .faqTitle {
    font-family: var(--font-sans);
    font-size: 1.25vw;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.75vw;
}

.page-product .faq_accordian .rk-accordion-item {
    margin-bottom: 1.5vw;
    border-bottom: 1px solid #e5e5e5;
}

.page-product .faq_accordian .rk-accordion-trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 0.85vw 0;
    font-family: var(--font-sans);
    font-size: 0.833vw;
    font-weight: 700;
    letter-spacing: 1.2px;
    cursor: pointer;
}

.page-product .faq_accordian .accordion-body {
    font-size: 0.729vw;
    line-height: 1.7;
    letter-spacing: 1.2px;
    padding-bottom: 1vw;
}

@media (max-width: 991px) {
    body.page-product {
        font-size: 13px;
        line-height: 1.5;
    }

    .page-product .headertop,
    body:not(.page-home) .headertop {
        display: none;
    }

    .page-product .rk-brand {
        max-width: 200px;
    }

    .page-product .rk-nav > .nav-item > .nav-link {
        padding: 11px 0;
    }

    .page-product .sec_bredcums {
        padding: 15px 0;
    }

    .page-product .sec_bredcums .container-pd-vw {
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    /* Live nests Bootstrap cols (+12px) under container-pd-vw for copy blocks */
    .page-product .section_usage_area .full-container,
    .page-product .section_technician .full-container,
    .page-product .section_faq .full-container,
    .page-product .section_related .full-container {
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    .page-product .section_usage_area .techTitle_sec,
    .page-product .section_technician .techTitle_sec,
    .page-product .section_usage_area .rk-usage-grid,
    .page-product .section_technician .tech_accordian,
    .page-product .product_sec_1 .proDetails_txt,
    .page-product .product_sec_2 .proNext_txt {
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }

    .page-product .section_usage_area .tech_txt,
    .page-product .section_technician .tech_txt {
        font-family: Montserrat, var(--font-sans), sans-serif;
    }

    .page-product .section_usage_area .techTitle_sec {
        margin-bottom: 37px;
    }

    .page-product .uasge_areaBx {
        margin-bottom: 25px;
        text-align: center;
    }

    .page-product .uasge_area_icon {
        max-width: 50px;
        margin: 0 auto 8px;
    }

    .page-product .uasge_area_txt {
        font-size: 12px;
        line-height: 18px;
        letter-spacing: 1.2px;
    }

    .page-product .rk-footer-bottom {
        padding-top: 0;
    }

    .page-product .cst_breadcrumb,
    .page-product .breadcrumbs {
        margin-bottom: 0 !important;
    }

    .page-product .breadcrumbs ol.breadcrumb,
    .page-product .breadcrumbs ol {
        font-size: 12px;
        line-height: 18px;
        gap: 0;
    }

    .page-product .breadcrumb-item + .breadcrumb-item {
        padding-left: 8px;
    }

    .page-product .breadcrumb-item + .breadcrumb-item::before {
        padding-right: 8px;
    }

    .page-product .section_rk,
    .page-product .rk-product-gallery,
    .page-product .section_technician,
    .page-product .section_faq {
        padding: 30px 0;
    }

    .page-product .section_product_details {
        padding: 50px 0;
    }

    .page-product .section_usage_area,
    .page-product .section_related {
        padding: 5.208vw 0;
    }

    .page-product .product-details-slider {
        max-width: 100%;
        padding: 0 25px;
    }

    .page-product .usp_bx {
        display: none;
    }

    .page-product .shareIcon_sec {
        right: 10px;
        top: -10px;
    }

    .page-product .rk-product-gallery-nav {
        top: 36%;
        padding: 0 12px;
    }

    .page-product .variantsTitle_sec {
        font-size: 13px;
        margin-bottom: 10px;
        line-height: 1.5;
    }

    .page-product .techTitle,
    .page-product .uasge_area_txt,
    .page-product .product_like_img_txt,
    .page-product .faqTitle {
        font-size: 16px;
    }

    .page-product .proTitle {
        font-family: Montserrat, var(--font-sans), sans-serif;
        font-size: 24px; /* live .f-s-40 @mobile */
        line-height: 24px;
        margin-bottom: 10px; /* live .mrg-b-20 @mobile */
    }

    .page-product .product_sec_1 .proTxt {
        margin-bottom: 14px; /* live .mrg-b-40 @mobile */
    }

    .page-product .proTxt,
    .page-product .tech_txt,
    .page-product .table_title_1,
    .page-product .table_title_2,
    .page-product .slideBx .proTxt,
    .page-product .enquiryNow_btn,
    .page-product .faq_accordian .accordion-body {
        font-size: 14px;
    }

    .page-product .section_technician .techTitle_sec {
        margin-bottom: 14px;
    }

    .page-product .section_technician .techTitle,
    .page-product .section_usage_area .techTitle {
        font-size: 13px;
        line-height: 19.5px;
        margin-bottom: 10px;
    }

    .page-product .section_technician .tech_txt,
    .page-product .section_usage_area .tech_txt {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 0;
    }

    .page-product .techTitle_sec {
        margin-bottom: 28px;
    }

    .page-product .section_usage_area .techTitle_sec {
        margin-bottom: 37px;
    }

    .page-product .uasge_area_icon {
        max-width: 50px;
        margin: 0 auto 8px;
    }

    .page-product .uasge_area_txt {
        font-size: 12px;
        line-height: 18px;
        letter-spacing: 1.2px;
    }

    .page-product .tech_accordian .rk-accordion-trigger {
        font-size: 14px;
        padding: 9px 10px;
        line-height: 1.35;
        min-height: 37px;
    }

    .page-product .tech_accordian .accordion-header {
        margin: 0;
    }

    .page-product .tech_accordian .rk-accordion-item {
        min-height: 38px;
    }

    .page-product .proDetails_txt,
    .page-product .proNext_txt.proDetails_txt {
        max-width: 100%;
    }

    .page-product .product_sec_1 .proDetails_txt {
        margin: 0 0 50px; /* live btn→image gap ~50; no top margin on mobile */
    }

    .page-product .proNext_txt.proDetails_txt {
        margin: 15px 0 50px;
    }

    .page-product .rk-product-details-grid,
    .page-product .rk-product-quote-grid {
        grid-template-columns: 1fr;
    }

    /* Mobile: DOM order (copy then media) — clear desktop order */
    .page-product .rk-product-quote-copy,
    .page-product .rk-product-quote-media-wrap {
        order: initial;
    }

    .page-product .section_product_details .full-container {
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    .page-product .rk-product-quote-media-wrap {
        min-height: 0;
        margin-bottom: 0;
        display: flex;
        align-items: center; /* live .align-items-center — halves -180px mosaic offset */
        justify-content: center;
        position: relative;
    }

    .page-product .mob_mrg_100 {
        margin-top: 100px; /* live theme .mob_mrg_100 */
    }

    .page-product .pro-details-img {
        max-width: 100%;
        margin: 0 auto;
    }

    .page-product .product_sec_2.mrg-t-130 {
        margin-top: 0;
        padding: 50px 0;
    }

    .page-product .pro-details-img-2,
    .page-product .pro-details-img-3 {
        max-width: 180px;
        flex: 0 0 180px;
    }

    .page-product .pro-details-img-3 {
        position: relative;
        right: 0;
        top: 0;
        bottom: auto;
        margin-left: -70px;
        margin-top: -180px; /* live mobile mosaic overlap */
    }

    .page-product .proNext_txt .proTxt {
        padding-top: 20px;
        padding-left: 30px;
    }

    .page-product .proNext_txt .proTxt::before {
        width: 18px;
        height: 15px;
        left: 0;
        background-size: 18px auto;
        background-image: url("../../images/theme/quote-icon.svg");
    }

    .page-product .uasge_areaBx {
        margin-bottom: 25px;
    }

    .page-product .section_usage_area .techTitle_sec {
        margin-bottom: 37px;
    }

    .page-product .section_usage_area .techTitle {
        font-size: 13px;
        line-height: 19.5px;
        margin-bottom: 10px;
    }

    .page-product .section_usage_area .tech_txt {
        font-size: 14px;
        line-height: 1.7;
    }

    .page-product .pro_slider {
        padding: 0 25px;
        white-space: nowrap;
    }

    .page-product .pro_slider .slide-item {
        width: 190px;
        padding: 15px 0;
        margin-right: 15px;
        vertical-align: middle;
    }

    .page-product .slideBx {
        max-width: 100%;
        padding: 10px 15px;
        border-radius: 8px;
        min-height: 40px;
        height: 40px;
        line-height: 1.2;
        box-sizing: border-box;
        overflow: visible;
    }

    .page-product .slideBx .proTxt {
        font-size: 13px;
        line-height: 20px;
        max-width: 55%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
    }

    .page-product .proThumb_img {
        max-width: 55px;
        width: 55px;
        right: 10px;
        top: 19px;
        transform: none;
    }

    .page-product .proThumb_img img {
        width: 55px;
        height: 88px;
        object-fit: cover;
        display: block;
    }

    .page-product .proThumb_img img {
        width: 55px;
        height: 88px;
        aspect-ratio: auto;
        object-fit: cover;
        display: block;
    }

    .page-product .rk-usage-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 1rem;
        max-width: 100%;
    }

    .page-product .uasge_areaBx {
        margin-bottom: 25px;
        text-align: center;
    }

    .page-product .uasge_area_icon {
        max-width: 50px;
        margin: 0 auto 8px;
    }

    .page-product .rk-related-card {
        flex: 0 0 126px;
        max-width: 126px;
        min-width: 126px;
        margin-right: 20px;
    }

    .page-product .product_like_img {
        margin-bottom: 8px;
    }

    .page-product .product_like_img img {
        width: 126px;
        height: 202px;
        aspect-ratio: 126 / 202;
        object-fit: cover;
    }

    .page-product .product_related_slider {
        padding-left: 25px;
    }

    .page-product .product_like_img {
        border-radius: 7px;
        box-shadow: none;
    }

    .page-product .techTitle_sec {
        margin-bottom: 28px;
    }
}

@media (max-width: 767px) {
    .page-product .rk-product-points-mobile,
    .page-product .section_points {
        display: block;
        padding: 30px 0;
    }

    .page-product .headertop,
    body:not(.page-home) .headertop {
        display: none;
    }

    .page-product .rk-header {
        min-height: 61px;
    }

    .page-product .rk-brand {
        max-width: 160px;
        margin: 8px 0;
    }

    .page-product .section_points .points-list {
        font-size: 13px;
        line-height: 19.5px;
        padding: 0 0 0 15px;
        margin-bottom: 15px;
        position: relative;
    }

    .page-product .rk-product-points-mobile .mobilePoits {
        display: flex;
        flex-wrap: wrap;
        margin-left: -12px;
        margin-right: -12px;
    }

    .page-product .rk-product-points-mobile .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
        width: 50%;
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
        margin-bottom: 0;
    }

    .page-product .bottomStand {
        max-width: 270px;
        width: 100%;
        margin: 0 auto;
    }

    .page-product .product-details-slider {
        max-width: 100%;
        padding: 0 25px;
        margin-top: 15px;
    }

    .page-product .pro-details-img img {
        max-height: 500px;
        width: 100%;
        object-fit: cover;
    }

    .page-product .rk-footer {
        padding: 39px 0 95px;
    }

    .page-product .rk-footer-grid {
        gap: 1.25rem;
    }

    .page-product .fotr-item a,
    .page-product .rk-footer-contact li {
        padding: 0.25rem 0;
        line-height: 1.45;
        font-size: 13px;
    }

    .page-product .footer-heading {
        font-size: 14px;
        margin-bottom: 0.65rem;
    }

    .page-product .rk-footer-bottom {
        margin-top: 0;
        padding: 0;
        font-size: 12px;
        line-height: 1.5;
        min-height: 101px;
        box-sizing: border-box;
    }

    .page-product .rk-footer-social {
        margin-top: 0.85rem;
    }

    /* Live footer includes floatingIcon_enquiry in document flow on mobile */
    .page-product .floatingIcon_enquiry {
        display: block;
        position: static;
        right: auto;
        bottom: auto;
        width: 100%;
        margin: 0;
        padding: 0;
        line-height: 0;
        z-index: auto;
    }

    .page-product .floatingIcon_enquiry .floatingIcon_link {
        display: block;
        width: 100%;
        height: auto;
        min-width: 0;
        min-height: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .page-product .floatingIcon_enquiry .floatIcon {
        display: block;
        max-width: none;
        min-width: 0;
        width: 100%;
    }

    .page-product .floatingIcon_enquiry img {
        width: 100%;
        height: auto;
        display: block;
        aspect-ratio: 390 / 380;
        object-fit: fill;
    }

    /* Avoid double FABs on product mobile */
    .page-product .enquire-tab {
        display: none;
    }
}


/* === collection-fidelity.css === */
/* Collections fidelity — live taxonomy-collections.php geometry
   Scoped to .page-collection / .page-collections only. */

.page-collection .site-main,
.page-collections .site-main {
    padding: 0;
    background: #fff;
    color: #000;
}

/* Shared chrome (same as product inner pages) */
.page-collection .headertop,
.page-collections .headertop,
body:not(.page-home) .headertop {
    display: block;
    background-color: #494949;
    padding: 0.625vw 0;
    min-height: 2.708vw;
    box-sizing: border-box;
}

.page-collection .rk-header,
.page-collections .rk-header {
    background: #282828;
    border-bottom: 0;
    padding: 0;
}

.page-collection .rk-header .nav-link,
.page-collection .rk-header .rk-search-btn,
.page-collections .rk-header .nav-link,
.page-collections .rk-header .rk-search-btn {
    color: #fff;
}

.page-collection .rk-brand,
.page-collections .rk-brand {
    max-width: 19.323vw;
    min-width: 140px;
    margin: 0.521vw 0;
}

.page-collection .rk-logo,
.page-collections .rk-logo {
    filter: none;
    width: 100%;
    height: auto;
    max-height: none;
}

.page-collection .full-container,
.page-collections .full-container {
    max-width: 98%;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

@media (min-width: 992px) {
    .page-collection .full-container,
    .page-collections .full-container {
        max-width: 95%;
    }
}

/* —— Breadcrumb —— */
.page-collection .sec_bredcums,
.page-collections .sec_bredcums {
    padding: 1.302vw 0;
}

.page-collection .cst_breadcrumb .breadcrumb,
.page-collections .cst_breadcrumb .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0 !important;
    padding: 0;
    font-size: 0.833vw; /* closer to live breadcrumb line box */
    line-height: 1.35;
    font-family: var(--font-nav);
}

.page-collection .cst_breadcrumb,
.page-collections .cst_breadcrumb,
.page-collection .breadcrumbs,
.page-collections .breadcrumbs {
    margin-bottom: 0 !important;
}

.page-collection .cst_breadcrumb a,
.page-collections .cst_breadcrumb a {
    color: #000;
    text-decoration: none;
}

.page-collection .breadcrumb-item + .breadcrumb-item,
.page-collections .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.417vw;
}

.page-collection .breadcrumb-item + .breadcrumb-item::before,
.page-collections .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    float: left;
    padding-right: 0.417vw;
    color: #6c757d;
}

.page-collection .breadcrumb-item.active,
.page-collections .breadcrumb-item.active {
    color: #1681c3;
}

/* —— Hero slider (imported-marble etc.) ——
   Live structure:
     .section_product_cat (overflow:hidden) wraps
     .product_cat_slider { height: calc(100vh - 6.146vw); margin-bottom: 30px }
   Parent overflow contains the 30px margin → wrap height ≈ slider + 30.
   Banner img is width:100% / height:auto (natural 1920×949), not cover-fill.
*/
.page-collection .section_product_cat.rk-collection-hero {
    position: relative;
    height: calc(100vh - 6.146vw + 30px);
    min-height: calc(28rem + 30px);
    margin-bottom: 0;
    overflow: hidden;
    background: #111;
    box-sizing: border-box;
}

.page-collection .rk-collection-hero-track {
    position: relative;
    height: calc(100% - 30px);
    min-height: 28rem;
}

.page-collection .rk-collection-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.page-collection .rk-collection-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.page-collection .rk-collection-hero .product_catImg {
    position: relative;
    height: 100%;
}

.page-collection .rk-collection-hero .product_catImg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
    pointer-events: none;
}

.page-collection .rk-collection-hero .product_catImg img,
.page-collection .rk-collection-hero-slide img {
    width: 100%;
    height: auto !important;
    max-width: 100%;
    min-height: 0 !important;
    display: block;
    object-fit: fill;
}

.page-collection .product_catSlide_txt {
    position: absolute;
    bottom: 5.208vw;
    left: 0;
    width: 100%;
    z-index: 2;
    text-align: center;
    padding: 0 1rem;
}

.page-collection .rk-collection-hero-caption {
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 2.083vw; /* f-s-40 */
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.15;
}

.page-collection .rk-hero-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.563vw;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 0.52vw;
}

.page-collection .rk-hero-dots button {
    width: 1.042vw;
    height: 1.042vw;
    min-width: 10px;
    min-height: 10px;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    padding: 0;
    cursor: pointer;
    position: relative;
}

.page-collection .rk-hero-dots button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.417vw;
    height: 0.417vw;
    min-width: 5px;
    min-height: 5px;
    border-radius: 50%;
    background: #fff;
}

.page-collection .rk-hero-dots button.is-active {
    border-color: #fff;
}

/* —— Title block —— */
.page-collection .section_proList_cat,
.page-collections .section_proList_cat {
    padding: 5.208vw 0;
}

.page-collection .rk-collection-head,
.page-collections .rk-collection-head {
    text-align: center;
    max-width: 83.333%;
    margin: 0 auto 3.125vw; /* mrg-b-60 */
}

.page-collection .rk-collection-title,
.page-collections .rk-collection-title,
.page-collection .proTitle,
.page-collections .proTitle {
    margin: 0 0 1.042vw; /* mrg-b-20 */
    font-family: var(--font-nav);
    font-weight: 500;
    font-size: 2.083vw; /* f-s-40 */
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #000;
}

.page-collection .rk-collection-desc,
.page-collections .rk-collection-desc,
.page-collection .proTxt,
.page-collections .proTxt {
    margin: 0 auto;
    max-width: 46rem;
    font-family: var(--font-nav);
    font-size: 0.938vw; /* f-s-14 */
    line-height: 1.7;
    opacity: 0.7;
    color: #000;
}

/* —— Sidebar + grid layout (live: row-vw + col-md-3 / col-md-9) —— */
.page-collection .section_proList_cat > .full-container.container-pd-vw {
    padding-left: 0.992vw;
    padding-right: 0.992vw;
    box-sizing: border-box;
}

/* Live nests Bootstrap .container-fluid (12px gutters) under container-pd-vw */
.page-collection .section_proList_cat .container-fluid {
    width: 100%;
    padding-right: 12px;
    padding-left: 12px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

.page-collection .rk-collection-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 0;
    margin-left: -0.992vw;
    margin-right: -0.992vw;
    width: auto;
}

.page-collection .rk-collection-nav.catListing_filter {
    background: #fbfbfb;
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
    padding: 1.302vw 0.992vw;
    box-sizing: border-box;
    position: relative;
    transform: none;
    height: auto;
    left: auto;
    top: auto;
    z-index: auto;
    overflow: visible;
    margin-left: 0;
    margin-right: 0;
}

.page-collection .rk-collection-products {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
    padding-left: 0.992vw;
    padding-right: 0.992vw;
    box-sizing: border-box;
    min-width: 0;
}

.page-collection .rk-collection-nav-title,
.page-collection .catList_title {
    margin: 0 0 1.042vw;
    padding-bottom: 10px;
    border-bottom: 1px solid #e02529;
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 0.833vw; /* f-s-16 */
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #000;
}

.page-collection .rk-collection-nav-close {
    display: none;
}

.page-collection .catList ul,
.page-collection .rk-nav-tree,
.page-collection .rk-nav-l2,
.page-collection .rk-nav-l3 {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.423vw;
}

.page-collection .rk-nav-l3 {
    padding-left: 0;
}

.page-collection .rk-nav-tree .rk-nav-toggle,
.page-collection .rk-nav-tree a,
.page-collection .catList li a,
.page-collection .catList .toggle {
    display: block;
    width: 100%;
    text-align: left;
    appearance: none;
    border: 0;
    background: transparent;
    color: #000;
    text-decoration: none;
    font-family: var(--font-nav);
    font-size: 0.938vw;
    text-transform: uppercase;
    padding: 0.365vw 0;
    cursor: pointer;
    line-height: 1.35;
    position: relative;
}

.page-collection .rk-nav-tree > li > .rk-nav-toggle::after {
    content: "\f0d7";
    font-family: FontAwesome, "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 0.4em;
    color: #1681c3;
    line-height: 1;
}

.page-collection .rk-nav-l2,
.page-collection .rk-nav-l3,
.page-collection .catList ul > li > ul {
    display: none;
}

.page-collection .rk-nav-tree > li.is-open > .rk-nav-l2,
.page-collection .rk-nav-l2 > li.is-open > .rk-nav-l3 {
    display: block;
}

.page-collection .rk-nav-l3 a {
    color: #929292;
    font-size: 0.833vw;
}

.page-collection .rk-nav-l3 a.is-active,
.page-collection .rk-nav-l3 a.active-link,
.page-collection .rk-nav-l3 a:hover {
    color: #e02529 !important;
}

.page-collection .rk-collection-products {
    min-width: 0;
}

.page-collection .sortBy {
    float: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: none;
    padding: 0;
    margin: 0 0 1.563vw; /* mrg-b-30 */
}

.page-collection .rk-collection-mobile-filter,
.page-collection .mobCat_txt {
    display: none;
}

/* —— Product grid: live row-vw-pro keeps Bootstrap row margins (-12px)
   while column padding uses 1.302vw (see live computed gutters) —— */
.page-collection .rk-product-grid {
    display: flex;
    flex-wrap: wrap;
    margin-right: -12px;
    margin-left: -12px;
    column-gap: 0;
    row-gap: 0;
}

.page-collection .proBox_wrap.rk-product-tile {
    width: 25%;
    max-width: 25%;
    flex: 0 0 25%;
    padding-right: 1.302vw;
    padding-left: 1.302vw;
    box-sizing: border-box;
    margin: 0 0 3.125vw; /* mrg-b-60 */
}

.page-collection .rk-product-tile a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.page-collection .rk-product-tile-media,
.page-collection .proCategoery_img {
    display: block;
    overflow: hidden;
    border-radius: 0.521vw;
    background: #eee;
    margin-bottom: 0.521vw; /* mrg-b-10 */
    /* Live natural thumbs ~318×510 */
    aspect-ratio: 318 / 510;
}

.page-collection .rk-product-tile-media img,
.page-collection .proCategoery_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease-in-out;
}

.page-collection .rk-product-tile a:hover .rk-product-tile-media img,
.page-collection .proCategoery_img:hover img {
    transform: scale(1.2);
}

.page-collection .rk-product-tile-title,
.page-collection .proCategoery_img_txt {
    display: block;
    text-align: center;
    font-family: var(--font-nav);
    /* Live inherits ~1.042vw (15px @1440), not f-s-16/0.833vw */
    font-size: 1.042vw;
    letter-spacing: normal;
    text-transform: uppercase;
    color: #000;
    line-height: 1.5;
}

/* —— Pagination —— */
.page-collection .rk-pagination.pagination_sec {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.521vw;
    margin-top: 1.823vw; /* mrg-t-35 */
}

.page-collection .rk-pagination a,
.page-collection .rk-pagination span {
    font-family: var(--font-nav);
    font-size: 1.146vw; /* f-s-22 */
    text-decoration: none;
    color: #afafaf;
    text-transform: uppercase;
    min-width: auto;
    padding: 0.2rem 0.35rem;
}

.page-collection .rk-pagination .pagination_active,
.page-collection .rk-pagination .is-active,
.page-collection .rk-pagination a:hover {
    color: #e02529;
}

.page-collection .rk-pagination .next_pagination {
    color: #000;
}

/* —— Related rail —— */
.page-collection .section_related.rk-collection-related {
    padding: 0 0 5.208vw;
    overflow: hidden;
}

.page-collection .rk-collection-related .techTitle_sec {
    margin-bottom: 4.427vw; /* mrg-b-85 */
    text-align: left;
}

.page-collection .rk-rail-btn {
    position: absolute;
    top: 40%;
    z-index: 2;
    width: 2.2vw;
    height: 2.2vw;
    min-width: 28px;
    min-height: 28px;
    border: 0;
    border-radius: 0;
    background: #000 center / 40% no-repeat;
    cursor: pointer;
    opacity: 0.85;
}

.page-collection .rk-rail-btn.is-prev {
    left: 0.5vw;
    background-image: url("../../images/theme/left-arrow.png");
}

.page-collection .rk-rail-btn.is-next {
    right: 0.5vw;
    background-image: url("../../images/theme/right-arrow.png");
}

.page-collection .rk-collection-related .techTitle {
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 1.042vw; /* f-s-20 */
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 1.042vw;
}

.page-collection .rk-collection-related .product_related_slider {
    padding-left: 3.865vw;
}

.page-collection .rk-collection-related .rk-related-card {
    flex: 0 0 calc((100% - 8.25vw) / 3);
    min-width: 21.56vw;
    max-width: 21.56vw;
    margin-right: 4.125vw;
    text-decoration: none;
    color: #000;
    scroll-snap-align: start;
}

.page-collection .rk-collection-related .product_like_img {
    margin-bottom: 0.55vw;
    overflow: hidden;
    border-radius: 0.521vw;
    box-shadow: 10px 10px 26px 0 rgba(0, 0, 0, 0.3);
}

.page-collection .rk-collection-related .product_like_img img {
    width: 100%;
    display: block;
    aspect-ratio: 414 / 664;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.page-collection .rk-collection-related .rk-related-card:hover .product_like_img img {
    transform: scale(1.03);
}

.page-collection .rk-collection-related .product_like_img_txt {
    font-size: 1.042vw;
    text-align: right;
    font-family: var(--font-body-alt);
    line-height: 1.2;
    margin-top: 0.35vw;
    color: #000;
}

/* —— SEO copy (live productTxt_section shows full text; no moreless) —— */
.page-collection .rk-collection-seo.productTxt_section {
    background: #f7f7f7;
    padding: 2.865vw 0;
}

.page-collection .rk-collection-seo .techTitle {
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 1.042vw; /* f-s-20 */
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 1.042vw;
}

.page-collection .rk-collection-seo-body {
    font-family: var(--font-nav);
    font-size: 0.833vw; /* f-s-16 */
    line-height: 1.7;
    color: #000;
    max-height: none;
    overflow: visible;
}

.page-collection .rk-collection-seo-body p {
    margin: 0 0 1.563vw;
}

.page-collection .moreless-button-1 {
    display: none;
}

/* —— FAQ —— */
.page-collection .rk-collection-faqs.section_faq {
    padding: 5.208vw 0;
}

.page-collection .rk-collection-faqs .faqTitle {
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 1.25vw; /* f-s-24 */
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 0.5rem;
}

.page-collection .rk-collection-faqs .faqIntro,
.page-collection .rk-collection-faqs .faq_txt {
    font-family: var(--font-nav);
    font-size: 0.938vw;
    letter-spacing: 1.2px;
    text-align: center;
    max-width: 28rem;
    margin: 0 auto 3.125vw;
    opacity: 0.85;
}

.page-collection .rk-collection-faqs .rk-accordion-item {
    border: 1px solid #cecece;
    border-radius: 0;
    margin-bottom: 1.563vw; /* mrg-b-30 */
    background: #fff;
}

.page-collection .rk-collection-faqs .rk-accordion-trigger {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-family: var(--font-nav);
    font-weight: 700;
    font-size: 0.833vw;
    letter-spacing: 1.2px;
    color: #272525;
    padding: 1.042vw 1.25vw;
    cursor: pointer;
}

.page-collection .rk-collection-faqs .accordion-body {
    padding: 0 1.25vw 1.042vw;
    font-size: 0.938vw;
    line-height: 1.7;
    letter-spacing: 1.2px;
}

/* —— Hub /collections/ —— */
.page-collections .rk-collection-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.302vw;
}

.page-collections .rk-collection-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.page-collections .rk-collection-card-media {
    aspect-ratio: 425 / 526;
    overflow: hidden;
    border-radius: 0.521vw;
    background: #ddd;
}

.page-collections .rk-collection-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.page-collections .rk-collection-card:hover .rk-collection-card-media img {
    transform: scale(1.04);
}

.page-collections .rk-collection-card-title {
    margin-top: 0.65rem;
    text-align: center;
    font-family: var(--font-nav);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* —— Tablet md–lg: live keeps headertop + desktop-ish footer + 4-col grid ——
   Live @768 still shows .headertop (~28px). Do not hide it here.
   Live @max-width:991: .product_cat_slider { height: 80vh } (+ slick margin 30)
*/
@media (max-width: 991px) {
    .page-collection .section_proList_cat > .full-container.container-pd-vw {
        padding-left: 12px;
        padding-right: 12px;
    }

    .page-collection .section_product_cat.rk-collection-hero {
        height: calc(80vh + 30px);
        min-height: 0;
        aspect-ratio: unset;
        margin-bottom: 0;
    }

    .page-collection .rk-collection-hero-track {
        height: calc(100% - 30px);
        min-height: 0;
    }

    .page-collection .rk-collection-hero-caption {
        font-size: 24px;
    }

    .page-collection .product_catSlide_txt {
        bottom: 50px;
    }

    .page-collection .rk-hero-dots {
        bottom: 20px;
        gap: 10px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .page-collection .headertop,
    .page-collections .headertop {
        display: block !important;
        padding: 5px 0;
        min-height: 28px;
    }

    .page-collection .rk-header,
    .page-collections .rk-header {
        min-height: 61px;
    }

    .page-collection .section_proList_cat > .full-container.container-pd-vw {
        padding-left: 0.992vw;
        padding-right: 0.992vw;
    }

    .page-collection .rk-collection-layout {
        display: flex;
        margin-left: -0.992vw;
        margin-right: -0.992vw;
    }

    .page-collection .rk-collection-nav.catListing_filter {
        flex: 0 0 25%;
        width: 25%;
        max-width: 25%;
        padding: 14px 0.992vw;
    }

    .page-collection .rk-collection-products {
        flex: 0 0 75%;
        width: 75%;
        max-width: 75%;
        padding-left: 0.992vw;
        padding-right: 0.992vw;
    }

    .page-collection .section_proList_cat,
    .page-collections .section_proList_cat,
    .page-collection .rk-collection-faqs.section_faq {
        padding: 30px 0;
    }

    .page-collection .sec_bredcums,
    .page-collections .sec_bredcums {
        padding: 15px 0;
    }

    .page-collection .cst_breadcrumb .breadcrumb,
    .page-collections .cst_breadcrumb .breadcrumb {
        font-size: 12px;
        line-height: 18px;
    }

    .page-collection .rk-collection-title,
    .page-collection .proTitle {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .page-collection .rk-collection-desc,
    .page-collection .proTxt,
    .page-collection .rk-nav-tree .rk-nav-toggle,
    .page-collection .rk-nav-tree a {
        font-size: 14px;
    }

    .page-collection .rk-collection-nav-title,
    .page-collection .catList_title {
        font-size: 14px;
    }

    .page-collection .proBox_wrap.rk-product-tile {
        width: 25%;
        max-width: 25%;
        flex: 0 0 25%;
        margin-bottom: 33px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .page-collection .rk-product-grid {
        margin-left: -12px;
        margin-right: -12px;
    }

    .page-collection .rk-product-tile-media,
    .page-collection .proCategoery_img {
        border-radius: 6px;
        margin-bottom: 8px;
    }

    .page-collection .rk-product-tile-title,
    .page-collection .proCategoery_img_txt {
        font-size: 12px;
    }

    .page-collection .section_related.rk-collection-related {
        padding-bottom: 40px;
    }

    .page-collection .rk-collection-related .techTitle {
        font-size: 16px;
    }

    .page-collection .rk-collection-related .rk-related-card {
        flex: 0 0 28%;
        min-width: 28%;
        max-width: 28%;
        margin-right: 1.25rem;
    }

    .page-collection .rk-collection-related .product_like_img img {
        aspect-ratio: 180 / 288;
    }

    .page-collection .rk-collection-related .product_like_img_txt {
        font-size: 13px;
    }

    .page-collection .rk-collection-related .techTitle_sec {
        margin-bottom: 2rem;
    }

    .page-collection .rk-footer,
    .page-collections .rk-footer {
        padding: 39px 0 0;
    }

    .page-collection .rk-footer-grid,
    .page-collections .rk-footer-grid {
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 1rem;
    }

    .page-collection .footer-heading,
    .page-collections .footer-heading {
        font-size: 14px;
        color: #000;
        margin-bottom: 0.75rem;
        font-weight: 500;
    }

    .page-collection .fotr-item a,
    .page-collection .rk-footer-contact,
    .page-collection .rk-footer-bottom,
    .page-collections .fotr-item a,
    .page-collections .rk-footer-contact,
    .page-collections .rk-footer-bottom {
        font-size: 12px;
    }

    .page-collection .fotr-item a,
    .page-collection .rk-footer-contact li,
    .page-collections .fotr-item a,
    .page-collections .rk-footer-contact li {
        padding: 0.2rem 0;
        line-height: 1.4;
    }

    .page-collection .rk-footer-bottom,
    .page-collections .rk-footer-bottom {
        margin-top: 1rem;
        padding: 0.75rem 0;
    }

    .page-collection .rk-footer-social a,
    .page-collections .rk-footer-social a {
        width: 28px;
        height: 28px;
        min-width: 28px;
        min-height: 28px;
    }

    .page-collections .rk-collection-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* —— Mobile < md —— */
@media (max-width: 767px) {
    .page-collection .headertop,
    .page-collections .headertop {
        display: none !important;
    }

    .page-collection .rk-header,
    .page-collections .rk-header {
        min-height: 61px;
    }

    .page-collection .rk-brand,
    .page-collections .rk-brand {
        max-width: 160px;
        margin: 8px 0;
    }

    .page-collection .rk-collection-hero-caption {
        font-size: 24px;
        bottom: auto;
    }

    .page-collection .product_catSlide_txt {
        bottom: 50px;
    }

    .page-collection .sec_bredcums,
    .page-collections .sec_bredcums {
        padding: 15px 0;
    }

    .page-collection .cst_breadcrumb .breadcrumb,
    .page-collections .cst_breadcrumb .breadcrumb {
        font-size: 12px;
    }

    .page-collection .breadcrumb-item + .breadcrumb-item,
    .page-collections .breadcrumb-item + .breadcrumb-item {
        padding-left: 8px;
    }

    .page-collection .breadcrumb-item + .breadcrumb-item::before,
    .page-collections .breadcrumb-item + .breadcrumb-item::before {
        padding-right: 8px;
    }

    .page-collection .section_proList_cat,
    .page-collections .section_proList_cat,
    .page-collection .rk-collection-faqs.section_faq {
        padding: 30px 0;
    }

    .page-collection .rk-collection-head,
    .page-collections .rk-collection-head {
        max-width: 100%;
        margin-bottom: 2rem;
    }

    .page-collection .rk-collection-title,
    .page-collections .rk-collection-title,
    .page-collection .proTitle,
    .page-collections .proTitle {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .page-collection .rk-collection-desc,
    .page-collections .rk-collection-desc,
    .page-collection .proTxt,
    .page-collections .proTxt {
        font-size: 14px;
    }

    .page-collection .rk-collection-layout {
        display: flex;
        flex-direction: column;
        margin-left: -12px;
        margin-right: -12px;
        width: auto;
    }

    .page-collection .rk-collection-nav.catListing_filter {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .page-collection .rk-collection-products {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    .page-collection .mobCat_txt,
    .page-collection .rk-collection-mobile-filter {
        display: block;
    }

    .page-collection .rk-collection-mobile-filter {
        font-family: var(--font-nav);
        font-size: 18px;
        font-weight: 700;
        color: #e02529;
        text-transform: uppercase;
        border: 0;
        background: transparent;
        padding: 0 0 10px;
        border-bottom: 1px solid #e02529;
        cursor: pointer;
        width: auto;
        margin: 0 auto 1.25rem;
        text-align: center;
        display: block;
    }

    .page-collection .mobCat_txt {
        display: block;
        text-align: center;
        width: 100%;
    }

    .page-collection .rk-collection-nav.catListing_filter {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(280px, 86vw);
        max-width: 280px;
        z-index: 870;
        padding: 45px 15px;
        overflow: auto;
        transform: translateX(-105%);
        transition: transform 0.3s ease-in-out;
        height: 100%;
    }

    body.is-collection-nav-open .page-collection .rk-collection-nav.catListing_filter {
        transform: translateX(0);
    }

    .page-collection .rk-collection-nav-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
    }

    .page-collection .rk-collection-nav-title {
        font-size: 16px;
        margin: 0;
    }

    .page-collection .rk-collection-nav-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 35px;
        height: 35px;
        border: 0;
        background: #000;
        color: #fff;
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        position: absolute;
        right: 0;
        top: 0;
    }

    .page-collection .rk-nav-tree .rk-nav-toggle,
    .page-collection .rk-nav-tree a {
        font-size: 14px;
        padding: 6px 0;
    }

    .page-collection .rk-nav-l3 a {
        font-size: 12px;
    }

    .page-collection .headertop,
    .page-collections .headertop {
        display: none !important;
    }

    .page-collection .proBox_wrap.rk-product-tile {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
        margin-bottom: 33px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .page-collection .rk-product-grid {
        margin-left: -12px;
        margin-right: -12px;
    }

    .page-collection .rk-product-tile-media,
    .page-collection .proCategoery_img {
        border-radius: 6px;
        margin-bottom: 8px;
    }

    .page-collection .rk-product-tile-title,
    .page-collection .proCategoery_img_txt {
        font-size: 12px;
    }

    .page-collection .rk-collection-related .rk-related-card {
        flex: 0 0 126px;
        min-width: 126px;
        max-width: 126px;
        margin-right: 1rem;
    }

    .page-collection .rk-collection-related .product_like_img img {
        width: 126px;
        height: 202px;
        aspect-ratio: 126 / 202;
        object-fit: cover;
    }

    .page-collection .rk-collection-related .product_related_slider {
        padding-left: 25px;
    }

    .page-collection .section_related.rk-collection-related {
        padding-bottom: 20px;
    }

    .page-collection .rk-collection-related .techTitle_sec {
        margin-bottom: 28px;
        text-align: center;
    }

    .page-collection .rk-collection-seo.productTxt_section {
        padding: 50px 0;
    }

    .page-collection .rk-collection-seo .techTitle,
    .page-collection .moreless-button-1 {
        font-size: 16px;
    }

    .page-collection .rk-collection-seo-body {
        font-size: 14px;
    }

    .page-collection .rk-collection-faqs .faqTitle {
        font-size: 20px;
    }

    .page-collection .rk-collection-faqs .faqIntro {
        font-size: 14px;
    }

    .page-collection .rk-collection-faqs .rk-accordion-trigger {
        font-size: 14px;
        padding: 14px 16px;
    }

    .page-collection .rk-collection-faqs .accordion-body {
        font-size: 14px;
        padding: 0 16px 14px;
    }

    .page-collections .rk-collection-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    /* On collections mobile, live uses .btmSec; keep chat FAB fixed (not in-flow giant). */
    .page-collection .enquire-tab,
    .page-collections .enquire-tab,
    .page-collection .phone-fab,
    .page-collections .phone-fab {
        display: none;
    }

    .page-collection .floatingIcon_enquiry,
    .page-collections .floatingIcon_enquiry {
        display: none;
    }
}



/* === responsive.css === */
@media (max-width: 1199px) {
    .card-grid,
    .product-grid,
    .collection-grid,
    .event-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.15rem;
    }

    .category-grid {
        gap: 1.75rem 1.25rem;
    }
}

@media (max-width: 991px) {
    .header-left,
    .header-right {
        flex-basis: 140px;
    }

    .header-right {
        display: none;
    }

    .overlay-nav {
        flex-flow: column nowrap;
        align-items: stretch;
        gap: 0;
        width: 100%;
        max-width: none;
    }

    .overlay-nav > li {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .overlay-nav a {
        display: inline-flex;
        padding: 0.9rem 0;
        font-size: 1rem;
        min-height: 44px;
    }

    [data-submenu-toggle] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--color-white);
        min-width: 44px;
        min-height: 44px;
    }

    .nav-children {
        width: 100%;
        flex-basis: 100%;
    }

    .nav-overlay {
        align-items: flex-start;
        justify-content: flex-start;
        padding: calc(var(--header-height) + 8px) 24px 32px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .split,
    .split-reverse,
    .product-detail,
    .contact-layout,
    .footer-grid,
    .team-grid,
    .nine-t-grid,
    .process-gallery {
        grid-template-columns: 1fr;
    }

    .product-specs {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem 0.75rem;
    }

    .hero {
        min-height: 100vh;
        min-height: 100dvh;
    }

    .page-hero-cover {
        min-height: 42vh;
    }

    .catalog-hero {
        min-height: 100vh;
        min-height: 100dvh;
    }
}

@media (max-width: 767px) {
    :root {
        --header-height: 58px;
        --gutter: 1rem;
    }

    .overlay-bar {
        padding: 0 12px;
        padding-left: max(12px, env(safe-area-inset-left));
        padding-right: max(12px, env(safe-area-inset-right));
    }

    .header-left {
        flex: 0 0 auto;
        flex-basis: auto;
        position: relative;
        z-index: 2;
        gap: 0.45rem;
    }

    .brand-logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        flex: none;
        width: min(220px, calc(100vw - 118px));
        pointer-events: none;
    }

    .brand-logo img {
        pointer-events: auto;
        height: auto;
        max-height: 20px;
        max-width: 100%;
        margin-inline: auto;
    }

    .rk-header-mark {
        width: 18px;
        height: 18px;
    }

    .menu-btn {
        width: 44px;
        height: 44px;
    }

    .card-grid,
    .product-grid,
    .collection-grid,
    .event-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-md);
    }

    .category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1.15rem;
    }

    .category-grid > .catalog-tile,
    .category-grid > .catalog-tile:nth-child(4):nth-last-child(2),
    .category-grid > .catalog-tile:nth-child(5):last-child {
        grid-column: auto;
    }

    .category-grid > .catalog-tile:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        max-width: 22rem;
        justify-self: center;
        width: 100%;
    }

    .section {
        padding: var(--space-2xl) 0;
    }

    .footer-meta {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .hero-arrow {
        display: none;
    }

    .hero-caption {
        padding: calc(var(--header-height) + 0.75rem) 3.6rem 4.75rem 1rem;
    }

    .hero-caption-box,
    .hero-caption-box.is-intro {
        width: 100%;
        max-width: 22rem;
        height: auto;
        min-height: 0;
        padding: 0.85rem 1rem 1.1rem;
    }

    .hero-caption-inner {
        flex: 0 1 auto;
        justify-content: center;
        gap: 0.35rem;
    }

    .hero-caption-inner::before,
    .hero-caption-inner::after {
        height: 28px;
        flex-basis: 28px;
        flex: 0 0 28px;
    }

    .hero-caption-title {
        font-size: 22px;
        line-height: 1.15;
    }

    .hero-caption-box.is-intro .hero-caption-title {
        font-size: 18px;
        letter-spacing: 0.06em;
        line-height: 1.25;
    }

    .hero-kicker {
        margin: 0.45rem 0 0.15rem;
        font-size: 11px;
    }

    .hero-caption-lead {
        margin: 0.65rem 0 0;
        font-size: 9px;
        max-width: 18rem;
        line-height: 1.55;
    }

    .hero-caption-cta {
        margin: 0.85rem 0 0;
    }

    .hero-caption-cta .btn {
        padding: 8px 20px;
        min-height: 36px;
        font-size: 11px;
    }

    .hero-dots {
        bottom: max(18px, env(safe-area-inset-bottom));
    }

    .enquire-tab {
        top: auto;
        bottom: 32%;
        right: 0;
    }

    .enquire-tab img {
        width: 42px;
    }

    .phone-fab {
        left: max(10px, env(safe-area-inset-left));
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px));
    }

    .phone-fab img {
        width: 48px;
    }

    .back-to-top {
        right: max(10px, env(safe-area-inset-right));
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px));
        width: 36px;
        height: 36px;
    }

    .enquire-dialog {
        padding: 0;
        align-items: stretch;
        justify-content: flex-end;
    }

    .enquire-panel {
        width: 100%;
        max-height: min(92dvh, calc(100dvh - env(safe-area-inset-top, 0px)));
        padding: 1.5rem 1.15rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
    }

    .form input,
    .form textarea,
    .form select,
    .search-form input[type="search"] {
        font-size: 16px;
    }

    .catalog-tile .tile-media,
    .catalog-tile .card-media {
        width: 100%;
        height: auto;
    }

    .catalog-tile-title {
        font-size: 0.88rem;
        letter-spacing: 0.14em;
        transform: none;
    }

    .product-tile .card-title {
        font-size: 12px;
        letter-spacing: 0.08em;
        transform: none;
        bottom: 10%;
    }

    .product-portrait-media {
        width: min(420px, 88vw);
    }

    .product-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .product-actions .btn {
        width: 100%;
    }

    .page-hero h1,
    .catalog-hero h1 {
        font-size: 1.65rem;
        word-break: break-word;
    }

    .page-hero-cover {
        min-height: 34vh;
        padding-bottom: var(--space-xl);
    }

    .catalog-hero {
        padding: calc(var(--header-height) + 1rem) 1rem 3.5rem;
    }

    .category-copy {
        padding-inline: 0.5rem;
        margin-top: 3.25rem;
        padding-top: 2.25rem;
    }

    .nine-t-grid,
    .process-gallery {
        grid-template-columns: 1fr;
    }

    .team-grid {
        grid-template-columns: minmax(0, 22rem);
        justify-content: center;
        gap: 2.5rem;
    }

    .team-lead {
        margin-bottom: 2rem;
        padding-inline: 0.5rem;
        font-size: 1.02rem;
    }

    .process-steps li {
        grid-template-columns: 2.25rem 1fr;
    }

    .static-lead {
        margin-bottom: 1.75rem;
        padding-inline: 0.25rem;
    }

    .lazy-footer {
        padding-bottom: 1rem;
    }
}

@media (max-width: 479px) {
    .card-grid,
    .product-grid,
    .collection-grid,
    .category-grid,
    .event-grid {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .product-grid,
    .category-grid,
    .collection-grid {
        gap: 1.75rem;
        justify-items: stretch;
        width: 100%;
    }

    .category-grid > .catalog-tile:last-child:nth-child(odd) {
        grid-column: auto;
        max-width: none;
    }

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

    .hero {
        min-height: 100vh;
        min-height: 100dvh;
    }

    .hero-caption-box.is-intro .hero-caption-title {
        font-size: 16px;
    }

    .product-specs {
        grid-template-columns: 1fr 1fr;
        gap: 1.1rem 0.5rem;
    }

    .product-spec-icon {
        width: 22px;
        height: 22px;
    }
}

@media (min-width: 1400px) {
    .hero-copy {
        padding-left: 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-caption-box,
    .hero-caption-title,
    .hero-caption-lead,
    .hero-caption-cta,
    .catalog-tile img,
    .product-tile img {
        transition: none;
    }
}

