/* assets/css/style.css */

:root {
    --primary-color: #3b2818;
    /* Deep Vintage Brown */
    --secondary-color: #d4af37;
    /* Gold */
    --bg-light: #fdfbf7;
    --text-dark: #333333;
    --text-muted: #6c757d;
    --footer-bg: #111111;
    --footer-soft: rgba(255, 255, 255, 0.75);
    --footer-border: rgba(255, 255, 255, 0.2);
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--bg-light);
    color: var(--text-dark);
    overflow-x: hidden;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: translateY(0);
    opacity: 1;
}

.site-header.is-hidden {
    transform: translateY(-120%);
    opacity: 0;
}

.navbar {
    background: rgba(22, 16, 12, 0.92);
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
    min-height: 72px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.22);
}

.navbar-brand {
    color: #f8d77a !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 1.5rem;
}

.navbar-brand:hover {
    color: #f4d27d !important;
}

.navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.84) !important;
    font-weight: 600;
    padding: 0.7rem 1rem !important;
    transition: color 0.25s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #f8d77a !important;
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.4);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 215, 122, 0.25);
}

/* Hero Section */
.hero-section {
    position: relative;
    background-size: cover;
    background-position: center;
    color: #ffffff;
    padding: 120px 0;
    text-align: center;
}

.hero-section h1 {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.btn-gold {
    background-color: var(--secondary-color);
    color: #fff;
    font-weight: 600;
    border: none;
    transition: all 0.3s ease;
}

.btn-gold:hover {
    background-color: #b5952f;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

/* Standard Section Padding */
.section-padding {
    padding: 80px 0;
}

/* Feature Cards (Why Choose Us) */
.feature-card {
    background: #ffffff;
    padding: 40px 20px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.feature-icon-wrapper {
    width: 80px;
    height: 80px;
    background-color: rgba(212, 175, 55, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
}

/* Product Cards */
.product-card {
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1) !important;
}

.product-card .card-img-top {
    transition: transform 0.5s ease;
}

.product-card:hover .card-img-top {
    transform: scale(1.05);
}

.img-overflow-hidden {
    overflow: hidden;
}

/* About Section */
.about-image {
    border-radius: 15px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Testimonials */
.testimonial-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    position: relative;
    height: 100%;
}

.quote-icon {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 3rem;
    color: rgba(212, 175, 55, 0.2);
}

.user-rating {
    color: var(--secondary-color);
    margin-bottom: 15px;
}

/* Footer */
.site-footer {
    background: linear-gradient(180deg, rgba(14, 14, 14, 0.96) 0%, rgba(17, 17, 17, 1) 100%);
    color: #ffffff;
    padding-top: 40px;
    border-top: 1px solid var(--footer-border);
}

.footer-inner {
    display: grid;
    grid-template-columns: 1.5fr 0.9fr 1fr 1fr 1.2fr;
    gap: 30px;
    align-items: start;
    padding-bottom: 28px;
}

.footer-brand-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
}

.brand-mark-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 240px;
}

.brand-mark {
    font-size: 12rem;
    font-weight: 800;
    line-height: 1;
    color: #d4af37;
    text-shadow: 0 0 18px rgba(212, 175, 55, 0.18);
    transform: scaleY(1.2);
    letter-spacing: -0.12em;
    opacity: 0.95;
}

.footer-social-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding-top: 22px;
}

.social-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 1.15rem;
    text-decoration: none;
    transition: transform 0.25s ease;
}

.social-icon:hover {
    transform: translateY(-2px);
    color: #fff;
}

.social-phone { background: #2e7ae2; }
.social-whatsapp { background: #22c55e; }
.social-mail { background: #8b5cf6; }

.footer-links-group,
.footer-contact-group {
    padding-top: 14px;
}

.footer-links-group h4,
.footer-contact-group h4 {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 22px;
    text-align: left;
}

.footer-links-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-group li {
    margin-bottom: 18px;
}

.footer-links-group a,
.footer-contact-group a {
    color: var(--footer-soft);
    text-decoration: none;
    font-size: 1.05rem;
    transition: color 0.2s ease;
}

.footer-links-group a:hover,
.footer-contact-group a:hover {
    color: #ffffff;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--footer-soft);
}

.contact-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.95rem;
}

.footer-bottom {
    border-top: 1px solid var(--footer-border);
    padding: 18px 0;
    background: rgba(0, 0, 0, 0.15);
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 0.96rem;
    color: rgba(255, 255, 255, 0.8);
}

.footer-copy,
.footer-credit {
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .footer-inner {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand-panel {
        grid-column: 1 / -1;
        min-height: 180px;
    }
}

@media (max-width: 575.98px) {
    .footer-inner {
        grid-template-columns: 1fr;
    }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }

    .footer-copy,
    .footer-credit {
        white-space: normal;
    }
}

.has{
    text-align: left;
}
/* Premium catalog refresh */
:root {
    --ink: #1d1713;
    --copper: #b66a3c;
    --teal: #126b68;
    --ivory: #fffaf0;
    --surface: rgba(255, 255, 255, 0.86);
    --line-soft: rgba(29, 23, 19, 0.12);
    --shadow-soft: 0 22px 60px rgba(42, 31, 21, 0.13);
    --shadow-lift: 0 28px 80px rgba(35, 24, 15, 0.2);
}

body {
    background:
        radial-gradient(circle at 10% 10%, rgba(18, 107, 104, 0.12), transparent 30%),
        linear-gradient(135deg, #fffaf0 0%, #f4efe6 48%, #ffffff 100%);
}

.site-header {
    padding: 14px 0 0;
}

.navbar {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    min-height: 68px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(22, 17, 14, 0.82);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffe2a3 !important;
    font-size: 1.15rem;
    letter-spacing: 0;
}

.navbar-nav .nav-link {
    position: relative;
    border-radius: 999px;
    padding: 0.55rem 0.95rem !important;
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 8px;
    height: 2px;
    background: linear-gradient(90deg, var(--secondary-color), var(--copper));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
}

.btn-gold {
    background: linear-gradient(135deg, #d4af37 0%, #b66a3c 100%);
    border: 0;
    box-shadow: 0 14px 30px rgba(182, 106, 60, 0.25);
}

.btn-gold:hover,
.btn-gold:focus {
    background: linear-gradient(135deg, #e2bd48 0%, #c87746 100%);
    box-shadow: 0 18px 42px rgba(182, 106, 60, 0.32);
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #f6d26c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.section-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
}

.catalog-page {
    position: relative;
    overflow: hidden;
}

.catalog-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(29, 23, 19, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(29, 23, 19, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, #000 0%, transparent 70%);
}

.catalog-hero {
    position: relative;
    padding: 150px 0 74px;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(20, 14, 10, 0.94) 0%, rgba(20, 14, 10, 0.78) 45%, rgba(18, 107, 104, 0.64) 100%),
        url('../img/home/hero-collection-v2.webp') center right / cover no-repeat;
}

.catalog-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    background: linear-gradient(to bottom, transparent, #fffaf0);
}

.catalog-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: end;
}

.catalog-hero h1 {
    max-width: 760px;
    margin: 18px 0 18px;
    font-size: clamp(2.4rem, 6vw, 5.8rem);
    line-height: 0.95;
    font-weight: 900;
    letter-spacing: 0;
}

.catalog-hero p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.catalog-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 14px;
}

.catalog-hero-stats div {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(14px);
}

.catalog-hero-stats strong,
.catalog-hero-stats span {
    display: block;
}

.catalog-hero-stats strong {
    font-size: 2rem;
    line-height: 1;
    color: #ffe2a3;
}

.catalog-hero-stats span {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.catalog-shell {
    position: relative;
    padding: 0 0 88px;
}

.catalog-filter-panel {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(260px, 1.3fr) minmax(170px, 0.7fr) minmax(180px, 0.7fr) auto;
    gap: 16px;
    align-items: end;
    margin: -34px 0 38px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(18px);
    box-shadow: var(--shadow-soft);
}

.filter-field label {
    display: block;
    margin-bottom: 8px;
    color: rgba(29, 23, 19, 0.64);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.filter-control {
    position: relative;
}

.filter-control i {
    position: absolute;
    top: 50%;
    left: 14px;
    z-index: 1;
    color: var(--teal);
    transform: translateY(-50%);
}

.filter-control .form-control {
    padding-left: 42px;
}

.catalog-filter-panel .form-control,
.catalog-filter-panel .form-select,
.modal .form-control {
    min-height: 48px;
    border: 1px solid var(--line-soft);
    border-radius: 8px;
    color: var(--ink);
    background-color: rgba(255, 255, 255, 0.92);
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.catalog-filter-panel .form-control:focus,
.catalog-filter-panel .form-select:focus,
.modal .form-control:focus {
    border-color: rgba(18, 107, 104, 0.55);
    box-shadow: 0 0 0 0.22rem rgba(18, 107, 104, 0.12);
}

.filter-submit {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 22px;
    border-radius: 8px;
}

.product-grid {
    align-items: stretch;
}

.catalog-card {
    position: relative;
    height: 100%;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(29, 23, 19, 0.08) !important;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 45px rgba(29, 23, 19, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.catalog-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35), transparent 38%);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.catalog-card:hover {
    transform: translateY(-10px);
    border-color: rgba(182, 106, 60, 0.35) !important;
    box-shadow: var(--shadow-lift);
}

.catalog-card:hover::after {
    opacity: 1;
}

.product-media {
    position: relative;
    aspect-ratio: 1 / 0.82;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(18, 107, 104, 0.08), rgba(212, 175, 55, 0.12));
}

.product-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.35s ease;
}

.catalog-card:hover .product-media img {
    transform: scale(1.08) rotate(0.8deg);
    filter: saturate(1.08) contrast(1.04);
}

.product-badge,
.stock-ribbon {
    position: absolute;
    z-index: 1;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.product-badge {
    left: 14px;
    top: 14px;
    max-width: calc(100% - 28px);
    padding: 8px 12px;
    color: #fff;
    background: rgba(29, 23, 19, 0.76);
    backdrop-filter: blur(12px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-ribbon {
    right: 14px;
    bottom: 14px;
    padding: 8px 12px;
    color: #fff;
    background: #9f3e34;
}

.product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
    padding: 20px;
}

.product-info h2 {
    display: -webkit-box;
    min-height: 2.65em;
    margin: 0 0 8px;
    overflow: hidden;
    color: var(--ink);
    font-size: 1.08rem;
    font-weight: 850;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-era {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: rgba(29, 23, 19, 0.58);
    font-size: 0.86rem;
}

.product-era i {
    color: var(--teal);
}

.product-bottom {
    display: grid;
    gap: 14px;
}

.product-price span,
.product-price strong {
    display: block;
}

.product-price span {
    color: rgba(29, 23, 19, 0.5);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.product-price strong {
    color: var(--teal);
    font-size: 1.35rem;
    line-height: 1.2;
}

.product-cta {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    border: 1px solid rgba(29, 23, 19, 0.12);
    border-radius: 8px;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(135deg, var(--ink), #3f2b1f);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.product-cta i {
    color: #f6d26c;
}

.product-cta:hover,
.product-cta:focus {
    color: #fff;
    transform: translateY(-2px);
    background: linear-gradient(135deg, var(--teal), #0d4c49);
    box-shadow: 0 12px 28px rgba(18, 107, 104, 0.28);
}

.product-cta.is-disabled {
    color: rgba(255, 255, 255, 0.78);
    background: #79716b;
    box-shadow: none;
}

.empty-state {
    max-width: 560px;
    margin: 0 auto;
    padding: 54px 26px;
    border: 1px solid var(--line-soft);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--shadow-soft);
}

.empty-state > i {
    color: var(--copper);
    font-size: 3rem;
    margin-bottom: 16px;
}

.empty-state h4 {
    color: var(--ink);
    font-weight: 850;
}

.empty-state p {
    color: rgba(29, 23, 19, 0.62);
}

.catalog-pagination .page-link {
    min-width: 42px;
    margin: 0 4px;
    border: 1px solid rgba(29, 23, 19, 0.1);
    border-radius: 8px;
    color: var(--ink);
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(29, 23, 19, 0.06);
}

.catalog-pagination .active .page-link {
    border-color: var(--teal);
    background: var(--teal);
}

.modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    background: #fffaf0;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
}

.modal-header {
    border: 0;
    background: linear-gradient(135deg, #1d1713, #126b68) !important;
}

#modalProductDetails {
    padding: 14px;
    border: 1px solid rgba(29, 23, 19, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.7);
}

#modalProductImage {
    width: 88px !important;
    height: 88px !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 24px rgba(29, 23, 19, 0.16);
}

#modalProductPrice {
    color: var(--teal) !important;
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal-on-scroll.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .navbar {
        border-radius: 18px;
    }

    .catalog-hero-inner,
    .catalog-filter-panel {
        grid-template-columns: 1fr;
    }

    .catalog-hero-stats {
        max-width: 420px;
    }

    .catalog-hero {
        padding-top: 132px;
    }
}

@media (max-width: 575.98px) {
    .site-header {
        padding-top: 8px;
    }

    .navbar {
        width: min(100% - 18px, 1120px);
    }

    .catalog-hero {
        padding: 118px 0 58px;
    }

    .catalog-hero h1 {
        font-size: clamp(2.25rem, 14vw, 4rem);
    }

    .catalog-hero-stats {
        grid-template-columns: 1fr;
    }

    .catalog-filter-panel {
        margin-top: -24px;
        padding: 14px;
    }

    .catalog-card {
        min-height: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .reveal-on-scroll {
        opacity: 1;
        transform: none;
    }
}

/* ========================================================================== 
   Home page editorial redesign
   ========================================================================== */
.home-page {
    --home-ink: #111719;
    --home-paper: #f4f1ea;
    --home-white: #fffdf8;
    --home-mint: #70c8bf;
    --home-coral: #e86d4d;
    --home-line: rgba(17, 23, 25, 0.14);
    color: var(--home-ink);
    background: var(--home-paper);
}

.home-page .container {
    width: min(100% - 48px, 1240px);
    max-width: 1240px;
}

.home-main {
    overflow: hidden;
}

.home-main h1,
.home-main h2,
.home-main h3,
.home-main p {
    margin-top: 0;
}

.home-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--home-coral);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    flex: 0 0 34px;
    background: currentColor;
}

.home-btn {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.home-btn i,
.home-arrow-link i,
.home-text-link i {
    transition: transform 0.3s ease;
}

.home-btn:hover i,
.home-arrow-link:hover i {
    transform: translateX(5px);
}

.home-btn-primary {
    color: #101719;
    background: var(--home-mint);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.home-btn-primary:hover {
    color: #101719;
    background: #91ded6;
    transform: translateY(-3px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
}

.home-btn-light {
    color: var(--home-ink);
    background: var(--home-white);
}

.home-btn-light:hover {
    color: var(--home-white);
    border-color: var(--home-white);
    background: transparent;
    transform: translateY(-3px);
}

.home-arrow-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 7px;
    border-bottom: 1px solid currentColor;
    color: var(--home-ink);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.25s ease;
}

.home-arrow-link:hover {
    color: var(--home-coral);
}

/* Hero */
.home-hero {
    position: relative;
    min-height: min(900px, 100vh);
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: #101719 url('../img/home/hero-collection-v2.webp') center right / cover no-repeat;
}

.home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: inherit;
    animation: homeHeroZoom 16s ease-out both;
}

.home-hero::after {
    content: "";
    position: absolute;
    right: 7%;
    bottom: 0;
    z-index: -1;
    width: 34%;
    height: 2px;
    background: linear-gradient(90deg, var(--home-mint), transparent);
    opacity: 0.65;
}

.home-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(8, 13, 15, 0.96) 0%, rgba(8, 13, 15, 0.84) 34%, rgba(8, 13, 15, 0.25) 67%, rgba(8, 13, 15, 0.08) 100%),
        linear-gradient(0deg, rgba(8, 13, 15, 0.52), transparent 45%);
}

.home-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.45fr);
    align-items: end;
    gap: 80px;
    padding-top: 150px;
    padding-bottom: 110px;
}

.home-hero-copy {
    max-width: 820px;
    animation: homeRise 0.9s 0.1s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}

.home-hero-kicker {
    color: var(--home-mint);
}

.home-hero h1 {
    max-width: 900px;
    margin-bottom: 30px;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(4rem, 7.2vw, 7.7rem);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: 0;
}

.home-hero h1 em {
    color: #d9d7cf;
    font-weight: 400;
}

.home-hero-lead {
    max-width: 610px;
    margin-bottom: 38px;
    color: rgba(255, 255, 255, 0.68);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.75;
}

.home-hero-actions {
    display: flex;
    align-items: center;
    gap: 34px;
    flex-wrap: wrap;
}

.home-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.home-text-link:hover {
    color: var(--home-mint);
}

.home-text-link:hover i {
    transform: translateY(4px);
}

.home-hero-note {
    align-self: center;
    justify-self: end;
    display: grid;
    width: 220px;
    padding: 25px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    animation: homeRise 0.9s 0.35s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}

.home-hero-note span,
.home-hero-note small {
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-hero-note strong {
    margin: 8px 0;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.75rem;
    font-weight: 400;
}

.home-scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.home-scroll-cue span {
    position: relative;
    width: 1px;
    height: 38px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.25);
}

.home-scroll-cue span::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    animation: homeScrollLine 2s ease-in-out infinite;
}

/* Confidence strip */
.home-trust-bar {
    position: relative;
    z-index: 2;
    color: #fff;
    background: var(--home-ink);
}

.home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.home-trust-grid > div {
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 24px 30px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.home-trust-grid > div:first-child {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.home-trust-grid i {
    color: var(--home-mint);
    font-size: 1.15rem;
}

.home-trust-grid span,
.home-trust-grid strong {
    display: block;
}

.home-trust-grid strong {
    margin-bottom: 3px;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.home-trust-grid span {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.7rem;
}

/* Story */
.home-story {
    padding: 140px 0 150px;
    background: var(--home-paper);
}

.home-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    align-items: center;
    gap: clamp(70px, 10vw, 150px);
}

.home-story-visual {
    position: relative;
    padding: 0 50px 45px 0;
}

.home-story-image-wrap {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #d8d6d0;
}

.home-story-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 66%, rgba(10, 15, 16, 0.32));
}

.home-story-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.8) contrast(1.04);
    transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.6s ease;
}

.home-story-visual:hover img {
    transform: scale(1.035);
    filter: saturate(1) contrast(1.02);
}

.home-story-caption {
    position: absolute;
    left: 22px;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    color: rgba(17, 23, 25, 0.58);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-story-caption span {
    color: var(--home-coral);
    font-family: Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0;
}

.home-story-year {
    position: absolute;
    right: 0;
    bottom: 78px;
    min-width: 132px;
    padding: 22px;
    color: #fff;
    background: var(--home-coral);
    box-shadow: 0 18px 44px rgba(93, 40, 28, 0.24);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.55;
    text-transform: uppercase;
}

.home-story-year strong {
    display: block;
    font-family: Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0;
}

.home-story-copy h2,
.home-section-heading h2,
.home-process-heading h2,
.home-closing h2 {
    color: var(--home-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.65rem, 4.5vw, 4.8rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: 0;
}

.home-story-copy h2 {
    max-width: 650px;
    margin-bottom: 28px;
}

.home-story-copy > p:not(.home-eyebrow) {
    max-width: 600px;
    color: rgba(17, 23, 25, 0.6);
    font-size: 0.96rem;
    line-height: 1.85;
}

.home-story-copy .home-story-intro {
    color: rgba(17, 23, 25, 0.83) !important;
    font-size: 1.08rem !important;
}

.home-story-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 42px 0;
    border-top: 1px solid var(--home-line);
    border-bottom: 1px solid var(--home-line);
}

.home-story-stats div {
    padding: 25px 18px 25px 0;
    border-right: 1px solid var(--home-line);
}

.home-story-stats div:not(:first-child) {
    padding-left: 18px;
}

.home-story-stats div:last-child {
    border-right: 0;
}

.home-story-stats strong,
.home-story-stats span {
    display: block;
}

.home-story-stats strong {
    margin-bottom: 7px;
    color: var(--home-ink);
    font-family: Georgia, serif;
    font-size: 1.75rem;
    font-weight: 400;
}

.home-story-stats span {
    color: rgba(17, 23, 25, 0.48);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Collection */
.home-collection {
    padding: 130px 0 145px;
    background: var(--home-white);
}

.home-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 60px;
}

.home-section-heading h2 {
    margin: 0;
}

.home-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.home-product-card {
    min-width: 0;
}

.home-product-image {
    position: relative;
    aspect-ratio: 0.82 / 1;
    overflow: hidden;
    background: #eceae4;
}

.home-product-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(17, 23, 25, 0.04), transparent 55%, rgba(17, 23, 25, 0.25));
    opacity: 0.65;
    transition: opacity 0.35s ease;
}

.home-product-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.18, 0.8, 0.22, 1), filter 0.45s ease;
}

.home-product-card:hover .home-product-image img {
    transform: scale(1.065);
    filter: saturate(1.08);
}

.home-product-card:hover .home-product-image::after {
    opacity: 1;
}

.home-product-number,
.home-product-status {
    position: absolute;
    z-index: 2;
    top: 16px;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-product-number {
    left: 17px;
}

.home-product-status {
    right: 16px;
    padding: 7px 9px;
    background: rgba(17, 23, 25, 0.76);
    backdrop-filter: blur(8px);
}

.home-product-status::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--home-mint);
    box-shadow: 0 0 0 4px rgba(112, 200, 191, 0.15);
}

.home-product-status.is-sold::before {
    background: #c3c3c3;
    box-shadow: none;
}

.home-product-view {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--home-ink);
    background: rgba(255, 253, 248, 0.92);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.home-product-view:hover {
    color: var(--home-ink);
    background: var(--home-mint);
}

.home-product-card:hover .home-product-view {
    opacity: 1;
    transform: translateY(0);
}

.home-product-details {
    min-height: 125px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 18px;
    padding: 22px 0 0;
    border-top: 2px solid var(--home-ink);
}

.home-product-details p {
    margin-bottom: 7px;
    color: rgba(17, 23, 25, 0.42);
    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.home-product-details h3 {
    display: -webkit-box;
    overflow: hidden;
    color: var(--home-ink);
    font-family: Georgia, serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-product-purchase {
    display: grid;
    justify-items: end;
    gap: 14px;
}

.home-product-purchase strong {
    white-space: nowrap;
    color: var(--home-ink);
    font-size: 0.9rem;
}

.home-product-purchase button {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    color: var(--home-ink);
    background: transparent;
    transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.home-product-purchase button:hover:not(:disabled) {
    border-color: var(--home-ink);
    color: #fff;
    background: var(--home-ink);
    transform: rotate(90deg);
}

.home-product-purchase button:disabled {
    opacity: 0.35;
}

.home-empty {
    padding: 80px 24px;
    border-top: 1px solid var(--home-line);
    border-bottom: 1px solid var(--home-line);
    text-align: center;
}

.home-empty span {
    color: var(--home-coral);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-empty h3 {
    margin: 14px 0 10px;
    font-family: Georgia, serif;
    font-size: 2.4rem;
    font-weight: 400;
}

/* Process */
.home-process {
    position: relative;
    padding: 140px 0;
    color: #fff;
    background: #163e40;
}

.home-process::before {
    content: "AUTHENTIC";
    position: absolute;
    left: -12px;
    bottom: -34px;
    color: rgba(255, 255, 255, 0.035);
    font-family: Georgia, serif;
    font-size: clamp(7rem, 17vw, 15rem);
    line-height: 1;
    pointer-events: none;
}

.home-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
    gap: clamp(60px, 10vw, 150px);
}

.home-process .home-eyebrow {
    color: var(--home-mint);
}

.home-process-heading h2 {
    margin-bottom: 27px;
    color: #fff;
}

.home-process-heading > p:not(.home-eyebrow) {
    max-width: 510px;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.8;
}

.home-process-list {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.home-process-item {
    display: grid;
    grid-template-columns: 40px 54px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    padding: 32px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.home-process-item > span {
    color: rgba(255, 255, 255, 0.38);
    font-family: Georgia, serif;
    font-size: 0.9rem;
}

.home-process-item > i {
    color: var(--home-mint);
    font-size: 1.25rem;
}

.home-process-item h3 {
    margin-bottom: 9px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 1.55rem;
    font-weight: 400;
}

.home-process-item p {
    max-width: 580px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.88rem;
    line-height: 1.75;
}

/* Quote */
.home-quote {
    padding: 135px 0;
    background: var(--home-paper);
}

.home-quote .container {
    max-width: 940px;
    text-align: center;
}

.home-quote-mark {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: 0 auto 30px;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    color: var(--home-coral);
    font-family: Georgia, serif;
    font-size: 3.1rem;
    line-height: 1;
}

.home-quote blockquote {
    margin: 0 auto 38px;
    color: var(--home-ink);
    font-family: Georgia, serif;
    font-size: clamp(2rem, 3.7vw, 3.7rem);
    font-weight: 400;
    line-height: 1.22;
}

.home-quote-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.home-quote-author > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--home-ink);
    font-size: 0.68rem;
    font-weight: 800;
}

.home-quote-author > div:nth-child(2) {
    padding-right: 20px;
    border-right: 1px solid var(--home-line);
    text-align: left;
}

.home-quote-author strong,
.home-quote-author small {
    display: block;
}

.home-quote-author strong {
    font-size: 0.82rem;
}

.home-quote-author small {
    color: rgba(17, 23, 25, 0.5);
    font-size: 0.68rem;
}

.home-stars {
    display: flex;
    gap: 3px;
    color: var(--home-coral);
    font-size: 0.68rem;
}

/* Closing image statement */
.home-closing {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
}

.home-closing-image,
.home-closing-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.home-closing-image {
    background: #111719 url('../img/home/archive-inspection-v2.webp') center 46% / cover no-repeat;
    transition: transform 1.4s ease;
}

.home-closing:hover .home-closing-image {
    transform: scale(1.025);
}

.home-closing-overlay {
    z-index: -1;
    background: linear-gradient(90deg, rgba(10, 15, 16, 0.92), rgba(10, 15, 16, 0.55) 50%, rgba(10, 15, 16, 0.12));
}

.home-closing-content {
    padding-top: 100px;
    padding-bottom: 100px;
}

.home-closing-content .home-eyebrow {
    color: var(--home-mint);
}

.home-closing h2 {
    max-width: 800px;
    margin-bottom: 24px;
    color: #fff;
}

.home-closing-content > p:not(.home-eyebrow) {
    max-width: 540px;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 1rem;
}

/* Home-only motion */
@keyframes homeHeroZoom {
    from { transform: scale(1.06); }
    to { transform: scale(1); }
}

@keyframes homeRise {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes homeScrollLine {
    0% { transform: translateY(-100%); }
    55%, 100% { transform: translateY(100%); }
}

@media (max-width: 1100px) {
    .home-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 52px;
    }

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

    .home-trust-grid > div:nth-child(3) {
        border-left: 1px solid rgba(255, 255, 255, 0.1);
    }

    .home-story-grid,
    .home-process-grid {
        gap: 65px;
    }
}

@media (max-width: 850px) {
    .home-page .container {
        width: min(100% - 34px, 1240px);
    }

    .home-hero {
        min-height: 760px;
        background-position: 62% center;
    }

    .home-hero-shade {
        background: linear-gradient(90deg, rgba(8, 13, 15, 0.95), rgba(8, 13, 15, 0.72) 60%, rgba(8, 13, 15, 0.3));
    }

    .home-hero-inner {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-top: 150px;
        padding-bottom: 105px;
    }

    .home-hero h1 {
        font-size: clamp(3.6rem, 11vw, 6rem);
    }

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

    .home-story,
    .home-collection,
    .home-process,
    .home-quote {
        padding-top: 100px;
        padding-bottom: 105px;
    }

    .home-story-grid,
    .home-process-grid {
        grid-template-columns: 1fr;
    }

    .home-story-visual {
        max-width: 650px;
    }

    .home-story-copy {
        max-width: 720px;
    }

    .home-process-heading {
        max-width: 650px;
    }
}

@media (max-width: 620px) {
    .home-page .container {
        width: min(100% - 28px, 1240px);
    }

    .home-hero {
        min-height: 720px;
        background-position: 66% center;
    }

    .home-hero-shade {
        background: linear-gradient(90deg, rgba(8, 13, 15, 0.96), rgba(8, 13, 15, 0.75) 80%, rgba(8, 13, 15, 0.55));
    }

    .home-hero-inner {
        padding-top: 132px;
        padding-bottom: 90px;
    }

    .home-hero h1 {
        margin-bottom: 24px;
        font-size: clamp(3rem, 15vw, 4.4rem);
        line-height: 0.96;
    }

    .home-hero-lead {
        font-size: 0.96rem;
        line-height: 1.65;
    }

    .home-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .home-btn {
        width: 100%;
    }

    .home-scroll-cue {
        display: none;
    }

    .home-trust-grid {
        grid-template-columns: 1fr;
    }

    .home-trust-grid > div,
    .home-trust-grid > div:first-child,
    .home-trust-grid > div:nth-child(3) {
        min-height: 88px;
        padding: 18px 8px;
        border-left: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .home-story,
    .home-collection,
    .home-process,
    .home-quote {
        padding-top: 78px;
        padding-bottom: 82px;
    }

    .home-story-visual {
        padding: 0 26px 38px 0;
    }

    .home-story-year {
        right: 0;
        bottom: 70px;
        min-width: 108px;
        padding: 17px;
    }

    .home-story-copy h2,
    .home-section-heading h2,
    .home-process-heading h2,
    .home-closing h2 {
        font-size: clamp(2.35rem, 12vw, 3.5rem);
    }

    .home-story-stats {
        grid-template-columns: 1fr;
    }

    .home-story-stats div,
    .home-story-stats div:not(:first-child) {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid var(--home-line);
    }

    .home-story-stats div:last-child {
        border-bottom: 0;
    }

    .home-story-stats strong {
        margin-bottom: 0;
    }

    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 40px;
    }

    .home-product-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .home-product-image {
        aspect-ratio: 1 / 1.03;
    }

    .home-product-view {
        opacity: 1;
        transform: none;
    }

    .home-process-grid {
        gap: 55px;
    }

    .home-process-item {
        grid-template-columns: 30px 34px minmax(0, 1fr);
        gap: 12px;
    }

    .home-quote blockquote {
        font-size: 2rem;
    }

    .home-quote-author {
        flex-wrap: wrap;
    }

    .home-quote-author > div:nth-child(2) {
        padding-right: 0;
        border-right: 0;
    }

    .home-stars {
        width: 100%;
        justify-content: center;
    }

    .home-closing {
        min-height: 590px;
    }

    .home-closing-overlay {
        background: rgba(10, 15, 16, 0.76);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero::before,
    .home-hero-copy,
    .home-hero-note,
    .home-scroll-cue span::after {
        animation: none !important;
    }
}


/* Home page final art direction */
.home-page .site-header {
    padding: 0;
}

.home-page .navbar {
    width: 100%;
    min-height: 86px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 0;
    background: rgba(8, 14, 16, 0.7);
    box-shadow: none;
    backdrop-filter: blur(18px) saturate(1.15);
}

.home-page .navbar > .container {
    width: min(100% - 48px, 1240px);
    max-width: 1240px;
}

.home-page .navbar-brand {
    color: #fff !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.2rem;
    font-weight: 400;
}

.home-page .navbar-brand i {
    color: var(--home-mint);
    font-size: 1rem;
}

.home-page .navbar-nav {
    gap: 6px;
}

.home-page .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.home-page .navbar-nav .nav-link:hover,
.home-page .navbar-nav .nav-link:focus {
    color: #fff !important;
}

.home-page .navbar-nav .nav-link::after {
    right: 16px;
    left: 16px;
    bottom: 5px;
    height: 1px;
    background: var(--home-mint);
}

.home-page .home-hero {
    min-height: clamp(740px, 100vh, 880px);
    background-position: center center;
}

.home-page .home-hero-shade {
    background:
        linear-gradient(90deg, rgba(5, 10, 12, 0.99) 0%, rgba(5, 10, 12, 0.96) 27%, rgba(5, 10, 12, 0.84) 43%, rgba(5, 10, 12, 0.38) 60%, rgba(5, 10, 12, 0.08) 78%),
        linear-gradient(0deg, rgba(5, 10, 12, 0.52) 0%, transparent 44%);
}

.home-page .home-hero-inner {
    grid-template-columns: minmax(0, 650px) minmax(190px, 1fr);
}

.home-page .home-hero-copy {
    position: relative;
    max-width: 650px;
    filter: drop-shadow(0 5px 20px rgba(0, 0, 0, 0.72));
}

.home-page .home-hero h1 {
    max-width: 650px;
    color: #fff;
    font-size: clamp(3.8rem, 6vw, 6.4rem);
    line-height: 0.94;
    text-wrap: balance;
}

.home-page .home-hero h1 em {
    color: #fff;
}

.home-page .home-hero-lead {
    max-width: 535px;
    color: rgba(255, 255, 255, 0.82);
    font-weight: 400;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.86);
}

.home-page .home-hero-note {
    align-self: end;
    margin-bottom: 56px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(5, 10, 12, 0.38);
    backdrop-filter: blur(12px);
}

.home-page .home-story-image-wrap img {
    object-position: 50% 50%;
    filter: saturate(0.9) contrast(1.02);
}

.home-page .home-story-image-wrap::after {
    background: linear-gradient(180deg, transparent 72%, rgba(9, 15, 16, 0.28));
}

.home-page .home-product-card:nth-child(2),
.home-page .home-product-card:nth-child(4) {
    padding-top: 34px;
}

.home-page .home-closing-image {
    filter: saturate(0.72) brightness(0.72);
}

.home-page .home-closing-overlay {
    background: linear-gradient(90deg, rgba(5, 10, 12, 0.97) 0%, rgba(5, 10, 12, 0.78) 48%, rgba(5, 10, 12, 0.34) 78%, rgba(5, 10, 12, 0.12));
}

@media (max-width: 991.98px) {
    .home-page .navbar {
        min-height: 74px;
        background: rgba(8, 14, 16, 0.92);
    }

    .home-page .navbar > .container {
        width: min(100% - 30px, 1240px);
    }

    .home-page .navbar-collapse {
        margin: 12px 0 6px;
        padding: 12px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(8, 14, 16, 0.96);
    }

    .home-page .home-hero {
        min-height: 780px;
        background-position: 58% center;
    }

    .home-page .home-hero-shade {
        background:
            linear-gradient(90deg, rgba(5, 10, 12, 0.98) 0%, rgba(5, 10, 12, 0.94) 42%, rgba(5, 10, 12, 0.66) 70%, rgba(5, 10, 12, 0.3) 100%),
            linear-gradient(0deg, rgba(5, 10, 12, 0.58), transparent 48%);
    }

    .home-page .home-hero-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .home-page .navbar > .container {
        width: min(100% - 22px, 1240px);
    }

    .home-page .navbar-brand {
        font-size: 1.02rem;
    }

    .home-page .home-hero {
        min-height: 760px;
        background-position: 62% center;
    }

    .home-page .home-hero-shade {
        background:
            linear-gradient(90deg, rgba(5, 10, 12, 0.97) 0%, rgba(5, 10, 12, 0.9) 66%, rgba(5, 10, 12, 0.58) 100%),
            linear-gradient(0deg, rgba(5, 10, 12, 0.68), transparent 58%);
    }

    .home-page .home-hero-copy {
        max-width: 100%;
        filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.9));
    }

    .home-page .home-hero h1 {
        max-width: 520px;
        font-size: clamp(3rem, 14vw, 4.3rem);
    }

    .home-page .home-hero-lead {
        color: rgba(255, 255, 255, 0.9);
    }

    .home-page .home-product-card:nth-child(2),
    .home-page .home-product-card:nth-child(4) {
        padding-top: 0;
    }
}


/* ==========================================================================
   Product showcase v2
   ========================================================================== */
.home-catalog-preview {
    position: relative;
    padding: 128px 0 118px;
    background: #f1f2ee;
}

.home-catalog-preview::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(17, 23, 25, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 23, 25, 0.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, #000, transparent 36%);
}

.home-catalog-preview > .container {
    position: relative;
}

.home-catalog-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: end;
    gap: 64px;
    margin-bottom: 60px;
}

.home-catalog-heading h2 {
    max-width: 760px;
    margin: 0 0 22px;
    color: var(--home-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.8rem, 5vw, 5.2rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}

.home-catalog-heading > p:last-child {
    max-width: 640px;
    margin-bottom: 0;
    color: rgba(17, 23, 25, 0.62);
    font-size: 1rem;
    line-height: 1.75;
}

.home-catalog-summary {
    padding: 25px 0 3px 28px;
    border-left: 1px solid rgba(17, 23, 25, 0.18);
}

.home-catalog-summary > span,
.home-catalog-summary > strong {
    display: block;
}

.home-catalog-summary > span {
    color: rgba(17, 23, 25, 0.45);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-catalog-summary > strong {
    margin: 8px 0 20px;
    color: var(--home-ink);
    font-family: Georgia, serif;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1;
}

.home-catalog-summary > a,
.home-catalog-footer a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--home-ink);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}

.home-catalog-summary > a i,
.home-catalog-footer a i {
    transition: transform 0.25s ease;
}

.home-catalog-summary > a:hover i,
.home-catalog-footer a:hover i {
    transform: translateX(5px);
}

.home-catalog-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    margin-bottom: 22px;
    padding: 0 18px;
    border: 1px solid rgba(17, 23, 25, 0.12);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.62);
}

.home-catalog-toolbar > div {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--home-ink);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-catalog-toolbar p {
    margin: 0;
    color: rgba(17, 23, 25, 0.5);
    font-size: 0.75rem;
}

.home-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2b9d72;
    box-shadow: 0 0 0 5px rgba(43, 157, 114, 0.12);
}

.home-product-grid.home-product-grid-v2 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.home-product-card.home-product-card-v2,
.home-page .home-product-card.home-product-card-v2:nth-child(2),
.home-page .home-product-card.home-product-card-v2:nth-child(4) {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 0;
    overflow: hidden;
    border: 1px solid rgba(17, 23, 25, 0.12);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 23, 25, 0.055);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.home-product-card.home-product-card-v2:hover {
    border-color: rgba(17, 23, 25, 0.28);
    box-shadow: 0 22px 50px rgba(17, 23, 25, 0.13);
    transform: translateY(-7px);
}

.home-product-card-v2 .home-product-image {
    aspect-ratio: 4 / 4.3;
    flex: 0 0 auto;
    border-bottom: 1px solid rgba(17, 23, 25, 0.1);
    background: #e7e9e5;
}

.home-product-card-v2 .home-product-image::after {
    background: linear-gradient(180deg, rgba(8, 14, 16, 0.16), transparent 38%, rgba(8, 14, 16, 0.18));
}

.home-product-card-v2 .home-product-image img {
    object-fit: cover;
}

.home-product-topline {
    position: absolute;
    top: 14px;
    right: 14px;
    left: 14px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.home-product-card-v2 .home-product-number,
.home-product-card-v2 .home-product-status {
    position: static;
    top: auto;
    right: auto;
    left: auto;
}

.home-product-card-v2 .home-product-number {
    padding: 7px 9px;
    color: #fff;
    background: rgba(8, 14, 16, 0.62);
    backdrop-filter: blur(8px);
}

.home-product-card-v2 .home-product-status {
    white-space: nowrap;
    background: rgba(8, 14, 16, 0.78);
}

.home-product-card-v2 .home-product-view {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.home-product-card-v2 .home-product-details {
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    align-items: stretch;
    justify-content: space-between;
    gap: 25px;
    padding: 23px;
    border-top: 0;
}

.home-product-copy {
    min-width: 0;
}

.home-product-label {
    display: block;
    margin-bottom: 9px;
    color: #65706f;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.home-product-card-v2 .home-product-details h3 {
    min-height: 2.6em;
    margin: 0 0 17px;
    color: var(--home-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.32rem;
    font-weight: 400;
    line-height: 1.3;
}

.home-product-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-top: 14px;
    border-top: 1px solid rgba(17, 23, 25, 0.09);
    color: rgba(17, 23, 25, 0.52);
    font-size: 0.68rem;
}

.home-product-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.home-product-meta i {
    color: #2f7773;
}

.home-product-card-v2 .home-product-purchase {
    display: block;
}

.home-product-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.home-product-price span {
    color: rgba(17, 23, 25, 0.48);
    font-size: 0.66rem;
    font-weight: 700;
}

.home-product-card-v2 .home-product-price strong {
    color: var(--home-ink);
    font-family: Georgia, serif;
    font-size: 1.35rem;
    font-weight: 400;
}

.home-product-card-v2 .home-book-button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 17px;
    border: 1px solid var(--home-ink);
    border-radius: 3px;
    color: #fff;
    background: var(--home-ink);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.home-product-card-v2 .home-book-button:hover:not(:disabled) {
    color: var(--home-ink);
    background: var(--home-mint);
    transform: none;
}

.home-product-card-v2 .home-book-button i {
    transition: transform 0.25s ease;
}

.home-product-card-v2 .home-book-button:hover i {
    transform: translateX(4px);
}

.home-product-card-v2 .home-book-button.is-disabled {
    border-color: #858c8b;
    color: rgba(255, 255, 255, 0.8);
    background: #858c8b;
    cursor: not-allowed;
}

.home-catalog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 34px;
    padding: 26px 0 0;
    border-top: 1px solid rgba(17, 23, 25, 0.16);
}

.home-catalog-footer p {
    margin: 0;
    color: rgba(17, 23, 25, 0.55);
    font-family: Georgia, serif;
    font-size: 1.15rem;
}

/* ==========================================================================
   Shared footer v2
   ========================================================================== */
.site-footer.footer-v2 {
    position: relative;
    padding: 0;
    overflow: hidden;
    border-top: 0;
    color: #fff;
    background: #091113;
}

.site-footer.footer-v2::before {
    content: "A";
    position: absolute;
    right: -0.05em;
    bottom: -0.24em;
    color: rgba(255, 255, 255, 0.018);
    font-family: Georgia, serif;
    font-size: clamp(24rem, 46vw, 46rem);
    line-height: 1;
    pointer-events: none;
}

.footer-v2 > .container {
    position: relative;
    z-index: 1;
}

.footer-v2-cta {
    min-height: 280px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 60px;
    padding: 56px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.footer-v2-kicker {
    display: block;
    margin-bottom: 17px;
    color: #78c9c1;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.footer-v2-cta h2 {
    max-width: 780px;
    margin: 0;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.5rem, 4.5vw, 4.7rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: 0;
}

.footer-v2-cta-link {
    width: 156px;
    height: 156px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 18px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.35s ease, background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.footer-v2-cta-link:hover {
    border-color: var(--home-mint, #70c8bf);
    color: #091113;
    background: var(--home-mint, #70c8bf);
    transform: rotate(-3deg) scale(1.03);
}

.footer-v2-cta-link i {
    font-size: 1rem;
    transform: rotate(-35deg);
}

.footer-v2-main {
    display: grid;
    grid-template-columns: minmax(280px, 1.65fr) 0.62fr 0.85fr minmax(260px, 1.15fr);
    gap: clamp(36px, 6vw, 90px);
    padding: 75px 0 68px;
}

.footer-v2-brand {
    max-width: 380px;
}

.footer-v2-logo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 24px;
    color: #fff;
    text-decoration: none;
}

.footer-v2-logo > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(112, 200, 191, 0.48);
    color: var(--home-mint, #70c8bf);
}

.footer-v2-logo strong {
    font-family: Georgia, serif;
    font-size: 1.25rem;
    font-weight: 400;
}

.footer-v2-brand > p,
.footer-v2-contact > p {
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.82rem;
    line-height: 1.8;
}

.footer-v2-brand > p {
    max-width: 350px;
    margin-bottom: 26px;
}

.footer-v2-socials {
    display: flex;
    gap: 9px;
}

.footer-v2-socials a {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.footer-v2-socials a:hover {
    border-color: var(--home-mint, #70c8bf);
    color: #091113;
    background: var(--home-mint, #70c8bf);
    transform: translateY(-3px);
}

.footer-v2-column,
.footer-v2-contact {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.footer-v2-column h3,
.footer-v2-contact h3 {
    margin: 4px 0 25px;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.footer-v2-column a {
    position: relative;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, 0.54);
    font-size: 0.79rem;
    text-decoration: none;
    transition: color 0.25s ease, transform 0.25s ease;
}

.footer-v2-column a:hover {
    color: #fff;
    transform: translateX(4px);
}

.footer-v2-contact > p {
    margin-bottom: 20px;
}

.footer-v2-contact > a {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.76rem;
    text-decoration: none;
    transition: color 0.25s ease;
}

.footer-v2-contact > a:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-v2-contact > a:hover {
    color: var(--home-mint, #70c8bf);
}

.footer-v2-contact > a > i {
    width: 30px;
    color: var(--home-mint, #70c8bf);
    font-size: 1rem;
    text-align: center;
}

.footer-v2-contact > a span,
.footer-v2-contact > a small {
    display: block;
}

.footer-v2-contact > a small {
    margin-bottom: 3px;
    color: rgba(255, 255, 255, 0.38);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.footer-v2-bottom {
    min-height: 78px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.68rem;
}

.footer-v2-bottom p {
    margin: 0;
}

.footer-v2-bottom p:nth-child(2) {
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.04em;
}

.footer-v2-bottom p:nth-child(2) span {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--home-mint, #70c8bf);
}

.footer-v2-bottom > a {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.footer-v2-bottom > a:hover {
    color: #fff;
}

@media (max-width: 1100px) {
    .home-product-grid.home-product-grid-v2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }

    .footer-v2-main {
        grid-template-columns: 1.4fr 0.7fr 0.9fr;
    }

    .footer-v2-contact {
        grid-column: 1 / -1;
        max-width: 520px;
    }
}

@media (max-width: 760px) {
    .home-catalog-preview {
        padding: 88px 0 82px;
    }

    .home-catalog-header {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 42px;
    }

    .home-catalog-summary {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 8px 18px;
        padding: 20px 0;
        border-top: 1px solid rgba(17, 23, 25, 0.16);
        border-bottom: 1px solid rgba(17, 23, 25, 0.16);
        border-left: 0;
    }

    .home-catalog-summary > strong {
        grid-row: 1 / 3;
        margin: 0;
    }

    .home-catalog-summary > a {
        grid-column: 1 / -1;
        margin-top: 8px;
    }

    .home-catalog-toolbar {
        padding: 0 14px;
    }

    .home-catalog-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-v2-cta {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 70px 0;
    }

    .footer-v2-cta-link {
        width: auto;
        height: 54px;
        align-items: center;
        justify-content: space-between;
        flex-direction: row;
        padding: 0 20px;
        border-radius: 3px;
    }

    .footer-v2-cta-link i {
        transform: none;
    }

    .footer-v2-main {
        grid-template-columns: 1fr 1fr;
        padding: 60px 0;
    }

    .footer-v2-brand,
    .footer-v2-contact {
        grid-column: 1 / -1;
    }

    .footer-v2-bottom {
        grid-template-columns: 1fr auto;
        padding: 22px 0;
    }

    .footer-v2-bottom p:nth-child(2) {
        display: none;
    }
}

@media (max-width: 560px) {
    .home-catalog-heading h2 {
        font-size: 2.65rem;
    }

    .home-catalog-toolbar p {
        display: none;
    }

    .home-product-grid.home-product-grid-v2 {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-product-card-v2 .home-product-image {
        aspect-ratio: 1 / 0.92;
    }

    .home-product-card-v2 .home-product-details {
        padding: 21px;
    }

    .home-product-card-v2 .home-product-details h3 {
        min-height: auto;
    }

    .footer-v2-main {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .footer-v2-brand,
    .footer-v2-contact {
        grid-column: auto;
    }

    .footer-v2-bottom {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .footer-v2-bottom > a {
        justify-self: start;
    }
}


/* Unified inner pages */
.inner-page{--home-ink:#111719;--home-paper:#f4f1ea;--home-white:#fffdf8;--home-mint:#70c8bf;--home-coral:#e86d4d;--home-line:rgba(17,23,25,.14);color:var(--home-ink);background:var(--home-paper)}
.inner-page .container{width:min(100% - 48px,1240px);max-width:1240px}
.inner-page .site-header{padding:0}
.inner-page .navbar{width:100%;min-height:86px;margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.16);border-radius:0;background:rgba(8,14,16,.78);box-shadow:none;backdrop-filter:blur(18px) saturate(1.15)}
.inner-page .navbar>.container{width:min(100% - 48px,1240px);max-width:1240px}
.inner-page .navbar-brand{color:#fff!important;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;font-weight:400}
.inner-page .navbar-brand i{color:var(--home-mint);font-size:1rem}
.inner-page .navbar-nav{gap:6px}
.inner-page .navbar-nav .nav-link{color:rgba(255,255,255,.72)!important;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.inner-page .navbar-nav .nav-link:hover,.inner-page .navbar-nav .nav-link:focus{color:#fff!important}
.inner-page .navbar-nav .nav-link::after{right:16px;left:16px;bottom:5px;height:1px;background:var(--home-mint)}
.inner-page main{overflow:hidden}
.inner-kicker{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--home-coral);font-size:.7rem;font-weight:800;letter-spacing:.16em;line-height:1;text-transform:uppercase}
.inner-kicker::before{content:"";width:34px;height:1px;flex:0 0 34px;background:currentColor}
.inner-hero{position:relative;min-height:650px;display:flex;align-items:center;isolation:isolate;overflow:hidden;color:#fff;background:#091113}
.inner-hero-image,.inner-hero-overlay{position:absolute;inset:0;z-index:-2}
.inner-hero-image{background-position:center;background-repeat:no-repeat;background-size:cover;animation:homeHeroZoom 16s ease-out both}
.about-hero .inner-hero-image{background-image:url('../img/home/archive-inspection-v2.webp');background-position:center 46%}
.contact-hero .inner-hero-image,.products-hero .inner-hero-image{background-image:url('../img/home/hero-collection-v2.webp');background-position:center}
.inner-hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(5,10,12,.98) 0%,rgba(5,10,12,.91) 38%,rgba(5,10,12,.48) 68%,rgba(5,10,12,.22) 100%),linear-gradient(0deg,rgba(5,10,12,.5),transparent 50%)}
.about-hero .inner-hero-overlay{background:linear-gradient(90deg,rgba(5,10,12,.98),rgba(5,10,12,.89) 42%,rgba(5,10,12,.48) 72%,rgba(5,10,12,.3)),linear-gradient(0deg,rgba(5,10,12,.56),transparent 52%)}
.inner-hero-content{position:relative;z-index:1;padding-top:150px;padding-bottom:80px}
.inner-breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:72px;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.inner-breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none}.inner-breadcrumb a:hover{color:#fff}
.inner-breadcrumb span{width:26px;height:1px;background:rgba(255,255,255,.34)}.inner-breadcrumb strong{color:var(--home-mint);font-weight:800}
.inner-hero .inner-kicker{color:var(--home-mint)}
.inner-hero h1{max-width:860px;margin:0 0 25px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.6rem,6.5vw,6.8rem);font-weight:400;line-height:.94;letter-spacing:0;text-shadow:0 5px 28px rgba(0,0,0,.64)}
.inner-hero-content>p:last-of-type{max-width:620px;margin-bottom:0;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.75}
.inner-hero-index{position:absolute;right:38px;bottom:30px;display:flex;align-items:baseline;gap:12px;color:rgba(255,255,255,.46);font-size:.63rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.inner-hero-index strong{color:#fff;font-family:Georgia,serif;font-size:2rem;font-weight:400;letter-spacing:0}

/* About */
.about-intro{padding:130px 0 140px;background:var(--home-paper)}
.about-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(70px,9vw,130px)}
.about-intro-copy h2,.about-section-heading h2,.inner-cta h2,.contact-details h2,.contact-form-panel>h2,.product-empty-v2 h2{margin:0;color:var(--home-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,4.5vw,4.7rem);font-weight:400;line-height:1.05;letter-spacing:0}
.about-intro-copy h2{margin-bottom:28px}
.about-intro-copy>p:not(.inner-kicker){color:rgba(17,23,25,.61);font-size:.95rem;line-height:1.85}
.about-intro-copy .about-lead{color:rgba(17,23,25,.86)!important;font-size:1.08rem!important}.about-intro-copy .home-arrow-link{margin-top:20px}
.about-intro-visual{position:relative;padding:0 0 42px 42px}
.about-intro-visual::before{content:"";position:absolute;top:-20px;left:20px;width:1px;height:52%;background:var(--home-coral)}
.about-intro-visual img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;box-shadow:0 28px 65px rgba(17,23,25,.17)}
.about-image-note{position:absolute;right:-24px;bottom:0;min-width:175px;padding:24px;color:#fff;background:#163e40;box-shadow:0 18px 40px rgba(17,23,25,.2)}
.about-image-note span,.about-image-note strong{display:block}.about-image-note span{margin-bottom:8px;color:var(--home-mint);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.about-image-note strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;line-height:1.25}
.about-numbers{color:#fff;background:#111719}.about-number-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.about-number-grid>div{min-height:180px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:35px;border-right:1px solid rgba(255,255,255,.12)}
.about-number-grid>div:first-child{border-left:1px solid rgba(255,255,255,.12)}
.about-number-grid strong,.about-number-grid span{display:block}.about-number-grid strong{margin-bottom:12px;color:var(--home-mint);font-family:Georgia,serif;font-size:clamp(2.1rem,3.5vw,3.5rem);font-weight:400;line-height:1}
.about-number-grid span{max-width:180px;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.5}
.about-standard{padding:135px 0;background:#fffdf8}.about-section-heading{max-width:720px;margin-bottom:65px}
.about-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}
.about-principle{min-height:350px;padding:38px 38px 45px 0;border-right:1px solid var(--home-line)}.about-principle:not(:first-child){padding-left:38px}.about-principle:last-child{border-right:0}
.about-principle>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:66px}.about-principle>div span{color:rgba(17,23,25,.4);font-family:Georgia,serif}.about-principle>div i{color:var(--home-coral);font-size:1.35rem}
.about-principle h3{margin:0 0 15px;color:var(--home-ink);font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.about-principle p{margin:0;color:rgba(17,23,25,.57);font-size:.86rem;line-height:1.78}
.about-manifesto{padding:125px 0;color:#fff;background:#163e40}.about-manifesto-grid{display:grid;grid-template-columns:.38fr 1fr;align-items:center;gap:clamp(60px,10vw,150px)}
.about-manifesto-mark{color:rgba(255,255,255,.08);font-family:Georgia,serif;font-size:clamp(13rem,24vw,23rem);line-height:.72;text-align:center}.about-manifesto .inner-kicker{color:var(--home-mint)}
.about-manifesto blockquote{max-width:800px;margin:0 0 30px;color:#fff;font-family:Georgia,serif;font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.18}.about-manifesto-grid>div:last-child>p:last-child{color:rgba(255,255,255,.56)}
.inner-cta{padding:90px 0;background:var(--home-paper)}.inner-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:50px}.inner-cta h2{font-size:clamp(2.2rem,4vw,4rem)}

/* Contact */
.contact-workspace{padding:120px 0 130px;background:var(--home-paper)}.contact-workspace-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.25fr);align-items:stretch}
.contact-details{padding:58px 52px;color:#fff;background:#163e40}.contact-details .inner-kicker{color:var(--home-mint)}.contact-details h2{margin-bottom:22px;color:#fff;font-size:clamp(2.4rem,3.8vw,3.8rem)}
.contact-details-intro{margin-bottom:36px;color:rgba(255,255,255,.58);font-size:.88rem;line-height:1.75}.contact-methods{border-top:1px solid rgba(255,255,255,.15)}
.contact-methods>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none}
.contact-methods>a>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(112,200,191,.4);border-radius:50%;color:var(--home-mint)}
.contact-methods>a>i{color:rgba(255,255,255,.35);font-size:.72rem;transition:.25s}.contact-methods>a:hover>i{color:var(--home-mint);transform:translateX(4px)}
.contact-methods small,.contact-methods strong{display:block}.contact-methods small{margin-bottom:3px;color:rgba(255,255,255,.38);font-size:.59rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-methods strong{overflow-wrap:anywhere;font-size:.78rem;font-weight:600}
.contact-hours{display:flex;align-items:flex-start;gap:15px;margin-top:38px;padding:20px;background:rgba(255,255,255,.07)}.contact-hours>i{margin-top:3px;color:var(--home-mint)}
.contact-hours span,.contact-hours strong,.contact-hours small{display:block}.contact-hours span{margin-bottom:5px;color:rgba(255,255,255,.38);font-size:.59rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-hours strong{font-size:.78rem}.contact-hours small{margin-top:2px;color:rgba(255,255,255,.55);font-size:.7rem}
.contact-form-panel{padding:58px clamp(38px,6vw,78px);border:1px solid rgba(17,23,25,.1);background:#fffdf8}
.contact-form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid var(--home-line);color:rgba(17,23,25,.46);font-size:.63rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-form-heading strong{color:var(--home-coral)}
.contact-form-panel>h2{margin-bottom:14px;font-size:clamp(2.3rem,3.5vw,3.6rem)}.contact-form-panel>p{max-width:650px;margin-bottom:34px;color:rgba(17,23,25,.57);font-size:.86rem;line-height:1.7}
.contact-honeypot{position:absolute!important;left:-9999px!important}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.contact-field-full{grid-column:1/-1}
.contact-field label{display:block;margin-bottom:9px;color:rgba(17,23,25,.66);font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.contact-field label span{color:var(--home-coral)}
.contact-field input,.contact-field textarea{width:100%;border:0;border-bottom:1px solid rgba(17,23,25,.24);border-radius:0;outline:0;color:var(--home-ink);background:transparent;font-size:.9rem;transition:.25s}
.contact-field input{height:48px}.contact-field textarea{display:block;min-height:135px;padding:12px 0;resize:vertical}.contact-field input::placeholder,.contact-field textarea::placeholder{color:rgba(17,23,25,.35)}
.contact-field input:focus,.contact-field textarea:focus{border-color:#277c76;box-shadow:0 1px 0 #277c76}
.contact-submit{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 21px;border:1px solid var(--home-ink);border-radius:2px;color:#fff;background:var(--home-ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.25s}
.contact-submit:hover{color:var(--home-ink);background:var(--home-mint)}
.contact-assurance{color:#fff;background:#111719}.contact-assurance-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.contact-assurance-grid>div{min-height:170px;display:grid;grid-template-columns:30px 42px 1fr;align-items:center;gap:14px;padding:30px;border-right:1px solid rgba(255,255,255,.12)}.contact-assurance-grid>div:first-child{border-left:1px solid rgba(255,255,255,.12)}
.contact-assurance-grid>div>span{align-self:start;color:rgba(255,255,255,.28);font-family:Georgia,serif;font-size:.78rem}.contact-assurance-grid>div>i{color:var(--home-mint);font-size:1.2rem}
.contact-assurance-grid strong{display:block;margin-bottom:7px;font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.contact-assurance-grid p{margin:0;color:rgba(255,255,255,.48);font-size:.73rem;line-height:1.55}

/* Products */
.products-hero-meta{display:flex;gap:45px;margin-top:38px}.products-hero-meta div{min-width:112px;padding-left:15px;border-left:1px solid rgba(255,255,255,.3)}
.products-hero-meta strong,.products-hero-meta span{display:block}.products-hero-meta strong{margin-bottom:5px;color:#fff;font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.products-hero-meta span{color:rgba(255,255,255,.48);font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.product-browser{padding:0 0 120px;background:#f1f2ee}
.product-filter-v2{position:relative;z-index:3;display:grid;grid-template-columns:minmax(210px,.85fr) minmax(230px,1.25fr) minmax(160px,.75fr) minmax(165px,.8fr) auto;align-items:end;gap:16px;margin:-36px 0 40px;padding:22px;border:1px solid rgba(17,23,25,.12);border-radius:5px;background:rgba(255,253,248,.96);box-shadow:0 20px 55px rgba(17,23,25,.12);backdrop-filter:blur(16px)}
.product-filter-heading{display:flex;align-items:center;gap:12px;padding-bottom:7px}.product-filter-heading>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#163e40}
.product-filter-heading strong,.product-filter-heading span{display:block}.product-filter-heading strong{color:var(--home-ink);font-size:.75rem}.product-filter-heading span{margin-top:3px;color:rgba(17,23,25,.42);font-size:.6rem}
.product-filter-field label{display:block;margin-bottom:8px;color:rgba(17,23,25,.52);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-filter-field>div{position:relative}
.product-filter-field>div i{position:absolute;top:50%;left:13px;color:#2f7773;font-size:.78rem;transform:translateY(-50%)}
.product-filter-field input,.product-filter-field select{width:100%;height:46px;border:1px solid rgba(17,23,25,.15);border-radius:3px;outline:0;color:var(--home-ink);background:#fff;font-size:.78rem}
.product-filter-field input{padding:0 13px 0 38px}.product-filter-field select{padding:0 34px 0 13px}.product-filter-field input:focus,.product-filter-field select:focus{border-color:#2f7773;box-shadow:0 0 0 3px rgba(47,119,115,.1)}
.product-filter-submit{min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:0 17px;border:1px solid var(--home-ink);border-radius:3px;color:#fff;background:var(--home-ink);font-size:.68rem;font-weight:800;letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;transition:.25s}.product-filter-submit:hover{color:var(--home-ink);background:var(--home-mint)}
.product-results-head{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:0 18px;border:1px solid rgba(17,23,25,.12);border-radius:4px;background:rgba(255,255,255,.64)}
.product-results-head>div{display:flex;align-items:center;gap:12px}.product-results-head strong{color:var(--home-ink);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.product-results-head>span,.product-results-head>a{color:rgba(17,23,25,.48);font-size:.7rem}.product-results-head>a{display:inline-flex;align-items:center;gap:8px;color:var(--home-coral);font-weight:800;text-decoration:none;text-transform:uppercase}
.product-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-results-grid .home-product-card-v2 .home-product-image{aspect-ratio:4/4.2}.product-results-grid .home-product-card-v2 .home-product-details{padding:21px}
.product-empty-v2{padding:95px 25px;border:1px solid rgba(17,23,25,.12);background:rgba(255,255,255,.7);text-align:center}.product-empty-v2>i{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 25px;border:1px solid var(--home-line);border-radius:50%;color:var(--home-coral);font-size:1.3rem}
.product-empty-v2 .inner-kicker{justify-content:center}.product-empty-v2 h2{margin-bottom:12px;font-size:2.8rem}.product-empty-v2>p:not(.inner-kicker){max-width:560px;margin:0 auto 28px;color:rgba(17,23,25,.56)}
.product-pagination{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:55px;padding-top:25px;border-top:1px solid var(--home-line)}.product-pagination>span{color:rgba(17,23,25,.46);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-pagination ul{display:flex;gap:7px;margin:0;padding:0;list-style:none}.product-pagination a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(17,23,25,.15);color:var(--home-ink);background:#fff;font-size:.7rem;font-weight:800;text-decoration:none;transition:.25s}.product-pagination .active a,.product-pagination a:hover{color:#fff;background:var(--home-ink)}

@media(max-width:1100px){.product-filter-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.product-filter-heading{grid-column:1/-1}.product-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-intro-grid{gap:65px}}
@media(max-width:900px){
.inner-page .navbar{min-height:74px;background:rgba(8,14,16,.94)}.inner-page .navbar>.container{width:min(100% - 30px,1240px)}.inner-page .navbar-collapse{margin:12px 0 6px;padding:12px;border-top:1px solid rgba(255,255,255,.12);background:rgba(8,14,16,.97)}
.inner-hero{min-height:610px}.inner-hero-content{padding-top:130px}.about-intro,.about-standard,.about-manifesto,.contact-workspace{padding-top:95px;padding-bottom:100px}
.about-intro-grid,.about-manifesto-grid,.contact-workspace-grid{grid-template-columns:1fr}.about-intro-copy{max-width:720px}.about-intro-visual{max-width:650px}
.about-number-grid{grid-template-columns:repeat(2,1fr)}.about-number-grid>div:nth-child(3){border-left:1px solid rgba(255,255,255,.12)}
.about-principles{grid-template-columns:1fr}.about-principle,.about-principle:not(:first-child){min-height:auto;padding:32px 0;border-right:0;border-bottom:1px solid var(--home-line)}.about-principle:last-child{border-bottom:0}.about-principle>div{margin-bottom:32px}.about-manifesto-mark{display:none}
.contact-details{padding:48px}.contact-assurance-grid{grid-template-columns:1fr}.contact-assurance-grid>div,.contact-assurance-grid>div:first-child{min-height:135px;border-right:0;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}
.product-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
.inner-page .container{width:min(100% - 28px,1240px)}.inner-page .navbar>.container{width:min(100% - 22px,1240px)}.inner-hero{min-height:580px}.inner-hero-image{background-position:62% center}.about-hero .inner-hero-image{background-position:58% center}
.inner-hero-overlay,.about-hero .inner-hero-overlay{background:linear-gradient(90deg,rgba(5,10,12,.97),rgba(5,10,12,.78)),linear-gradient(0deg,rgba(5,10,12,.65),transparent 55%)}.inner-hero-content{padding-top:115px;padding-bottom:70px}.inner-breadcrumb{margin-bottom:48px}.inner-hero h1{font-size:clamp(3rem,14vw,4.4rem)}.inner-hero-content>p:last-of-type{font-size:.92rem}.inner-hero-index{display:none}
.about-intro,.about-standard,.about-manifesto,.contact-workspace{padding-top:76px;padding-bottom:82px}.about-intro-visual{padding:0 18px 35px}.about-image-note{right:0;min-width:150px}
.about-number-grid{grid-template-columns:1fr}.about-number-grid>div,.about-number-grid>div:first-child,.about-number-grid>div:nth-child(3){min-height:125px;padding:26px 0;border-right:0;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}
.inner-cta>.container{align-items:flex-start;flex-direction:column}.contact-details,.contact-form-panel{padding:36px 24px}.contact-form-grid{grid-template-columns:1fr}.contact-field-full{grid-column:auto}.contact-methods>a{grid-template-columns:40px minmax(0,1fr)}.contact-methods>a>i{display:none}
.products-hero-meta{gap:24px}.product-browser{padding-bottom:82px}.product-filter-v2{grid-template-columns:1fr;margin-top:-24px;padding:18px}.product-filter-heading{grid-column:auto}.product-results-head{align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:14px}.product-results-grid{grid-template-columns:1fr}.product-results-grid .home-product-card-v2 .home-product-image{aspect-ratio:1/.92}.product-pagination{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.inner-hero-image{animation:none!important}}


/* Book Product form and shared CAPTCHA */
.booking-modal .modal-dialog{max-width:900px}
.booking-modal-content{overflow:hidden;border:0!important;border-radius:7px!important;background:#fff!important;box-shadow:0 35px 100px rgba(5,12,14,.38)!important}
.booking-modal-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(17,23,25,.1);background:#0e191b}
.booking-modal-header span{display:block;margin-bottom:4px;color:#70c8bf;font-size:.59rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.booking-modal-header h5{margin:0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:400}
.booking-modal-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.74);background:transparent;transition:.2s}
.booking-modal-close:hover{border-color:#70c8bf;color:#0e191b;background:#70c8bf;transform:rotate(90deg)}
.booking-modal-body{display:grid;grid-template-columns:310px minmax(0,1fr)}
.booking-product-panel{padding:25px;color:#fff;background:#163e40}
.booking-product-image{position:relative;aspect-ratio:1/1;overflow:hidden;margin-bottom:23px;border:1px solid rgba(255,255,255,.12);background:#263f40}
.booking-product-image #modalProductImage{width:100%!important;height:100%!important;display:block;object-fit:cover;border-radius:0!important;transition:transform .5s ease}
.booking-product-image:hover #modalProductImage{transform:scale(1.035)}
.booking-product-image>span{position:absolute;left:12px;bottom:12px;padding:6px 8px;color:#fff;background:rgba(8,14,16,.76);font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.booking-product-details#modalProductDetails{display:block!important;margin:0!important;padding:0 0 20px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;border-radius:0!important;background:transparent!important}
.booking-product-details small{display:block;margin-bottom:7px;color:rgba(255,255,255,.42);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.booking-product-details h6{margin:0 0 8px;color:#fff;font-family:Georgia,serif;font-size:1.25rem;font-weight:400;line-height:1.3}
.booking-product-details #modalProductPrice{color:#8adbd2!important;font-family:Georgia,serif;font-size:1.2rem;font-weight:400}
.booking-assurances{display:grid;gap:11px;margin:19px 0 0;padding:0;list-style:none}
.booking-assurances li{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.57);font-size:.66rem}.booking-assurances i{width:17px;color:#70c8bf;text-align:center}
.booking-form-panel{padding:30px clamp(28px,4vw,48px);background:#fffdf8}
.booking-form-intro{margin-bottom:23px;padding-bottom:18px;border-bottom:1px solid rgba(17,23,25,.12)}
.booking-form-intro span{display:block;margin-bottom:7px;color:#111719;font-family:Georgia,serif;font-size:1.25rem}.booking-form-intro p{max-width:480px;margin:0;color:rgba(17,23,25,.54);font-size:.73rem;line-height:1.6}
.booking-honeypot{position:absolute!important;left:-9999px!important}
.booking-field{margin-bottom:18px}.booking-field>label{display:block;margin-bottom:7px;color:rgba(17,23,25,.67);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.booking-field>label span{color:#df6b50}
.booking-field>div:not(.captcha-control){position:relative}.booking-field>div:not(.captcha-control)>i{position:absolute;top:50%;left:14px;color:#2f7773;font-size:.74rem;transform:translateY(-50%)}
.booking-field input{width:100%;height:45px;border:1px solid rgba(17,23,25,.17);border-radius:3px;outline:0;color:#111719;background:#fff;font-size:.78rem;transition:.2s}
.booking-field>div:not(.captcha-control)>input{padding:0 13px 0 40px}.booking-field input:focus{border-color:#2f7773;box-shadow:0 0 0 3px rgba(47,119,115,.1)}
.booking-field>small,.captcha-help{display:block;margin-top:6px;color:rgba(17,23,25,.42);font-size:.6rem;line-height:1.4}
.captcha-control{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px}
.captcha-challenge{position:relative!important;height:48px;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(17,23,25,.16);border-radius:3px;background:#e7ecea}
.captcha-challenge::before,.captcha-challenge::after{content:"";position:absolute;left:-10%;width:120%;height:1px;background:rgba(47,119,115,.22);transform:rotate(-8deg)}
.captcha-challenge::after{transform:rotate(10deg)}
.captcha-code{position:relative;z-index:1;flex:1;color:#173d3b;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:700;letter-spacing:.25em;text-align:center;text-shadow:1px 1px 0 rgba(255,255,255,.8);user-select:none;transition:opacity .2s}
.captcha-code.is-refreshing{opacity:.25}
.captcha-refresh{position:relative;z-index:2;width:42px;height:100%;display:grid;place-items:center;border:0;border-left:1px solid rgba(17,23,25,.13);color:#2f7773;background:rgba(255,255,255,.48);transition:.2s}
.captcha-refresh:hover{color:#fff;background:#2f7773}.captcha-refresh:hover i{transform:rotate(90deg)}.captcha-refresh i{transition:transform .3s ease}
.captcha-control>input{height:48px!important;padding:0 13px!important;text-align:center;letter-spacing:.1em}
.booking-submit{width:100%;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border:1px solid #111719;border-radius:3px;color:#fff;background:#111719;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:.25s}
.booking-submit:hover{color:#111719;background:#70c8bf}.booking-submit:disabled{cursor:wait;opacity:.72}.booking-submit i{transition:transform .2s}.booking-submit:hover i:not(.fa-spinner){transform:translateX(4px)}
.booking-privacy{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0;color:rgba(17,23,25,.38);font-size:.58rem}.booking-privacy i{color:#2f7773}
.booking-modal .alert{margin:0 0 14px;padding:10px 12px;border:0;border-radius:3px;font-size:.68rem}.booking-modal .alert-danger{color:#963f33;background:#f9e5e1}.booking-modal .alert-success{color:#24654b;background:#e1f2e8}
.contact-page .captcha-field-group{padding:18px;border:1px solid rgba(17,23,25,.11);background:#f5f6f3}
.contact-page .captcha-field-group>label{margin-bottom:11px}.contact-page .captcha-control{grid-template-columns:180px minmax(0,1fr)}
.contact-page .captcha-control>input{height:48px;border:1px solid rgba(17,23,25,.17);padding:0 14px;background:#fff;text-align:center}
.contact-page .captcha-control>input:focus{border-color:#2f7773;box-shadow:0 0 0 3px rgba(47,119,115,.1)}
@media(max-width:767px){.booking-modal .modal-dialog{margin:12px}.booking-modal-body{grid-template-columns:1fr}.booking-product-panel{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:18px}.booking-product-image{margin:0}.booking-product-details#modalProductDetails{align-self:center;padding:0!important;border-bottom:0!important}.booking-assurances{display:none}.booking-form-panel{padding:24px 20px}.booking-modal-header{min-height:72px;padding:15px 20px}}
@media(max-width:480px){.captcha-control,.contact-page .captcha-control{grid-template-columns:1fr}.captcha-challenge{height:46px}.booking-modal .modal-dialog{margin:0;min-height:100%}.booking-modal-content{min-height:100vh;border-radius:0!important}.booking-product-panel{grid-template-columns:82px 1fr}.booking-form-intro{margin-bottom:18px}.booking-field{margin-bottom:15px}}
