:root {
    --home-ink: #201c17;
    --home-muted: #6f675e;
    --home-accent: #9a7441;
    --home-accent-dark: #73532d;
    --home-border: #e7e0d6;
    --home-soft: #f7f4ef;
}

.home-page {
    background: #fff;
    color: var(--home-ink);
    overflow: hidden;
}

.home-content-shell {
    margin-inline: auto;
    max-width: 1800px;
    padding-inline: clamp(1rem, 2.6vw, 3.25rem);
}

.home-section {
    padding-block: clamp(3.5rem, 6vw, 6.5rem);
}

.home-section-kicker {
    color: var(--home-accent-dark);
    display: inline-block;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: .75rem;
    text-transform: uppercase;
}

.home-section-title {
    color: var(--home-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 3.15rem);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.home-hero-shell {
    margin: 0 auto;
    max-width: 1900px;
    padding: clamp(.65rem, 1.4vw, 1.5rem);
}

.home-hero-grid,
.home-hero-main,
.home-hero-main .home-page-slider,
.home-hero-main .swiper-wrapper,
.home-hero-main .swiper-slide,
.home-hero-main .about-box,
.home-hero-media {
    min-height: clamp(32rem, 43vw, 45rem);
}

.home-hero-media {
    border-radius: 1.15rem;
    overflow: hidden;
}

.home-hero-media > img {
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.home-hero-shade {
    background: linear-gradient(90deg, rgba(18, 15, 12, .78) 0%, rgba(18, 15, 12, .42) 46%, rgba(18, 15, 12, .05) 76%);
    inset: 0;
    position: absolute;
}

.home-hero-copy {
    color: #fff;
    left: clamp(1.4rem, 4vw, 4.5rem);
    max-width: 44rem;
    padding-bottom: clamp(2rem, 5vw, 5rem);
    right: 1.25rem;
}

.home-hero-copy .slider-heading-1 {
    color: rgba(255, 255, 255, .85);
    font-size: clamp(.82rem, 1.2vw, 1rem);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-hero-copy .slider-heading-2 {
    font-family: inherit;
    font-size: clamp(2.25rem, 4.1vw, 4.8rem);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1.04;
    margin: .65rem 0 1.65rem;
    max-width: 42rem;
}

.home-primary-btn,
.home-secondary-btn,
.home-outline-btn {
    border-radius: .65rem;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .025em;
    padding: .85rem 1.3rem;
}

.home-primary-btn {
    background: #fff;
    border: 1px solid #fff;
    color: var(--home-ink);
}

.home-primary-btn:hover {
    background: #efe7dc;
    border-color: #efe7dc;
    color: var(--home-ink);
}

.home-secondary-btn {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .72);
    color: #fff;
}

.home-secondary-btn:hover {
    background: #fff;
    color: var(--home-ink);
}

.home-hero-aside .row > div {
    height: calc(50% - .5rem);
}

.home-hero-aside img {
    border-radius: 1.15rem;
    height: 100%;
    object-fit: cover;
}

.home-hero-tile {
    display:block;
    height:100%;
    overflow:hidden;
    position:relative;
}

.home-hero-tile::after {
    background:linear-gradient(180deg,transparent 45%,rgba(20,16,12,.78));
    border-radius:1.15rem;
    content:"";
    inset:0;
    position:absolute;
}

.home-hero-tile > span {
    align-items:end;
    bottom:0;
    color:#fff;
    display:grid;
    gap:.2rem;
    grid-template-columns:1fr auto;
    left:0;
    padding:1.4rem;
    position:absolute;
    right:0;
    z-index:2;
}

.home-hero-tile small {
    color:rgba(255,255,255,.72);
    font-size:.6rem;
    grid-column:1 / -1;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.home-hero-tile strong { font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; font-weight:500; }
.home-hero-tile i { transition:transform .25s ease; }
.home-hero-tile:hover i { transform:translateX(4px); }
.home-hero-tile img { transition:transform .65s cubic-bezier(.2,.75,.25,1); }
.home-hero-tile:hover img { transform:scale(1.035); }

.home-intro-section {
    padding-bottom: 2rem;
}

.home-intro-copy {
    display:grid;
    gap:clamp(1.5rem,4vw,5rem);
    grid-template-columns:minmax(0,.85fr) minmax(20rem,1fr);
    margin-inline: auto;
    max-width: 84rem;
    text-align:left;
}

.home-intro-title { border-left:3px solid var(--home-accent); padding-left:clamp(1.25rem,2vw,2rem); }
.home-intro-signature { align-items:center; color:#867a6c; display:flex; font-size:.62rem; font-weight:700; gap:.7rem; letter-spacing:.1em; margin-top:1.25rem; text-transform:uppercase; }
.home-intro-signature i { background:var(--home-accent); border-radius:50%; height:.28rem; width:.28rem; }
.home-intro-note { align-self:center; }
.home-intro-note > p {
    color: var(--home-muted);
    font-size: clamp(.92rem, 1.2vw, 1.05rem);
    line-height: 1.85;
    margin:0 0 1rem;
    max-width: 69rem;
}

.home-intro-copy a {
    color: var(--home-accent-dark);
}

.home-text-link { border-bottom:1px solid #cdbb9f; display:inline-flex; font-size:.73rem; font-weight:750; gap:.55rem; padding-bottom:.25rem; }
.home-text-link i { transition:transform .2s ease; }
.home-text-link:hover i { transform:translateX(4px); }

.home-trust-banner {
    border: 1px solid var(--home-border);
    border-radius: 1rem;
    margin: clamp(2rem, 4vw, 4rem) 0 0;
    overflow: hidden;
    grid-column:1 / -1;
}

.home-trust-banner img {
    display: block;
}

.home-collection-section {
    background: var(--home-soft);
}

.home-collection-section .swiper-slide a {
    display: block;
}

.home-collection-card { border-radius:.9rem; overflow:hidden; position:relative; }
.home-collection-card::after { background:linear-gradient(180deg,transparent 52%,rgba(24,19,14,.82)); content:""; inset:0; position:absolute; }
.home-collection-card > span { bottom:0; color:#fff; display:flex; flex-direction:column; left:0; padding:1.2rem; position:absolute; right:0; text-align:left; z-index:2; }
.home-collection-card > span strong { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; font-weight:500; }
.home-collection-card > span small { color:rgba(255,255,255,.76); font-size:.6rem; margin-top:.3rem; }

.home-collection-section .swiper-slide img {
    aspect-ratio: 1 / 1.02;
    border-radius: .9rem;
    box-shadow: 0 .8rem 2rem rgba(49, 42, 32, .09);
    object-fit: cover;
    transition: transform .35s ease, box-shadow .35s ease;
}

.home-collection-section .swiper-slide a:hover img {
    box-shadow: 0 1rem 2.6rem rgba(49, 42, 32, .16);
    transform: translateY(-4px);
}

.home-process-section {
    background: #fff;
}

.home-process-section .row > .col-lg-12:nth-child(2) > .row {
    gap: 1rem 0;
}

.home-process-card {
    border-right: 1px solid var(--home-border);
    padding: 1rem clamp(1rem, 2.2vw, 2.5rem);
    position:relative;
}

.home-process-number { color:#cbbba6; font-family:Georgia,"Times New Roman",serif; font-size:1rem; left:clamp(1rem,2.2vw,2.5rem); position:absolute; top:1.1rem; }

.home-process-card:last-of-type {
    border-right: 0;
}

.home-process-card img {
    height: 4.25rem;
    object-fit: contain;
    width: 4.25rem;
}

.home-process-card > div {
    align-items: center;
    background: var(--home-soft);
    border-radius: 50%;
    display: flex;
    height: 7rem;
    justify-content: center;
    margin-bottom: 1.35rem !important;
    width: 7rem;
}

.home-process-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
}

.home-process-card p {
    color: var(--home-muted);
    font-size: .84rem;
    line-height: 1.65;
}

.home-outline-btn {
    background: var(--home-ink);
    border: 1px solid var(--home-ink);
    color: #fff;
    min-width: 12rem;
}

.home-outline-btn:hover {
    background: var(--home-accent-dark);
    border-color: var(--home-accent-dark);
    color: #fff;
}

.home-review-section{background:#26211d;color:#fff;position:relative}.home-review-section:before{background:radial-gradient(circle at 85% 10%,rgba(190,145,85,.22),transparent 34%);content:"";inset:0;pointer-events:none;position:absolute}.home-review-section .home-content-shell{position:relative}.home-review-heading{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2.2rem}.home-review-heading .home-section-kicker{color:#d2a86e}.home-review-heading .home-section-title{color:#fff}.home-review-heading>p{color:#c8bfb5;font-size:.8rem;line-height:1.7;margin:0;max-width:27rem}.home-review-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.home-review-grid article{background:#fff;border-radius:.9rem;color:#29231e;display:flex;flex-direction:column;min-height:14rem;padding:1.5rem}.home-review-grid .home-review-featured{background:#a77d46;color:#fff;grid-row:span 2}.home-review-stars{color:#b68037;font-size:.72rem;letter-spacing:.13em}.home-review-featured .home-review-stars{color:#fff3d6}.home-review-grid h3{font-family:Georgia,serif;font-size:1.15rem;margin:1rem 0 .55rem}.home-review-grid>article>p{display:-webkit-box;font-size:.78rem;line-height:1.75;margin:0 0 1.2rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.home-review-featured>p{-webkit-line-clamp:10;font-size:1rem}.home-review-grid footer{align-items:center;display:flex;gap:.65rem;margin-top:auto}.home-review-grid footer>span{align-items:center;background:#eee7dc;border-radius:50%;display:flex;font-size:.68rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.home-review-featured footer>span{background:rgba(255,255,255,.18)}.home-review-grid footer strong,.home-review-grid footer small{display:block}.home-review-grid footer strong{font-size:.7rem}.home-review-grid footer small{font-size:.58rem;opacity:.68}
@media(max-width:991.98px){.home-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-review-grid .home-review-featured{grid-row:auto}}@media(max-width:575.98px){.home-review-heading{align-items:start;flex-direction:column}.home-review-grid{grid-template-columns:1fr}}

.home-product-section {
    background: var(--home-soft) !important;
    padding-inline: clamp(1rem, 2.6vw, 3.25rem);
}

.home-product-section .row:first-child {
    margin: 0 auto 1.6rem;
    max-width: 1800px;
}

.home-product-section .category-product {
    font-size: clamp(1.6rem, 2.5vw, 2.5rem);
    letter-spacing: -.03em;
    text-transform: capitalize;
}

.home-product-section .category-product::before,
.home-product-section .category-product::after {
    background: var(--home-accent);
    height: 1px;
    width: min(28%, 25rem);
}

.home-product-section .row a {
    color: var(--home-accent-dark);
    text-underline-offset: .25rem;
}

.home-wide-banner {
    margin: clamp(1rem, 2vw, 2rem) auto;
    max-width: 1800px;
    padding-inline: clamp(1rem, 2.6vw, 3.25rem);
}

.home-wide-banner figure {
    border-radius: 1rem;
    margin: 0;
    overflow: hidden;
}

.home-wide-banner img {
    display: block;
}

.home-contact-strip .row,
.home-custom-feature .row {
    align-items: center;
    margin-inline: auto;
    max-width: 1500px;
}

.home-contact-strip {
    background: linear-gradient(135deg, #f5efe6, #edf2ef);
}

.home-contact-strip h2 {
    font-size: clamp(1.7rem, 3vw, 3rem) !important;
    letter-spacing: -.04em;
    line-height: 1.15;
    margin-inline: auto;
    max-width: 64rem;
}

.home-contact-strip .fs-2,
.home-contact-strip .fs-3 {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
}

.home-contact-strip button,
.home-custom-feature button {
    border-color: var(--home-ink) !important;
    border-radius: .6rem !important;
    border-width: 1px !important;
    padding: .8rem 1.25rem;
}

.home-custom-feature img {
    border-radius: 1rem;
    max-height: 38rem;
    object-fit: cover;
    width: min(100%, 42rem) !important;
}

.home-custom-feature h2 {
    font-size: clamp(1.8rem, 3vw, 3rem);
    letter-spacing: -.04em;
}

.home-custom-feature .h2 {
    font-size: clamp(1.2rem, 2vw, 1.7rem);
}

.home-quote-section {
    padding-inline: clamp(1rem, 2.6vw, 3.25rem);
}

.home-quote-section .cta-bg {
    background-position: center;
    background-size: cover;
    border-radius: 1rem;
    min-height: 28rem;
    overflow: hidden;
    position: relative;
}

.home-quote-section .cta-bg::before {
    background: rgba(23, 19, 15, .6);
    content: "";
    inset: 0;
    position: absolute;
}

.home-quote-section .cta-content {
    max-width: 48rem;
    padding: 3rem 1.25rem;
    position: relative;
    width: 90% !important;
}

.home-quote-section .cta-content p {
    font-size: clamp(1rem, 1.7vw, 1.35rem) !important;
    line-height: 1.65;
}

.home-quote-section .cta-content button {
    border-radius: .6rem !important;
    padding: .8rem 1.3rem;
}

.home-specialize-section .card {
    background: transparent;
}

.home-specialize-section {
    background: #fff;
}

.home-specialize-section .home-content-shell {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-specialize-heading {
    grid-column: 1 / -1;
    margin-bottom: 1.5rem !important;
}

.home-specialize-section .home-content-shell > .row {
    align-content: start;
    background: var(--home-soft);
    border: 1px solid var(--home-border) !important;
    border-radius: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.home-specialize-section .home-content-shell > .row img {
    border-radius: 0;
    height: clamp(15rem, 25vw, 22rem);
    max-height: none;
    object-fit: cover;
    transition: transform .5s ease;
    width: 100%;
}

.home-specialize-section .home-content-shell > .row:hover img {
    transform: scale(1.025);
}

.home-specialize-section .home-content-shell > .row > div {
    margin-block: 0 !important;
    max-width: none;
    padding: 0 !important;
    width: 100%;
}

.home-specialize-section .home-content-shell > .row > div:has(h3) {
    padding: clamp(1.25rem, 2.3vw, 2rem) !important;
}

.home-specialize-section .home-content-shell > .row > div:has(img) {
    order: -1;
    overflow: hidden;
}

.home-specialize-section h3 a {
    color: var(--home-ink);
    font-size: clamp(1.25rem, 1.7vw, 1.65rem);
}

.home-specialize-section p.fs-5 {
    color: var(--home-muted);
    display: -webkit-box;
    font-size: .86rem !important;
    line-height: 1.7;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

.home-specialize-section .btn {
    background: var(--home-ink);
    border-radius: .55rem;
    font-size: .76rem;
    padding: .7rem 1rem;
}

.home-lead-section {
    background: var(--home-soft);
}

.home-lead-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(49, 42, 32, .06);
    margin: 0;
    padding: clamp(1.5rem, 4vw, 3.5rem);
}

.home-lead-card .form-control,
.home-lead-card .btn {
    border-radius: .55rem !important;
    min-height: 2.8rem;
}

.home-lead-card .btn {
    background: var(--home-ink);
    border-color: var(--home-ink);
}

.home-seo-section {
    background: linear-gradient(180deg, #fff, var(--home-soft));
    padding-top: clamp(3.5rem, 6vw, 6.5rem);
}

.home-guide-heading {
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    max-width: 62rem;
}

.home-guide-heading p {
    color: var(--home-muted);
    font-size: 1rem;
    line-height: 1.75;
    margin: 1rem 0 0;
    max-width: 48rem;
}

.home-guide-content {
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 1rem;
    color: var(--home-muted);
    line-height: 1.8;
    padding: clamp(1.25rem, 3vw, 3rem);
}

.home-guide-content > h1:first-child {
    font-size: clamp(1.55rem, 2.5vw, 2.3rem);
    margin-top: 0;
}

.home-guide-content h1,
.home-guide-content h2,
.home-guide-content h3 {
    color: var(--home-ink);
    letter-spacing: -.025em;
    margin-top: 1.6em;
}

@media (max-width: 991.98px) {
    .home-intro-copy { grid-template-columns:1fr; }
    .home-hero-grid,
    .home-hero-main,
    .home-hero-main .home-page-slider,
    .home-hero-main .swiper-wrapper,
    .home-hero-main .swiper-slide,
    .home-hero-main .about-box,
    .home-hero-media {
        min-height: 35rem;
    }

    .home-process-card {
        border-bottom: 1px solid var(--home-border);
        border-right: 0;
        padding-block: 2rem;
    }

    .home-process-card:last-of-type {
        border-bottom: 0;
    }

    .home-custom-feature .row > div:last-child {
        padding-inline: 1rem !important;
    }

    .home-specialize-section .home-content-shell > .row {
        gap: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .home-section {
        padding-block: 3.5rem;
    }

    .home-hero-grid,
    .home-hero-main,
    .home-hero-main .home-page-slider,
    .home-hero-main .swiper-wrapper,
    .home-hero-main .swiper-slide,
    .home-hero-main .about-box,
    .home-hero-media {
        min-height: 31rem;
    }

    .home-hero-copy {
        left: 1.25rem;
        padding-bottom: 1.7rem;
    }

    .home-hero-copy .slider-heading-2 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .home-trust-banner {
        border-radius: .65rem;
    }

    .home-intro-title { padding-left:1rem; }

    .home-trust-banner img {
        min-height: 5.5rem;
        object-fit: cover;
    }

    .home-product-section .category-product::before,
    .home-product-section .category-product::after {
        width: 12%;
    }

    .home-contact-strip .row {
        padding-inline: .25rem;
    }

    .home-specialize-section .home-content-shell > .row {
        padding: 1rem;
    }

    .home-lead-card .d-block {
        display: grid !important;
        gap: .65rem;
    }

    .home-lead-card .d-block > div,
    .home-lead-card .btn {
        margin: 0 !important;
        width: 100%;
    }

    .home-specialize-section .home-content-shell {
        grid-template-columns: 1fr;
    }

    .home-specialize-section .home-content-shell > .row {
        gap: 0;
        padding: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page *,
    .home-page *::before,
    .home-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
