
:root{
  --primary:#e4867a;
  --ink:#86203d;
  --muted:#727873;
  --cream:#f5f0e7;
  --paper:#fbfaf7;
  --sage:#667565;
  --gold:#b49a69;
  --line:rgba(31,36,33,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.75}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.preloader{position:fixed;inset:0;background:var(--paper);z-index:9999;display:grid;place-items:center;transition:.6s}
.preloader span{font-family:"Cormorant Garamond";font-size:50px;letter-spacing:.08em}
body.loaded .preloader{opacity:0;visibility:hidden}
.section-pad{padding:80px 0}

.section-title {
	text-align: center;
}
.eyebrow {
/*    display: flex;*/
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--sage);
    font-size:16px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}


.eyebrow span {
    width: 38px;
    height: 1px;
    background: currentColor;
}

.display-title {
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: 54px;
    font-weight: 600;
    line-height: .94;
    letter-spacing: -.035em;
    color: var(--ink);
	margin-bottom: 20px;
}


.display-title em {
    font-style: italic;

    font-weight: 500;

    color: var(--primary);
}





.topbar{background:var(--primary);color:#000;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:9px 0;font-weight: 600}
.topbar a{color:#fff}


.site-header {
    position: relative;
    width: 100%;
    z-index: 9999;
}

.main-nav {
    position: relative;
    width: 100%;
    background: #fbfaf7;
    border-bottom: 1px solid rgba(31,36,33,.13);
    z-index: 9999;
}

.site-header.scrolled .main-nav {
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
}


/* =========================================================
   NAV INNER
========================================================= */

.nav-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* =========================================================
   LOGO
========================================================= */

.navbar-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.navbar-brand img {
    width: 310px;
    height: auto;
    display: block;
}


/* =========================================================
   DESKTOP MENU
========================================================= */

.nav-menu {
    display: block;
}

.nav-list {
    display: flex;
    align-items: center;
    gap: 30px;

    margin: 0;
    padding: 0;

    list-style: none;
}

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


/* =========================================================
   NAV LINKS
========================================================= */

.nav-link {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 9px 0;

    border: 0;
    outline: 0;

    background: transparent;

    color: #1f2421;

    text-decoration: none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 15px;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

    white-space: nowrap;

    cursor: pointer;

    transition:
        color .25s ease;
}

.nav-link:hover,
.nav-link:focus {
    color: #fc5a6d;
}


/* =========================================================
   UNDERLINE
========================================================= */

.nav-link::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 1px;

    width: 0;
    height: 1px;

    background: #fc5a6d;

    transition: width .25s ease;
}

.nav-link:hover::before {
    width: 100%;
}


/* =========================================================
   COLLECTIONS BUTTON
========================================================= */

.dropdown-trigger {
    appearance: none;
    -webkit-appearance: none;
}


/* =========================================================
   ARROW
========================================================= */

.nav-arrow {
    width: 7px;
    height: 7px;

    display: inline-block;

    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;

    transform:
        rotate(45deg)
        translateY(-2px);

    transition:
        transform .25s ease;
}

.has-dropdown.open .nav-arrow {
    transform:
        rotate(225deg)
        translateY(-1px);
}


/* =========================================================
   DESKTOP DROPDOWN
========================================================= */

.nav-item.has-dropdown {
    position: relative;
}


/*
   VERY IMPORTANT:
   Do not use Bootstrap's dropdown positioning here.
*/

.nav-item.has-dropdown > .dropdown-menu {

    position: absolute !important;

    top: calc(100% + 8px) !important;

    left: 50% !important;

    display: block !important;

    width: 270px !important;

    min-width: 270px !important;

    margin: 0 !important;

    padding: 10px 0 !important;

    list-style: none !important;

    background: #fbfaf7 !important;

    border: 1px solid rgba(31,36,33,.13) !important;

    border-radius: 0 !important;

    box-shadow:
        0 20px 50px rgba(0,0,0,.15) !important;

    z-index: 999999 !important;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        translateX(-50%)
        translateY(10px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;
}


/* =========================================================
   DROPDOWN OPEN
========================================================= */

.nav-item.has-dropdown.open > .dropdown-menu {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;

    transform:
        translateX(-50%)
        translateY(0);
}


/* =========================================================
   DROPDOWN ITEMS
========================================================= */

.nav-item.has-dropdown
.dropdown-menu li {

    display: block !important;

    width: 100%;

    margin: 0;

    padding: 0;
}


/* =========================================================
   DROPDOWN LINKS
========================================================= */

.nav-item.has-dropdown
.dropdown-menu .dropdown-link {

    display: flex !important;

    align-items: center;

    width: 100%;

    min-height: 50px;

    padding:
        12px 22px !important;

    margin: 0;

    background:
        transparent !important;

    color:
        #1f2421 !important;

    text-decoration:
        none !important;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        15px;

    font-weight:
        600;

    letter-spacing:
        .03em;

    white-space:
        nowrap;

    transition:
        color .25s ease,
        background .25s ease,
        padding-left .25s ease;
}


/* remove underline */

.nav-item.has-dropdown
.dropdown-menu .dropdown-link::before {

    display: none !important;
}


/* hover */

.nav-item.has-dropdown
.dropdown-menu .dropdown-link:hover {

    color:
        #fc5a6d !important;

    background:
        rgba(31,36,33,.04) !important;

    padding-left:
        29px !important;
}


/* =========================================================
   CTA
========================================================= */

.nav-cta {
    margin-left: 5px;
}

.nav-button {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 44px;

    padding:
        0 20px;

    background:
        #1f2421;

    border:
        1px solid #1f2421;

    color:
        #fff;

    text-decoration:
        none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        13px;

    font-weight:
        700;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

    white-space:
        nowrap;

    transition:
        .3s ease;
}

.nav-button span {
    font-size: 17px;
}

.nav-button:hover {

    background:
        transparent;

    color:
        #1f2421;

    transform:
        translateY(-2px);
}


/* =========================================================
   HAMBURGER
========================================================= */

.nav-toggle {

    display: none;

    width: 44px;
    height: 44px;

    padding: 0;

    border:
        1px solid #1f2421;

    outline: none;

    background:
        transparent;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 5px;

    cursor: pointer;

    position: relative;

    z-index: 11000;
}

.nav-toggle span {

    display: block;

    width: 20px;

    height: 1px;

    background:
        #1f2421;

    transition:
        .3s ease;
}


/* =========================================================
   ACTIVE HAMBURGER
========================================================= */

.nav-toggle.active
span:nth-child(1) {

    transform:
        translateY(6px)
        rotate(45deg);
}

.nav-toggle.active
span:nth-child(2) {

    opacity: 0;
}

.nav-toggle.active
span:nth-child(3) {

    transform:
        translateY(-6px)
        rotate(-45deg);
}


/* =========================================================
   MOBILE OFFCANVAS
========================================================= */

.mobile-offcanvas {

    width:
        min(430px, 92vw) !important;

    background:
        #fbfaf7 !important;

    color:
        #1f2421;

    border-left:
        1px solid rgba(31,36,33,.13);

    z-index:
        12000 !important;
}


/* =========================================================
   OFFCANVAS HEADER
========================================================= */

.mobile-offcanvas .offcanvas-header {

    min-height:
        90px;

    padding:
        20px 25px;

    border-bottom:
        1px solid rgba(31,36,33,.13);

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;
}


/* =========================================================
   MOBILE LOGO
========================================================= */

.mobile-offcanvas-logo {

    display:
        inline-flex;

    align-items:
        center;

    text-decoration:
        none;
}

.mobile-offcanvas-logo img {

    width:
        230px;

    max-width:
        65vw;

    height:
        auto;

    display:
        block;
}


/* =========================================================
   CLOSE
========================================================= */

.mobile-close {

    position:
        relative;

    width:
        42px;

    height:
        42px;

    padding:
        0;

    border:
        1px solid #1f2421;

    background:
        transparent;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    cursor:
        pointer;
}

.mobile-close span {

    position:
        absolute;

    width:
        19px;

    height:
        1px;

    background:
        #1f2421;
}

.mobile-close span:first-child {
    transform: rotate(45deg);
}

.mobile-close span:last-child {
    transform: rotate(-45deg);
}

.mobile-close:hover {
    background: #1f2421;
}

.mobile-close:hover span {
    background: #fff;
}


/* =========================================================
   OFFCANVAS BODY
========================================================= */

.mobile-offcanvas .offcanvas-body {

    padding:
        20px 25px 35px;

    display:
        flex;

    flex-direction:
        column;

    min-height:
        calc(100vh - 90px);
}


/* =========================================================
   MOBILE NAV
========================================================= */

.mobile-nav-list {

    width:
        100%;

    border-top:
        1px solid rgba(31,36,33,.13);
}


/* =========================================================
   MOBILE LINK
========================================================= */

.mobile-nav-link {

    width:
        100%;

    min-height:
        65px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        12px 0;

    border:
        0;

    border-bottom:
        1px solid rgba(31,36,33,.13);

    background:
        transparent;

    color:
        #1f2421;

    text-decoration:
        none;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        27px;

    font-weight:
        500;

    line-height:
        1;

    cursor:
        pointer;

    transition:
        color .25s ease,
        padding-left .25s ease;
}

.mobile-nav-link:hover {

    color:
        #fc5a6d;

    padding-left:
        7px;
}


/* =========================================================
   MOBILE NUMBERS
========================================================= */

.mobile-nav-link small {

    color:
        #aaa49b;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        .08em;
}


/* =========================================================
   MOBILE COLLECTIONS
========================================================= */

.mobile-nav-dropdown {

    border-bottom:
        1px solid rgba(31,36,33,.13);
}

.mobile-nav-dropdown
.mobile-dropdown-toggle {

    border-bottom:
        0;
}


/* =========================================================
   DROPDOWN RIGHT
========================================================= */

.mobile-dropdown-right {

    display:
        flex;

    align-items:
        center;

    gap:
        18px;
}


/* =========================================================
   MOBILE ARROW
========================================================= */

.mobile-dropdown-arrow {

    width:
        9px;

    height:
        9px;

    border-right:
        1px solid currentColor;

    border-bottom:
        1px solid currentColor;

    transform:
        rotate(45deg);

    transition:
        transform .3s ease;
}

.mobile-nav-dropdown.open
.mobile-dropdown-arrow {

    transform:
        rotate(225deg);
}


/* =========================================================
   MOBILE SUBMENU
========================================================= */

.mobile-dropdown-menu {

    max-height:
        0;

    overflow:
        hidden;

    opacity:
        0;

    visibility:
        hidden;

    padding-left:
        12px;

    transition:
        max-height .4s ease,
        opacity .3s ease,
        visibility .3s ease;
}


/* OPEN */

.mobile-nav-dropdown.open
.mobile-dropdown-menu {

    max-height:
        500px;

    opacity:
        1;

    visibility:
        visible;
}


/* =========================================================
   SUBMENU LINK
========================================================= */

.mobile-dropdown-link {

    display:
        grid;

    grid-template-columns:
        30px 1fr 20px;

    align-items:
        center;

    gap:
        10px;

    width:
        100%;

    min-height:
        52px;

    padding:
        10px 0;

    color:
        #727873;

    border-bottom:
        1px solid rgba(31,36,33,.08);

    text-decoration:
        none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        14px;

    font-weight:
        600;

    transition:
        .25s ease;
}

.mobile-dropdown-link:last-child {
    border-bottom: 0;
}

.mobile-dropdown-link:hover {

    color:
        #fc5a6d;

    padding-left:
        7px;
}


/* =========================================================
   SUBMENU NUMBER
========================================================= */

.dropdown-number {

    color:
        #aaa49b;

    font-size:
        11px;

    font-weight:
        700;
}


/* =========================================================
   SUBMENU ICON
========================================================= */

.mobile-dropdown-link i {

    color:
        #fc5a6d;

    opacity:
        0;

    transform:
        translateX(-5px);

    transition:
        .25s ease;
}

.mobile-dropdown-link:hover i {

    opacity:
        1;

    transform:
        translateX(0);
}


/* =========================================================
   MOBILE CTA
========================================================= */

.mobile-nav-cta {

    margin-top:
        auto;

    padding-top:
        40px;
}

.mobile-nav-cta > span {

    display:
        block;

    margin-bottom:
        12px;

    color:
        #aaa49b;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        .15em;
}

.mobile-nav-cta a {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    min-height:
        56px;

    padding:
        0 20px;

    background:
        #1f2421;

    border:
        1px solid #1f2421;

    color:
        #fff;

    text-decoration:
        none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

    transition:
        .3s ease;
}

.mobile-nav-cta a:hover {

    background:
        transparent;

    color:
        #1f2421;
}


/* =========================================================
   MOBILE BREAKPOINT
========================================================= */

@media (max-width: 991.98px) {

    .nav-inner {
        min-height: 70px;
    }


    .navbar-brand img {
        width: 250px;
    }


    /* HIDE DESKTOP MENU */

    .nav-menu {
        display: none !important;
    }


    /* SHOW HAMBURGER */

    .nav-toggle {
        display: flex;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767.98px) {

    .navbar-brand img {
        width: 220px;
    }

    .mobile-nav-link {
        font-size: 25px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .nav-inner {
        min-height: 65px;
    }


    .navbar-brand img {
        width: 195px;
    }


    .nav-toggle {
        width: 40px;
        height: 40px;
    }


    .nav-toggle span {
        width: 18px;
    }


    .mobile-offcanvas {
        width: 90vw !important;
    }


    .mobile-offcanvas
    .offcanvas-header {
        min-height: 78px;
        padding: 18px 20px;
    }


    .mobile-offcanvas-logo img {
        width: 190px;
    }


    .mobile-close {
        width: 38px;
        height: 38px;
    }


    .mobile-offcanvas
    .offcanvas-body {
        min-height:
            calc(100vh - 78px);

        padding:
            18px 20px 30px;
    }


    .mobile-nav-link {
        min-height: 60px;
        font-size: 24px;
    }

}


/* =========================================================
   VERY SMALL
========================================================= */

@media (max-width: 380px) {

    .navbar-brand img {
        width: 175px;
    }

    .nav-toggle {
        width: 38px;
        height: 38px;
    }

    .mobile-offcanvas
    .offcanvas-header {
        padding: 16px;
    }

    .mobile-offcanvas
    .offcanvas-body {
        padding-left: 16px;
        padding-right: 16px;
    }

}

/* =========================================================
   PREMIUM ABOUT SECTION
========================================================= */

.about-premium-section {
    position: relative;
    padding: 80px 0;
    background: #fbfaf7;
    overflow: hidden;
}


/* subtle background detail */

.about-premium-section::before {
    content: "CRAFT";
    position: absolute;
    right: -50px;
    top: 80px;

    font-family: "Cormorant Garamond", serif;
    font-size: 180px;
    font-weight: 600;

    color: rgba(31, 36, 33, 0.025);

    letter-spacing: .05em;
    pointer-events: none;
}


/* =========================================================
   IMAGE AREA
========================================================= */

.about-visual {
    position: relative;
    padding: 0 55px 55px 0;
}


/* Main image */

.about-main-image {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
    background: #e9e3d7;
}


.about-main-image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0) 55%,
            rgba(0,0,0,.25)
        );

    pointer-events: none;
}


.about-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition:
        transform 1s cubic-bezier(.2,.7,.2,1);
}


.about-visual:hover .about-main-image img {
    transform: scale(1.035);
}


/* =========================================================
   SMALL FLOATING IMAGE
========================================================= */

.about-small-image {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 245px;
    height: 270px;

    padding: 9px;

    background: #fbfaf7;

    box-shadow:
        0 20px 50px rgba(0,0,0,.12);
}


.about-small-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   LOCATION BADGE
========================================================= */

.about-badge {
    position: absolute;

    left: -25px;
    bottom: 70px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 14px 22px;

    background: #272d28;
    color: #fff;

    box-shadow:
        0 15px 40px rgba(0,0,0,.18);
}


.badge-icon {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255,255,255,.25);

    color: #d4b67a;

    font-size: 18px;
}


.about-badge strong,
.about-badge small {
    display: block;
}


.about-badge strong {
    font-size:16px;
    letter-spacing: .14em;
}


.about-badge small {
    margin-top: 3px;

    color: #aeb5ae;

    font-size:16px;
    letter-spacing: .16em;
}


/* =========================================================
   NUMBER
========================================================= */

.about-number {
    position: absolute;

    right: 25px;
    top: 25px;

    font-family: "Cormorant Garamond", serif;

    font-size: 18px;

    color: #fff;

    z-index: 3;

    letter-spacing: .1em;
}


/* =========================================================
   CONTENT
========================================================= */

.about-content {
    position: relative;

    padding-left: 25px;
}


.about-eyebrow {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

    color: var(--sage);

    font-size:16px;
    font-weight: 700;

    letter-spacing: .2em;

    text-transform: uppercase;
}


.about-eyebrow span {
    width: 38px;
    height: 1px;

    background: currentColor;
}


/* =========================================================
   TITLE
========================================================= */

.about-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(48px, 5vw, 74px);

    font-weight: 600;

    line-height: .94;

    letter-spacing: -.035em;

    color: var(--ink);
}


.about-title em {
    font-style: italic;

    font-weight: 500;

    color: var(--primary);
}


/* =========================================================
   TEXT
========================================================= */

.about-lead {
    max-width: 610px;

    margin: 30px 0 17px;

    font-family: "Cormorant Garamond", serif;

    font-size: 26px;

    line-height: 1.35;

    color: var(--ink);
}


.about-description {
    max-width: 610px;

    margin-bottom: 30px;

    color: var(--muted);

    font-size:16px;

    line-height: 1.8;
}


/* =========================================================
   FEATURES
========================================================= */

.about-features {
    display: grid;

    grid-template-columns: 1fr 1fr;

    border-top: 1px solid var(--line);

    margin-top: 28px;
}


.about-feature {
    display: flex;

    gap: 14px;

    padding: 21px 20px 21px 0;

    border-bottom: 1px solid var(--line);
}


.about-feature:nth-child(odd) {
    border-right: 1px solid var(--line);

    padding-right: 20px;
}


.about-feature:nth-child(even) {
    padding-left: 20px;
}


.feature-icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(31,36,33,.15);

    color: var(--primary);

    font-size: 16px;

    transition: .3s;
}


.about-feature:hover .feature-icon {
    background: var(--primary);

    color: #fff;

    transform: translateY(-3px);
}


.about-feature h4 {
    margin: 0 0 4px;

    font-family: "Cormorant Garamond", serif;

    font-size: 22px;

    line-height: 1.1;
}


.about-feature p {
    margin: 0;

    color: var(--muted);

    font-size:16px;

    line-height: 1.55;
}


/* =========================================================
   BOTTOM AREA
========================================================= */

.about-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 35px;

    gap: 25px;
}


.about-link {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding-bottom: 8px;

    border-bottom: 1px solid var(--ink);

    font-size:16px;

    font-weight: 700;

    letter-spacing: .1em;

    text-transform: uppercase;

    transition: .3s;
}


.about-link span {
    width: 30px;
    height: 30px;

    display: grid;
    place-items: center;

    border: 1px solid var(--ink);

    transition: .3s;
}


.about-link:hover {
    color: var(--primary);
}


.about-link:hover span {
    background: var(--primary);

    border-color: var(--primary);

    color: #fff;

    transform: rotate(45deg);
}


/* =========================================================
   SIGNATURE
========================================================= */

.about-signature {
    display: flex;

    align-items: center;

    gap: 9px;

    opacity: .65;
}


.about-signature span {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border: 1px solid var(--ink);

    font-family: "Cormorant Garamond", serif;

    font-size: 19px;

    font-weight: 700;
}


.about-signature small {
    font-size: 7px;

    line-height: 1.3;

    letter-spacing: .15em;
}


/* =========================================================
   REVEAL ANIMATION
========================================================= */

.about-premium-section .reveal {
    opacity: 0;

    transform: translateY(35px);

    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2,.7,.2,1);
}


.about-premium-section .reveal.visible {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .about-premium-section {
        padding: 90px 0;
    }

    .about-content {
        padding-left: 0;
    }

    .about-main-image {
        height: 580px;
    }

    .about-title {
        font-size: 60px;
    }

    .about-badge {
        left: 15px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .about-premium-section {
        padding: 70px 0;
    }

    .about-premium-section::before {
        display: none;
    }

    .about-visual {
        padding: 0 25px 45px 0;
    }

    .about-main-image {
        height: 460px;
    }

    .about-small-image {
        width: 145px;
        height: 170px;
    }

    .about-badge {
        left: 0;
        bottom: 55px;

        padding: 10px 14px;
    }

    .badge-icon {
        width: 32px;
        height: 32px;
    }

    .about-title {
        font-size: 50px;
    }

    .about-lead {
        font-size: 23px;
    }

    .about-features {
        grid-template-columns: 1fr;
    }

    .about-feature:nth-child(odd) {
        border-right: 0;

        padding-right: 0;
    }

    .about-feature:nth-child(even) {
        padding-left: 0;
    }

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

    .about-signature {
        display: none;
    }

}
.hero-section{height:min(790px,calc(100vh - 95px));min-height:450px;background:#333}
.hero-slider,.hero-slide{height:100%}
.hero-slide{position:relative;background-size:cover;background-position:right}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,17,.76),rgba(18,20,17,.18) 65%,rgba(18,20,17,.1))}
.hero-slide .container{z-index:2}
.hero-content{color:#fff;max-width:740px;padding-top:40px}
.hero-content h1{font-family:"Cormorant Garamond";font-size:clamp(58px,7vw,104px);line-height:.86;letter-spacing:-.035em;margin:0 0 28px}
.hero-content p{font-size:17px;color:#eee;max-width:600px}
.hero-actions{display:flex;gap:20px;align-items:center;margin-top:32px}
.btn{font-size:16px;font-weight:700;text-transform:uppercase;border-radius:0;padding:13px 22px}
.btn-accent{background:var(--ink);color:#fff;border:1px solid var(--gold)}
.btn-accent:hover{background:#000;border-color:#fff;color:#fff}
.btn-link-light{background:var(--gold);color:#fff;border:1px solid var(--gold)}
.btn-link-light:hover{background:#fff;border-color:#fff;color:#1d211d}
.hero-note{position:absolute;bottom:45px;right:20px;color:#fff;font-size:16px;letter-spacing:.15em;z-index:3}
.hero-note span{color:var(--gold);margin-right:8px}
.hero-controls{position:absolute;bottom:36px;right:calc(50% - 570px);display:flex;align-items:center;gap:20px;z-index:5}
.hero-controls .swiper-button-prev,.hero-controls .swiper-button-next{position:static;margin:0;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);color:#fff}
.hero-controls .swiper-button-prev:after,.hero-controls .swiper-button-next:after{font-size:16px}
.hero-pagination{position:static;width:auto!important;color:#fff;display:flex;gap:5px}
.hero-pagination .swiper-pagination-bullet{background:#fff;opacity:.4}
.hero-pagination .swiper-pagination-bullet-active{opacity:1}


.feature-strip{background:var(--primary);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-item{display:flex;gap:16px;align-items:center;padding:25px 25px;border-right:1px solid var(--line)}
.feature-item:last-child{border:0}
.feature-no{font-family:"Cormorant Garamond";font-size:34px;color:#fff}
.feature-item strong,.feature-item small{display:block}
.feature-item strong{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color: #000}
.feature-item small{font-size:16px;color:var(--cream)}

.section-head{justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px;text-align: center;}
.section-head>p{color:var(--muted);margin:0}
.collection-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.collection-card{height:400px;position:relative;overflow:hidden;color:#fff;display:block}
.collection-large{grid-row:span 2;height:818px}
.collection-wide{grid-column:1/-1;height:390px}
.collection-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}

.collection-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75))}
.collection-card:hover .collection-image{transform:scale(1.05)}
.collection-content{position:absolute;left:30px;right:30px;bottom:28px;z-index:2}
.collection-content span{font-size:16px;letter-spacing:.16em;color:#e5d3a9}
.collection-content h3{font-family:"Cormorant Garamond";font-size:42px;line-height:1;margin:8px 0}
.collection-content p{font-size:16px;margin:0;color:#eee;max-width:500px}
.collection-content i{position:absolute;right:0;bottom:3px;font-size:20px}

.slider-arrows{display:flex;gap:8px}
.slider-arrows button{width:48px;height:48px;border:1px solid var(--line);background:transparent}
.slider-arrows button:hover{background:var(--ink);color:#fff}

.product-slide{background:var(--cream)}
.product-image{height:410px;background-size:cover;background-position:center}
.product-meta{padding:22px 24px 28px}
.product-meta span{font-size:16px;letter-spacing:.16em;color:var(--primary);font-weight:700}
.product-meta h3{font-family:"Cormorant Garamond";font-size:29px;margin:8px 0 5px}
.product-meta p{font-size:16px;color:var(--muted);margin:0}

.why-section{background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7)), url("../images/hero-1.jpg") center center / cover no-repeat;color:#fff;}
.light-copy{color:#c7cbc3;max-width:520px;margin-top:25px}
.why-list{border-top:1px solid rgba(255,255,255,.16)}
.why-item{display:grid;grid-template-columns:50px 1fr 25px;gap:15px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start}
.why-item>span{font-family:"Cormorant Garamond";font-size:22px;color:var(--gold)}
.why-item h3{font-family:"Cormorant Garamond";font-size:29px;margin:0 0 6px}
.why-item p{color:#aeb5ae;font-size:16px;max-width:520px;margin:0}
.why-item i{color:var(--gold)}

.process-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}
.process-card{min-height:260px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.process-card span{font-family:"Cormorant Garamond";font-size:22px;color:var(--primary)}
.process-card h3{font-family:"Cormorant Garamond";font-size:34px;margin:48px 0 10px}
.process-card p{font-size:16px;color:var(--muted);max-width:230px}

.cta-section{background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/hero-2.jpg") center center / cover no-repeat;color:#fff;padding:70px 0}
.cta-box{background:var(--cream);padding:65px 75px;color:#000;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-box h2{font-family:"Cormorant Garamond";font-size:clamp(50px,6vw,80px);line-height:.9;margin:0}
.cta-box p{color:#000;max-width:810px;margin:22px 0 0}

/* =========================================================
   PREMIUM CONTACT SECTION
========================================================= */

.contact-section {

    position: relative;

    padding: 130px 0;

    background: #f2eee7;

    overflow: hidden;

}

.contact-wrap {

    position: relative;

    display: grid;

    grid-template-columns: .85fr 1.15fr;

    min-height: 700px;

    background: #fbfaf7;

    box-shadow:
        0 30px 80px rgba(31,36,33,.08);

}


.contact-intro {

    position: relative;

    padding: 70px 55px;

    background: #202521;

    color: #fff;

    overflow: hidden;

}


/* background typography */

.contact-intro::before {

    content: "RR";

    position: absolute;

    right: -35px;

    bottom: -70px;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 280px;

    line-height: .8;

    color: rgba(255,255,255,.025);

    pointer-events: none;

}


/* =========================================================
   EYEBROW
========================================================= */

.contact-eyebrow {

    position: relative;

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 30px;

    color: #c58b67;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .18em;

}


.contact-eyebrow span {

    display: block;

    width: 28px;

    height: 1px;

    background: #c58b67;

}


/* =========================================================
   TITLE
========================================================= */

.contact-title {

    position: relative;

    max-width: 500px;

    margin: 0;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: clamp(55px, 5vw, 82px);

    line-height: .86;

    font-weight: 400;

    letter-spacing: -.04em;

}


.contact-title em {

    display: block;

    color: #c58b67;

    font-weight: 400;

}


/* =========================================================
   DESCRIPTION
========================================================= */

.contact-description {

    position: relative;

    max-width: 420px;

    margin: 35px 0 0;

    color: rgba(255,255,255,.62);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    line-height: 1.9;

}


/* =========================================================
   CONTACT INFO
========================================================= */

.contact-info {

    position: relative;

    margin-top: 55px;

    display: grid;

    gap: 24px;

}


.contact-info-item {

    display: flex;

    align-items: flex-start;

    gap: 16px;

}


.contact-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border: 1px solid rgba(255,255,255,.18);

    color: #c58b67;

}


.contact-icon i {

    font-size: 16px;

}


.contact-info-label {

    display: block;

    margin-bottom: 5px;

    color: #c58b67;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .15em;

}


.contact-info strong {

    display: block;

    color: #fff;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;

}


.contact-info small {

    display: block;

    margin-top: 3px;

    color: rgba(255,255,255,.45);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.contact-note {

    position: absolute;

    left: 55px;

    bottom: 38px;

    display: flex;

    align-items: center;

    gap: 14px;

}


.contact-note > span {

    width: 42px;

    height: 42px;

    display: grid;

    place-items: center;

    border: 1px solid rgba(255,255,255,.2);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 17px;

}


.contact-note p {

    margin: 0;

    color: rgba(255,255,255,.38);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    line-height: 1.6;

    letter-spacing: .08em;

    text-transform: uppercase;

}


/* =========================================================
   RIGHT FORM
========================================================= */

.contact-form-wrap {

    padding: 65px 55px 45px;

    background: #fbfaf7;

}


/* =========================================================
   FORM HEADING
========================================================= */

.form-heading {

/*
    display: flex;

    align-items: flex-end;
*/

/*    justify-content: space-between;*/

    gap: 30px;

    padding-bottom: 30px;

    border-bottom: 1px solid var(--line, #dedbd4);

}


.form-heading > div {

    display: flex;

    align-items: center;

    gap: 14px;

}


.form-number {

    width: 38px;

    height: 38px;

    display: grid;

    place-items: center;

    border: 1px solid var(--ink);

    color: var(--ink);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 18px;

}


.form-label {

    color: var(--primary, #9b5d3b);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .16em;

}


.form-heading p {

/*    max-width: 230px;*/

    margin: 0;

    color: var(--muted, #777);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    line-height: 1.6;

}


/* =========================================================
   FORM
========================================================= */

.enquiry-form {

    margin-top: 0;

}


/* =========================================================
   FIELD
========================================================= */

.form-field {

    position: relative;

    min-height: 55px;

    padding: 25px 25px 18px 38px;

    border-bottom: 1px solid var(--line, #dedbd4);

    border-right: 1px solid var(--line, #dedbd4);

}


.form-field:nth-child(even) {

    border-right: 0;

}


/* full width */

.form-field.col-12 {

    border-right: 0;

}


/* =========================================================
   FIELD NUMBER
========================================================= */

.field-number {

    position: absolute;

    left: 0;

    top: 27px;

    color: #b1aba1;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

}


/* =========================================================
   LABEL
========================================================= */

.form-field label {

    display: block;

    margin-bottom: 8px;

    color: #6e6961;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .13em;

    text-transform: uppercase;

}


/* =========================================================
   INPUT
========================================================= */

.form-field input,
.form-field select,
.form-field textarea {

    width: 100%;


    padding: 0;

    border: 0;

    outline: none;

    border-radius: 0;

    background: transparent;

    color: var(--ink);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

}


/* placeholder */

.form-field input::placeholder,
.form-field textarea::placeholder {

    color: #aaa49b;

}


/* select */

.form-field select {

    cursor: pointer;

    appearance: none;

    -webkit-appearance: none;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #888 50%
        ),
        linear-gradient(
            135deg,
            #888 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 8px) 50%,
        calc(100% - 3px) 50%;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;

}


/* textarea */

.message-field {

    min-height: 145px;

}


.form-field textarea {

    resize: vertical;

    min-height: 70px;

    line-height: 1.6;

}


/* =========================================================
   FIELD FOCUS
========================================================= */

.form-field:focus-within {

    background:
        rgba(155,93,59,.025);

}


.form-field:focus-within .field-number {

    color: var(--primary, #9b5d3b);

}


/* =========================================================
   SUBMIT AREA
========================================================= */

.form-submit {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    padding-top: 28px;

}


/* =========================================================
   FORM NOTE
========================================================= */

.form-submit-note {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #99938b;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    line-height: 1.5;

}


.form-submit-note i {

    color: var(--primary, #9b5d3b);

    font-size:16px;

}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.contact-submit {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    min-height: 52px;

    padding: 0 25px;

    border: 1px solid var(--ink);

    background: var(--ink);

    color: #fff;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .13em;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;

}


.contact-submit i {

    font-size:16px;

}


.contact-submit:hover {

    background: transparent;

    color: var(--ink);

    transform: translateY(-2px);

}


/* =========================================================
   SUCCESS
========================================================= */

.form-success {

    display: none;

    align-items: center;

    gap: 12px;

    margin-top: 20px;

    padding: 14px 16px;

    background: #e7eee7;

    color: #465646;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    line-height: 1.5;

}


.form-success.show {

    display: flex;

}


.form-success i {

    font-size: 18px;

    flex-shrink: 0;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .contact-section {

        padding: 90px 0;

    }


    .contact-wrap {

        grid-template-columns: 1fr;

    }


    .contact-intro {

        min-height: 600px;

    }


    .contact-form-wrap {

        padding: 50px 35px 40px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .contact-section {

        padding: 65px 0;

    }


    .contact-intro {

        padding: 50px 22px 110px;

        min-height: auto;

    }


    .contact-title {

        font-size: 53px;

    }


    .contact-description {

        font-size:16px;

    }


    .contact-info {

        margin-top: 40px;

    }


    .contact-note {

        left: 22px;

        bottom: 30px;

    }


    .contact-form-wrap {

        padding: 40px 20px 30px;

    }


    .form-heading {

        display: block;

    }


    .form-heading p {

        margin-top: 18px;

    }


    .form-field {

        min-height: 100px;

        padding-left: 30px;

        border-right: 0;

    }


    .form-submit {

        align-items: flex-start;

        flex-direction: column;

    }


    .contact-submit {

        width: 100%;

    }

}

.footer{background:#1e231f;color:#d8dcd5;padding:80px 0 20px}
.footer-brand{color:#fff}
.footer p{color:#929990;max-width:400px;margin-top:25px}
.footer h6{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:16px;margin-bottom:20px}
.footer a:not(.navbar-brand){display:block;color:#929990;font-size:16px;margin-bottom:8px}
.footer a:not(.navbar-brand):hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#747b72;font-size:16px;text-transform:uppercase;letter-spacing:.08em}
.back-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;background:var(--ink);color:#fff;display:grid;place-items:center;z-index:30;opacity:0;visibility:hidden;transition:.3s}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--primary);color:#fff}
.offcanvas{background:var(--paper)}
.offcanvas-body>a:not(.btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);font-family:"Cormorant Garamond";font-size:28px}
.navbar-toggler{border:0}
.navbar-toggler:focus{box-shadow:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:991.98px){
  .topbar .container>span:nth-child(2){display:none}
.section-pad{padding:80px 0}
.hero-section{min-height:650px;height:calc(100vh - 95px)}
  .hero-controls{left:25px}
.collection-grid{grid-template-columns:1fr}
.collection-large{grid-row:auto;height:520px}
.collection-wide{grid-column:auto}
.section-head{display:block}
.section-head>p{margin-top:20px}
  .cta-box{padding:45px 35px;display:block}
.cta-box .btn{margin-top:30px}
.footer-bottom{display:block}
.footer-bottom span{display:block;margin-top:7px}
}
@media(max-width:575.98px){
  .topbar{display:none}
.main-nav{padding:13px 0}
.hero-content h1{font-size:57px}
.hero-content p{font-size:16px}
.hero-actions{display:block}
.hero-actions .btn{display:inline-block;margin-right:12px}
.hero-note{right:20px;bottom:28px}
.hero-controls{bottom:20px}
  .feature-item{padding:18px 12px}
.feature-item strong{font-size:16px}
.feature-item small{font-size:9px}
  .lead-copy{font-size:23px}
.display-title{font-size:49px}
.collection-card,.collection-large,.collection-wide{height:360px}
.collection-large{height:460px}
  .product-image{height:340px}
.why-item{grid-template-columns:35px 1fr 18px}
.why-item h3{font-size:25px}
.process-card{min-height:220px}
.process-card h3{margin-top:30px}
.cta-box h2{font-size:54px}
}

/* =========================================================
   HERITAGE / TRADITIONAL CRAFT SECTION
========================================================= */

.heritage-section {

    position: relative;

    padding: 80px 0;

    background: var(--primary);

    color: #fff;

    overflow: hidden;

}


/* Background typography */

.heritage-section::before {

    content: "CRAFT";

    position: absolute;

    right: -35px;

    bottom: -65px;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 260px;

    line-height: .8;

    font-weight: 600;

    color: rgba(255,255,255,.025);

    pointer-events: none;

}


/* =========================================================
   TOP
========================================================= */

.heritage-head {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(680px, .7fr);

    gap: 80px;

    align-items: end;

    margin-bottom: 70px;

}


.heritage-eyebrow {

    display: block;

    margin-bottom: 22px;

    color: #000;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: .18em;

}


.heritage-title {

    max-width: 800px;

    margin: 0;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 54px;

    line-height: .82;

    font-weight: 600;

/*    letter-spacing: -.045em;*/

}


.heritage-title span {

    color: #000;

    font-style: italic;
	font-weight: 400;

}


.heritage-intro {

    padding-bottom: 5px;

}


.heritage-intro p {

    margin: 0 0 25px;

    color: rgba(255,255,255, 1);

/*    font-family: "DM Sans", Arial, sans-serif;*/

    font-size: 16px;

    line-height: 1.9;

}


.heritage-link {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255,255,255,.5);

    color: #fff;

    text-decoration: none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

}


.heritage-link span {

    color: #fff;

    font-size: 16px;

}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.heritage-layout {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, .92fr)
        minmax(0, 1.08fr);

    min-height: 690px;

}


/* =========================================================
   IMAGE
========================================================= */

.heritage-visual {

    position: relative;

    min-height: 690px;

    overflow: hidden;

}


.heritage-visual img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 1s cubic-bezier(.2,.7,.2,1);

}


.heritage-visual:hover img {

    transform: scale(1.05);

}


/* image gradient */

.heritage-visual::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.68),
            rgba(0,0,0,0) 65%
        );

    pointer-events: none;

}


/* =========================================================
   IMAGE CONTENT
========================================================= */

.heritage-visual-content {

    position: absolute;

    left: 35px;

    right: 35px;

    bottom: 32px;

    z-index: 2;

}


.heritage-visual-content span {

    display: block;

    margin-bottom: 12px;

    color: rgba(255,255,255,.7);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .18em;

}


.heritage-visual-content strong {

    display: block;

    max-width: 400px;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 46px;

    line-height: .9;

    font-weight: 400;

}


.heritage-visual-content em {

    color: #d19a75;

    font-weight: 400;

}


/* =========================================================
   STAMP
========================================================= */

.heritage-stamp {

    position: absolute;

    top: 28px;

    right: 28px;

    z-index: 3;

    width: 82px;

    height: 82px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.55);

    border-radius: 50%;

    transform: rotate(-12deg);

}


.heritage-stamp span {

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 700;

}


.heritage-stamp small {

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    letter-spacing: .15em;

}


/* =========================================================
   RIGHT LIST
========================================================= */

.heritage-list {

    background: #f5f1ea;

    color: #202521;

}


/* =========================================================
   CRAFT ITEM
========================================================= */

.heritage-item {

    position: relative;

    display: grid;

    grid-template-columns: 48px 1fr 30px;

    align-items: center;

    gap: 18px;

    min-height: 115px;

    padding: 15px 38px;

    border-bottom: 1px solid #ded8ce;

    color: #202521;

    text-decoration: none;

    overflow: hidden;

    transition:
        color .35s ease,
        padding-left .35s ease;

}


/* hover background */

.heritage-item::before {

    content: "";

    position: absolute;

    inset: 0;

    background: #202521;

    transform: scaleX(0);

    transform-origin: left;

    transition:
        transform .4s cubic-bezier(.2,.7,.2,1);

    z-index: 0;

}


.heritage-item:hover::before {

    transform: scaleX(1);

}


.heritage-item > * {

    position: relative;

    z-index: 1;

}


.heritage-item:hover {

    color: #fff;

    padding-left: 48px;

}


/* =========================================================
   NUMBER
========================================================= */

.heritage-count {

    color: var(--primary);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 22px;

    font-weight: 700;

    transition: color .3s ease;

}


.heritage-item:hover .heritage-count {

    color: #c58b67;

}


/* =========================================================
   CONTENT
========================================================= */

.heritage-item-content small {

    display: block;

    margin-bottom: 5px;

    color: #999187;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .14em;

    transition: color .3s ease;

}


.heritage-item:hover
.heritage-item-content small {

    color: #c58b67;

}


.heritage-item h3 {

    margin: 0;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 27px;

    line-height: 1;

    font-weight: 500;

}


.heritage-item h3 span {

    font-style: italic;

}


/* =========================================================
   ARROW
========================================================= */

.heritage-arrow {

    color: #9b5d3b;

    font-size: 17px;

    opacity: .35;

    transform: translateX(-6px);

    transition:
        opacity .3s ease,
        transform .3s ease;

}


.heritage-item:hover .heritage-arrow {

    opacity: 1;

    transform: translateX(0);

    color: #c58b67;

}


/* =========================================================
   BOTTOM STRIP
========================================================= */

.heritage-bottom {

    position: relative;

    z-index: 2;
	background: var(--ink);

    display: grid;

    grid-template-columns:
        1fr 1fr 1fr auto;

    align-items: center;

    gap: 30px;


}


.heritage-bottom-item {

    display: flex;

    align-items: center;
    gap: 12px;
	border-left: 1px solid var(--gold);
    padding: 28px;
	text-align: center;
}


.heritage-bottom-item strong {

    color: #fff;
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 20px;

    font-weight: 500;

}


.heritage-bottom-item span {

    color: #fff;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

}


.heritage-bottom-cta {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #fff;

    text-decoration: none;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:16px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

}


.heritage-bottom-cta span {

    color: #c58b67;

    font-size:16px;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .heritage-section {

        padding: 100px 0;

    }


    .heritage-head {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .heritage-layout {

        grid-template-columns: 1fr;

    }


    .heritage-visual {

        min-height: 560px;

    }


    .heritage-bottom {

        grid-template-columns: 1fr 1fr;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .heritage-section {

        padding: 75px 0;

    }


    .heritage-title {

        font-size: 56px;

    }


    .heritage-visual {

        min-height: 430px;

    }


    .heritage-visual-content {

        left: 20px;

        right: 20px;

        bottom: 22px;

    }


    .heritage-visual-content strong {

        font-size: 38px;

    }


    .heritage-stamp {

        width: 68px;

        height: 68px;

        top: 18px;

        right: 18px;

    }


    .heritage-item {

        grid-template-columns:
            32px 1fr 20px;

        min-height: 100px;

        padding: 14px 20px;

    }


    .heritage-item:hover {

        padding-left: 25px;

    }


    .heritage-item h3 {

        font-size: 23px;

    }


    .heritage-bottom {

        grid-template-columns: 1fr;

        gap: 18px;

    }

}

/* =========================================================
   ABOUT BREADCRUMB
========================================================= */

.about-breadcrumb {
    position: relative;
    min-height: 350px;

    display: flex;
    align-items: flex-end;

    padding: 90px 0 55px;

    background:
        url("../images/about-breadcrumb.jpg")
        center bottom / cover no-repeat;

    overflow: hidden;
}

.about-breadcrumb-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.68) 0%,
            rgba(0,0,0,.38) 50%,
            rgba(0,0,0,.15) 100%
        );
}

.about-breadcrumb-content {
    position: relative;
    z-index: 2;
    color: #fff;
}

.about-breadcrumb-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    font-size:16px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    margin-bottom: 20px;
}

.about-breadcrumb-label::before {
    content: "";
    width: 32px;
    height: 1px;
    background: currentColor;
}

.about-breadcrumb h1 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(52px, 6vw, 88px);
    line-height: .9;
    font-weight: 500;
    letter-spacing: -2px;
}

.about-breadcrumb h1 em {
    font-weight: 400;
}

.about-breadcrumb p {
    max-width: 500px;

    margin: 25px 0 0;

    font-size:16px;
    line-height: 1.8;

    color: rgba(255,255,255,.78);
}

.about-breadcrumb-nav {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;

    color: rgba(255,255,255,.7);

    font-size:16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.about-breadcrumb-nav a {
    color: rgba(255,255,255,.65);
    text-decoration: none;
    transition: .3s ease;
}

.about-breadcrumb-nav a:hover {
    color: #fff;
}

.about-breadcrumb-nav strong {
    color: #fff;
    font-weight: 500;
}


/* =========================================================
   ABOUT MAIN
========================================================= */

.about-main-section {
    padding: 80px 0 0px;
    background: var(--paper, #fbfaf7);
}


/* =========================================================
   INTRO
========================================================= */

.about-intro-row {
    margin-bottom: 80px;
}

.about-image-wrap {
    position: relative;
    padding-right: 45px;
}

.about-image-main {
    position: relative;
    overflow: hidden;

    aspect-ratio: 4 / 5;

    background: #eee;
}

.about-image-main::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.18)
        );

    pointer-events: none;
}

.about-image-main img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .8s ease;
}

.about-image-wrap:hover .about-image-main img {
    transform: scale(1.04);
}

.about-image-tag {
    position: absolute;

    right: 0;
    bottom: 45px;

    width: 155px;
    height: 155px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: var(--ink);
    color: #fff;

    text-align: center;

    border: 8px solid var(--paper, #fbfaf7);
}

.about-image-tag span {
    font-size:16px;
    letter-spacing: 2px;
    opacity: .6;
}

.about-image-tag strong {
    margin: 5px 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 29px;
    font-weight: 500;
}

.about-image-tag small {
    font-size:16px;
    letter-spacing: 1.5px;
    opacity: .65;
}


/* =========================================================
   ABOUT CONTENT
========================================================= */

.about-content {
    padding-left: 55px;
    max-width: 650px;
}

.about-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin-bottom: 22px;

    color: var(--sage, #667565);

    font-size:16px;
    font-weight: 700;

    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.about-eyebrow > span {
    width: 30px;
    height: 1px;
    background: currentColor;
}

.about-content h2,
.about-business-heading h2 {
    margin: 0 0 30px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(46px, 5vw, 70px);
    line-height: .95;

    font-weight: 500;
    letter-spacing: -1.5px;

    color: var(--ink);
}

.about-content h2 em,
.about-business-heading h2 em {
    font-weight: 400;
}

.about-lead {
    font-size: 20px !important;
    line-height: 1.65 !important;

    color: var(--ink) !important;
}

.about-content p {
    margin-bottom: 20px;

    font-size:16px;
    line-height: 1.9;

    color: var(--muted, #727873);
}

.about-signature {
    display: flex;
    flex-direction: column;

    margin-top: 35px;
    padding-top: 25px;

    border-top: 1px solid var(--line, rgba(31,36,33,.13));
}

.about-signature span {
    font-size:16px;
    font-weight: 700;

    letter-spacing: 2px;
    color: var(--sage, #667565);
}

.about-signature strong {
    margin-top: 4px;

    font-family: "Cormorant Garamond", serif;
    font-size: 27px;
    font-weight: 500;
    font-style: italic;

    color: var(--ink);
}


/* =========================================================
   STATEMENT
========================================================= */

.about-statement {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
	background: var(--cream);
    padding: 75px 0;

    margin-bottom: 0;

    border-top: 1px solid var(--line, rgba(31,36,33,.13));
    border-bottom: 1px solid var(--line, rgba(31,36,33,.13));
}

.statement-number {
    font-family: "Cormorant Garamond", serif;
    font-size: 70px;
    line-height: 1;

    color: rgba(31,36,33,.22);
}

.statement-content {
    max-width: 850px;
}

.statement-content h3 {
    margin: 0 0 25px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(42px, 5vw, 66px);
    line-height: 1;

    font-weight: 500;
    letter-spacing: -1px;
}

.statement-content h3 em {
    font-weight: 400;
}

.statement-content p {
    max-width: 720px;

    margin: 0;

    font-size: 16px;
    line-height: 1.9;

    color: var(--muted, #727873);
}
/* =========================================================
   MISSION & VISION
========================================================= */

.mission-vision-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    margin-top: 70px;

    border-top: 1px solid var(--line, rgba(31,36,33,.13));
}

.mission-vision-item {
    position: relative;

    padding: 45px 50px 20px 0;
}

.mission-vision-item + .mission-vision-item {
    padding-left: 50px;

    border-left: 1px solid var(--line, rgba(31,36,33,.13));
}

.mv-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 30px;
}

.mv-number {
    font-family: "Cormorant Garamond", serif;

    font-size: 45px;
    line-height: 1;

    color: rgba(31,36,33,.25);
}

.mv-label {
    font-size:16px;
    font-weight: 700;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: var(--sage, #667565);
}

.mission-vision-item h4 {
    max-width: 520px;

    margin: 0 0 22px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.02;

    font-weight: 500;
    letter-spacing: -1px;

    color: var(--ink);
}

.mission-vision-item h4 em {
    font-weight: 400;
}

.mission-vision-item p {
    max-width: 570px;

    margin: 0;

    font-size:16px;
    line-height: 1.9;

    color: var(--muted, #727873);
}


/* =========================================================
   MISSION & VISION RESPONSIVE
========================================================= */

@media (max-width: 767px) {

    .mission-vision-row {
        grid-template-columns: 1fr;

        margin-top: 55px;
    }

    .mission-vision-item {
        padding: 35px 0;
    }

    .mission-vision-item + .mission-vision-item {
        padding: 35px 0 10px;

        border-left: none;
        border-top: 1px solid var(--line, rgba(31,36,33,.13));
    }

    .mv-top {
        margin-bottom: 22px;
    }

    .mv-number {
        font-size: 38px;
    }

    .mission-vision-item h4 {
        font-size: 38px;
    }

}

/* =========================================================
   VALUES
========================================================= */

.about-values {
    padding-bottom: 80px;
}

.about-value-item {
    position: relative;

/*    min-height: 300px;*/

    padding: 45px 40px;

    border-right: 1px solid var(--line, rgba(31,36,33,.13));
    border-bottom: 1px solid var(--line, rgba(31,36,33,.13));
}

.about-value-item:first-child {
    border-left: 1px solid var(--line, rgba(31,36,33,.13));
}

.value-number {
    position: absolute;

    top: 25px;
    right: 30px;

    font-size:16px;
    letter-spacing: 1px;

    color: rgba(31,36,33,.4);
}

.value-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 35px;

    border: 1px solid var(--line, rgba(31,36,33,.15));

    border-radius: 50%;

    color: var(--sage, #667565);

    font-size: 19px;
}

.about-value-item h4 {
    margin-bottom: 18px;

    font-family: "Cormorant Garamond", serif;
    font-size: 31px;
    font-weight: 500;

    color: var(--ink);
}

.about-value-item p {
    margin: 0;

    max-width: 300px;

    font-size:16px;
    line-height: 1.8;

    color: var(--muted, #727873);
}


/* =========================================================
   BUSINESS APPROACH
========================================================= */

.about-business-row {
    padding: 80px 0;
	background: var(--cream);
    border-top: 1px solid var(--line, rgba(31,36,33,.13));
}

.about-business-heading {
    padding-right: 50px;
}

.about-business-content {
    padding-left: 60px;

    border-left: 1px solid var(--line, rgba(31,36,33,.13));
}

.about-business-content p {
    max-width: 700px;

    margin: 0 0 20px;

    font-size:16px;
    line-height: 1.9;

    color: var(--muted, #727873);
}

.about-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-top: 20px;

    color: var(--ink);

    font-size:16px;
    font-weight: 700;

    letter-spacing: 1.8px;

    text-decoration: none;

    transition: .3s ease;
}

.about-link i {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--ink);
    border-radius: 50%;

    font-size:16px;

    transition: .3s ease;
}

.about-link:hover {
    color: var(--sage, #667565);
}

.about-link:hover i {
    background: var(--ink);
    color: #fff;

    transform: rotate(45deg);
}


/* =========================================================
   CLOSING BANNER
========================================================= */

.about-closing {
    position: relative;

    min-height: 450px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        url("../images/about-closing.jpg")
        center center / cover no-repeat;
}

.about-closing-overlay {
    position: absolute;
    inset: 0;

    background: rgba(20,23,21,.62);
}

.about-closing-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    padding: 50px 30px;

    text-align: center;

    color: #fff;
}

.about-closing-content > span {
    display: block;

    margin-bottom: 20px;

    font-size:16px;
    font-weight: 600;

    letter-spacing: 3px;
    opacity: .7;
}

.about-closing-content h3 {
    margin: 0 0 35px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .95;

    font-weight: 500;
    letter-spacing: -1.5px;
}

.about-closing-content h3 em {
    font-weight: 400;
}

.about-closing-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    padding: 14px 22px;

    color: #fff;

    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50px;

    font-size:16px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    text-decoration: none;

    transition: .3s ease;
}

.about-closing-btn i {
    font-size:16px;
    transition: .3s ease;
}

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

.about-closing-btn:hover i {
    transform: translate(3px,-3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .about-breadcrumb {
        min-height: 430px;
        padding: 80px 0 45px;
    }

    .about-breadcrumb h1 {
        font-size: 62px;
    }

    .about-breadcrumb-nav {
        justify-content: flex-start;
        margin-top: 35px;
    }

    .about-main-section {
        padding: 85px 0 0px;
    }

    .about-intro-row {
        margin-bottom: 90px;
    }

    .about-image-wrap {
        padding-right: 25px;
        margin-bottom: 65px;
    }

    .about-content {
        padding-left: 0;
    }

    .about-statement {
        grid-template-columns: 1fr;
        gap: 35px;

        padding: 60px 0;
    }

    .about-values {
        margin-bottom: 80px;
    }

    .about-value-item {
        min-height: 300px;
        border-bottom: 1px solid var(--line, rgba(31,36,33,.13));
    }

    .about-value-item:first-child {
        border-left: none;
    }

    .about-value-item:last-child {
        border-bottom: none;
    }


    .about-business-row {
        padding: 75px 0;
    }

    .about-business-heading {
        padding-right: 0;
        margin-bottom: 45px;
    }

    .about-business-content {
        padding-left: 0;
        border-left: none;
    }

    .about-closing {
        min-height: 430px;
    }
}


@media (max-width: 767px) {

    .about-breadcrumb {
        min-height: 390px;
        padding: 70px 0 35px;
    }

    .about-breadcrumb h1 {
        font-size: 48px;
        letter-spacing: -1px;
    }

    .about-breadcrumb p {
        font-size:16px;
    }

    .about-breadcrumb-nav {
        margin-top: 30px;
        font-size:16px;
    }

    .about-main-section {
        padding: 65px 0 0px;
    }

    .about-image-wrap {
        padding-right: 15px;
        margin-bottom: 55px;
    }

    .about-image-tag {
        width: 125px;
        height: 125px;
        bottom: 25px;
    }

    .about-image-tag strong {
        font-size: 24px;
    }

    .about-content h2,
    .about-business-heading h2 {
        font-size: 48px;
    }

    .about-lead {
        font-size: 18px !important;
    }

    .about-statement {
        display: block;
        padding: 50px 0;
    }

    .statement-number {
        font-size: 48px;
        margin-bottom: 20px;
    }

    .statement-content h3 {
        font-size: 43px;
    }

    .about-values {
        margin-bottom: 55px;
    }

    .about-value-item {
        min-height: auto;
        padding: 40px 20px;
    }

    .about-business-row {
        padding: 60px 0;
    }

    .about-closing {
        min-height: 390px;
    }

    .about-closing-content {
        padding: 35px 20px;
    }

    .about-closing-content h3 {
        font-size: 48px;
    }
}



/* =========================================================
   INTRO
========================================================= */

.capabilities-intro {
    padding: 80px 0 80px;

    background: var(--paper, #fbfaf7);
}

.capabilities-intro-heading {
    padding-right: 50px;
}

.capabilities-intro-heading h2 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(48px, 5vw, 70px);
    line-height: .95;

    font-weight: 500;

    letter-spacing: -1.5px;

    color: var(--ink);
}

.capabilities-intro-heading h2 em {
    font-weight: 400;
}

.capabilities-intro-text {
    padding-left: 60px;

    border-left: 1px solid var(--line, rgba(31,36,33,.13));
}

.capabilities-intro-text p {
    max-width: 700px;

    margin: 0 0 20px;

    font-size:16px;
    line-height: 1.9;

    color: var(--muted, #727873);
}


/* =========================================================
   MAIN CAPABILITIES
========================================================= */

.capabilities-main {
    padding: 80px 0 80px;

    background: var(--cream, #f5f0e7);
}

.capabilities-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    padding-bottom: 45px;

    border-bottom: 1px solid var(--line, rgba(31,36,33,.13));
}

.capabilities-header-left {
    display: flex;
    align-items: center;
    gap: 30px;
}

.capabilities-section-number {
    font-family: "Cormorant Garamond", serif;

    font-size: 60px;
    line-height: 1;

    color: rgba(31,36,33,.2);
}

.capabilities-header .about-eyebrow {
    margin: 0;
}

.capabilities-header h2 {
    max-width: 500px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(42px, 5vw, 65px);
    line-height: .95;

    font-weight: 500;

    letter-spacing: -1px;

    color: var(--ink);
}

.capabilities-header h2 em {
    font-weight: 400;
}


/* GRID */

.capabilities-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    border-left: 1px solid var(--line, rgba(31,36,33,.13));
}

.capability-card {
    position: relative;

/*    min-height: 400px;*/

    padding: 22px 18px;

    border-right: 1px solid var(--line, rgba(31,36,33,.13));
    border-bottom: 1px solid var(--line, rgba(31,36,33,.13));

    transition: background .35s ease;
}

.capability-card:hover {
    background: rgba(255,255,255,.42);
}

.capability-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 25px;
}

.capability-number {
    font-size:16px;
    font-weight: 600;

    letter-spacing: 1.5px;

    color: rgba(31,36,33,.45);
}

.capability-card-top i {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--line, rgba(31,36,33,.15));
    border-radius: 50%;

    color: var(--sage, #667565);

    font-size: 18px;

    transition: .35s ease;
}

.capability-card:hover .capability-card-top i {
    background: var(--ink);
    color: #fff;

    transform: rotate(8deg);
}

.capability-card h3 {
    max-width: 300px;

    margin: 0 0 20px;

    font-family: "Cormorant Garamond", serif;

    font-size: 36px;
    line-height: 1;

    font-weight: 500;

    color: var(--ink);
}

.capability-card h3 em {
    font-weight: 400;
}

.capability-card p {
/*    max-width: 310px;*/

    margin: 0;

    font-size:16px;
    line-height: 1.85;

    color: var(--muted, #727873);
}

.capability-line {
    position: absolute;

    left: 38px;
    bottom: 28px;

    width: 35px;
    height: 1px;

    background: var(--gold, #b49a69);

    transition: width .4s ease;
}

.capability-card:hover .capability-line {
    width: 70px;
}


/* =========================================================
   CUSTOM / PRIVATE LABEL
========================================================= */

.custom-capability-section {
    padding: 80px 0;

    background: var(--paper, #fbfaf7);
}

.custom-capability-wrap {
    overflow: hidden;

    background: var(--ink);
}

.custom-capability-image {
    height: 100%;
    min-height: 650px;

    overflow: hidden;
}

.custom-capability-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.custom-capability-wrap:hover .custom-capability-image img {
    transform: scale(1.04);
}

.custom-capability-content {
    position: relative;

    height: 100%;

    padding: 75px 65px;

    color: #fff;
}

.custom-number {
    position: absolute;

    top: 30px;
    right: 35px;

    font-family: "Cormorant Garamond", serif;

    font-size: 70px;

    color: rgba(255,255,255,.12);
}

.custom-capability-content .about-eyebrow {
    color: rgba(255,255,255,.65);
}

.custom-capability-content h2 {
    max-width: 500px;

    margin: 0 0 30px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(45px, 5vw, 68px);
    line-height: .95;

    font-weight: 500;

    letter-spacing: -1px;
}

.custom-capability-content h2 em {
    font-weight: 400;
}

.custom-capability-content > p {
    max-width: 530px;

    margin-bottom: 18px;

    color: rgba(255,255,255,.65);

    font-size:16px;
    line-height: 1.9;
}

.custom-feature-list {
    margin: 35px 0;
}

.custom-feature-list > div {
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 14px 0;

    border-bottom: 1px solid rgba(255,255,255,.12);
}

.custom-feature-list span {
    width: 28px;

    font-size:16px;
    letter-spacing: 1px;

    color: rgba(255,255,255,.4);
}

.custom-feature-list strong {
    font-size:16px;
    font-weight: 500;
    letter-spacing: .4px;
}

.custom-capability-content .about-link {
    color: #fff;
}

.custom-capability-content .about-link i {
    border-color: rgba(255,255,255,.5);
}

/* =========================================================
   HOW WE WORK — PREMIUM PROCESS SECTION
========================================================= */

.capabilities-process {
    position: relative;
    padding: 120px 0;
    background: var(--primary);
    overflow: hidden;
}


/* =========================================================
   DARK INNER CONTAINER
========================================================= */

.process-container {
    position: relative;

    background: var(--ink);

    padding: 80px;

    overflow: hidden;
}


/* =========================================================
   SUBTLE BACKGROUND DETAIL
========================================================= */

.process-container::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -180px;
    top: -180px;

    border: 1px solid rgba(255,255,255,.05);

    border-radius: 50%;

    pointer-events: none;
}

.process-container::after {
    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    left: -130px;
    bottom: -130px;

    border: 1px solid rgba(255,255,255,.04);

    border-radius: 50%;

    pointer-events: none;
}


/* =========================================================
   PROCESS INTRO
========================================================= */

.process-intro {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns: 180px 1fr;

    gap: 70px;

    margin-bottom: 70px;
}


/* =========================================================
   INTRO LABEL
========================================================= */

.process-intro-label {
    display: flex;

    align-items: flex-start;

    gap: 14px;

    padding-top: 8px;

    font-size:16px;

    font-weight: 700;

    letter-spacing: 2.5px;

    color: rgba(255,255,255,.55);
}

.process-intro-label span {
    font-family: "Cormorant Garamond", serif;

    font-size: 50px;

    font-weight: 400;

    line-height: .7;

    color: rgba(255,255,255,.22);
}

.process-intro-label div {
    width: 30px;
    height: 1px;

    margin-top: 6px;

    background: rgba(255,255,255,.5);
}


/* =========================================================
   INTRO CONTENT
========================================================= */

.process-intro-content {
    max-width: 850px;
}

.process-intro-content h2 {
    max-width: 760px;

    margin: 0 0 25px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(50px, 5.5vw, 76px);

    line-height: .92;

    font-weight: 500;

    letter-spacing: -1.8px;

    color: #fff;
}

.process-intro-content h2 em {
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.process-intro-content p {
    max-width: 570px;

    margin: 0;

    font-size:16px;

    line-height: 1.9;

    color: rgba(180,154,105,.8);
}


/* =========================================================
   PROCESS GRID
========================================================= */

.premium-process {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid rgba(180,154,105,.8);

    border-left: 1px solid rgba(180,154,105,.8);
}


/* =========================================================
   PROCESS CARD
========================================================= */

.process-grid-card {
    position: relative;

    min-height: 300px;

    padding: 18px 20px;
	
/*	background: var(--cream);*/
	
    border-right: 1px solid rgba(180,154,105,.8);

    border-bottom: 1px solid rgba(180,154,105,.8);

    color: var(--cream);

    overflow: hidden;

    transition:
        background .4s ease,
        transform .4s ease;
}


/* CARD HOVER */

.process-grid-card:hover {
    background: var(--primary);

    transform: translateY(-5px);
}


/* =========================================================
   CARD TOP
========================================================= */

.process-grid-top {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    margin-bottom: 25px;
}


/* =========================================================
   NUMBER
========================================================= */

.process-grid-number {
    font-family: "Cormorant Garamond", serif;

    font-size: 52px;

    line-height: .75;

    color: var(--promary);

    transition: color .4s ease;
}

.process-grid-card:hover .process-grid-number {
    color: rgba(255,255,255,.55);
}


/* =========================================================
   ICON
========================================================= */

.process-grid-icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.18);

    border-radius: 50%;

    color: rgba(255,255,255,.7);

    font-size: 17px;

    transition:
        background .4s ease,
        color .4s ease,
        transform .4s ease;
}

.process-grid-card:hover .process-grid-icon {
    background: #fff;

    color: var(--ink);

    transform: rotate(8deg);
}


/* =========================================================
   STEP LABEL
========================================================= */

.process-grid-label {
    display: block;

    margin-bottom: 10px;

    font-size:15px;

    font-weight: 700;

    letter-spacing: 2px;

    color: rgba(255,255,255,.8);
}


/* =========================================================
   TITLE
========================================================= */

.process-grid-card h3 {
    margin: 0 0 18px;

    font-family: "Cormorant Garamond", serif;

    font-size: 40px;

    line-height: 1;

    font-weight: 500;

    letter-spacing: -.5px;

    color: #fff;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.process-grid-card p {
    max-width: 310px;

    margin: 0;

    font-size:16px;

    line-height: 1.85;

    color: rgba(255,255,255,.56);
	padding-bottom: 20px;
}


/* =========================================================
   KEYWORD
========================================================= */

.process-grid-card .process-keyword {
    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 25px;

    margin: 0;

    padding-top: 15px;

    border-top: 1px solid rgba(255,255,255,.1);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1.4px;

    color: rgba(253,222,128,.7);
}


/* =========================================================
   CARD BOTTOM ACCENT
========================================================= */

.process-grid-card::after {
    content: "";

    position: absolute;

    left: 30px;

    bottom: 0;

    width: 0;

    height: 2px;

    background: rgba(255,255,255,.65);

    transition: width .4s ease;
}

.process-grid-card:hover::after {
    width: 70px;
}


/* =========================================================
   PROCESS FOOTER
========================================================= */

.process-footer {
    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    gap: 25px;

    margin-top: 65px;
}

.process-footer-line {
    flex: 1;

    height: 1px;

    background: rgba(255,255,255,.12);
}

.process-footer span {
    white-space: nowrap;

    font-size:16px;

    font-weight: 700;

    letter-spacing: 2px;

    color: rgba(255,255,255,.3);

    text-align: center;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .process-container {
        padding: 90px;
    }

    .process-grid-card {
        min-height: 410px;

        padding: 42px 35px;
    }

    .process-grid-top {
        margin-bottom: 25px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .process-container {
        padding: 65px;
    }

    .process-intro {
        grid-template-columns: 140px 1fr;

        gap: 45px;
    }

    .process-intro-content h2 {
        font-size: 62px;
    }

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

    .process-grid-card {
        min-height: 350px;
    }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 991px) {

    .capabilities-process {
        padding: 90px 0;
    }

    .process-container {
        padding: 55px;
    }

    .process-intro {
        display: block;

        margin-bottom: 60px;
    }

    .process-intro-label {
        margin-bottom: 30px;
    }

    .process-intro-content {
        max-width: 750px;
    }

    .process-intro-content h2 {
        font-size: 58px;
    }

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

    .process-grid-card {
        min-height: 340px;

        padding: 32px 27px;
    }

    .process-grid-top {
        margin-bottom: 55px;
    }

    .process-grid-card h3 {
        font-size: 36px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .capabilities-process {
        padding: 60px 0;
    }

    .process-container {
        padding: 55px 25px;
    }

    .process-container::before {
        width: 250px;
        height: 250px;

        right: -130px;
        top: -130px;
    }

    .process-container::after {
        width: 180px;
        height: 180px;

        left: -100px;
        bottom: -100px;
    }

    .process-intro {
        margin-bottom: 50px;
    }

    .process-intro-label {
        gap: 10px;

        font-size:16px;

        letter-spacing: 2px;
    }

    .process-intro-label span {
        font-size: 42px;
    }

    .process-intro-label div {
        width: 25px;
    }

    .process-intro-content h2 {
        font-size: 48px;

        line-height: .95;

        letter-spacing: -1px;
    }

    .process-intro-content p {
        font-size:16px;

        line-height: 1.8;
    }


    /* SINGLE COLUMN */

    .premium-process {
        grid-template-columns: 1fr;

        margin-top: 45px;
    }

    .process-grid-card {
        min-height: 340px;

        padding: 32px 25px;
    }

    .process-grid-top {
        margin-bottom: 55px;
    }

    .process-grid-number {
        font-size: 45px;
    }

    .process-grid-icon {
        width: 44px;
        height: 44px;

        font-size: 16px;
    }

    .process-grid-card h3 {
        font-size: 36px;
    }

    .process-grid-card p {
        font-size:16px;

        line-height: 1.8;
    }

    .process-grid-card .process-keyword {
        left: 25px;
        right: 25px;
    }

    .process-grid-card::after {
        left: 25px;
    }


    /* FOOTER */

    .process-footer {
        margin-top: 45px;

        gap: 12px;
    }

    .process-footer span {
        white-space: normal;

        max-width: 180px;

        font-size: 7px;

        line-height: 1.5;

        letter-spacing: 1px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .process-container {
        padding: 45px 20px;
    }

    .process-intro-content h2 {
        font-size: 43px;
    }

    .process-grid-card {
        min-height: 320px;

        padding: 28px 22px;
    }

    .process-grid-top {
        margin-bottom: 45px;
    }

    .process-grid-card h3 {
        font-size: 34px;
    }

    .process-grid-card .process-keyword {
        left: 22px;
        right: 22px;
    }

    .process-grid-card::after {
        left: 22px;
    }

}


/* =========================================================
   Contact
========================================================= */
.contact-intro-section {

    padding:
        80px 0 80px;

    background:
        #fbfaf7;
}


.contact-intro-content h2 {

    margin: 0;

    color: #1f2421;

    font-family: "Cormorant Garamond", Georgia, serif;

    font-size: clamp(55px, 7vw, 90px);

    font-weight: 500;

    line-height: .9;

    letter-spacing: -.03em;
}


.contact-intro-content h2 em {

    color: var(--primary);

    font-weight: 400;
}


.contact-intro-text {

    padding-left: 20px;

    border-left: 1px solid rgba(31,36,33,.15);
}


.contact-intro-text p {

    margin: 0 0 18px;

    color: #727873;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 15px;

    line-height: 1.85;
}


.contact-intro-text p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   MAIN CONTACT
========================================================= */

.contact-main-section {

    padding: 0 0 120px;

    background: #fbfaf7;
}


.contact-main-grid {

    display: grid;

    grid-template-columns: .9fr 1.1fr;

    min-height: 650px;
}


/* =========================================================
   INFO PANEL
========================================================= */

.contact-info-panel {

    position: relative;

    background: var(--ink);

    color: #fff;

    overflow: hidden;
}


.contact-info-panel::before {

    content: "CONTACT";

    position: absolute;

    right: -50px;

    bottom: -40px;

    color: rgba(255,255,255,.025);

    font-family: "Cormorant Garamond", Georgia, serif;

    font-size: 160px;

    font-weight: 600;

    line-height: 1;

    pointer-events: none;
}


.contact-info-inner {

    position: relative;

    z-index: 2;

    padding: 65px 55px;
}


.contact-panel-label {

    display: block;

    margin-bottom: 30px;

    color: rgba(255,255,255,.5);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .17em;
}


.contact-info-inner h3 {

    max-width: 450px;

    margin: 0 0 25px;

    color: #fff;

    font-family: "Cormorant Garamond", Georgia, serif;

    font-size: 52px;

    font-weight: 500;

    line-height: .98;
}


.contact-info-inner h3 em {

    color: var(--primary);

    font-weight: 400;
}


.contact-panel-description {

    max-width: 470px;

    margin: 0 0 45px;

    color: rgba(255,255,255,.62);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.contact-detail {

    display: flex;

    gap: 18px;

    padding: 20px 0;

    border-top: 1px solid rgba(255,255,255,.12);
}


.contact-detail-number {

    min-width: 25px;

    color: rgba(255,255,255,.35);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 11px;

    font-weight: 700;
}


.contact-detail small {

    display: block;

    margin-bottom: 7px;

    color: rgba(255,255,255,.38);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .15em;
}


.contact-detail a {

    color: #fff;

    text-decoration: none;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    transition: color .25s ease;
}


.contact-detail a:hover {

    color: #fc5a6d;
}


.contact-detail p {

    max-width: 100%;

    margin: 0;

    color: rgba(255,255,255,.72);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 13px;

    line-height: 1.6;
}


/* =========================================================
   FORM PANEL
========================================================= */

.contact-form-panel {

    padding: 65px 60px;

    background: #f5f0e7;

    border: 1px solid rgba(31,36,33,.08);
}


.contact-form-header {

    margin-bottom: 38px;
}


.contact-form-header > span {

    display: block;

    margin-bottom: 13px;

    color: #727873;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: .16em;
}


.contact-form-header h3 {

    margin: 0 0 15px;

    color: var(--ink);

    font-family: "Cormorant Garamond", Georgia, serif;

    font-size: 48px;

    font-weight: 500;

    line-height: .95;
}


.contact-form-header h3 em {

    color: var(--primary);

    font-weight: 400;
}


.contact-form-header p {

    max-width: 500px;

    margin: 0;

    color: #727873;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    line-height: 1.7;
}


/* =========================================================
   FORM
========================================================= */

.form-group label {

    display: block;

    margin-bottom: 9px;

    color: #727873;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: .13em;
}


.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    padding: 13px 0;

    border: 0;

    border-bottom: 1px solid rgba(31,36,33,.18);

    border-radius: 0;

    outline: none;

    background: transparent;

    color: var(--ink);

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 16px;

    box-shadow: none;

    transition: border-color .25s ease;
}


.form-group textarea {

    min-height: 130px;

    resize: vertical;
}


.form-group input::placeholder,
.form-group textarea::placeholder {

    color: #aaa49b;

}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-bottom-color: var(--ink);

}


.form-group select {

    cursor: pointer;

}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.contact-submit {

    width: 100%;

    min-height: 58px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 22px;

    border: 1px solid var(--ink);

    background: var(--ink);

    color: #fff;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

    cursor: pointer;

    transition: .3s ease;
}


.contact-submit i {

    font-size: 17px;

    transition: transform .3s ease;
}


.contact-submit:hover {

    background: transparent;

    color: var(--ink);
}


.contact-submit:hover i {

    transform: translate(4px,-4px);
}





/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .contact-intro-section {
        padding: 80px 0;
    }


    .contact-intro-text {
        margin-top: 45px;
        padding-left: 0;
        border-left: 0;
    }


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


    .contact-info-inner {
        padding: 55px 45px;
    }


    .contact-form-panel {
        padding: 55px 45px;
    }


    .contact-services-heading {
        grid-template-columns: 1fr;
        gap: 30px;
    }


    .contact-service-card {
        min-height: 320px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .contact-breadcrumb {
        min-height: 420px;
        padding: 55px 0;
    }


    .contact-breadcrumb h1 {
        font-size: 55px;
    }


    .contact-breadcrumb p {
        font-size: 16px;
    }


    .contact-intro-section {
        padding: 70px 0;
    }


    .contact-intro-content h2 {
        font-size: 60px;
    }


    .contact-main-section {
        padding-bottom: 80px;
    }


    .contact-info-inner {
        padding: 45px 25px;
    }


    .contact-info-inner h3 {
        font-size: 43px;
    }


    .contact-form-panel {
        padding: 45px 25px;
    }


    .contact-form-header h3 {
        font-size: 42px;
    }


    .contact-services-section {
        padding: 80px 0;
    }


    .contact-services-heading {
        margin-bottom: 45px;
    }


    .contact-services-heading h2 {
        font-size: 55px;
    }


    .contact-service-card {
        min-height: auto;
        padding: 30px 25px;
    }


    .contact-service-card i {
        margin-top: 35px;
    }


    .contact-closing-section {
        min-height: 430px;
    }


    .contact-closing-content h2 {
        font-size: 60px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .contact-breadcrumb {
        min-height: 390px;
    }


    .contact-breadcrumb h1 {
        font-size: 48px;
    }


    .contact-breadcrumb p {
        margin-top: 22px;
        font-size: 13px;
    }


    .contact-intro-content h2 {
        font-size: 52px;
    }


    .contact-info-inner h3 {
        font-size: 39px;
    }


    .contact-form-header h3 {
        font-size: 38px;
    }


    .contact-services-heading h2 {
        font-size: 50px;
    }


    .contact-closing-content h2 {
        font-size: 52px;
    }

}

/* =========================================
   CONTACT GOOGLE MAP
========================================= */

.contact-map-section {
    padding: 0;
    background: #f5f0e7;
}

.contact-map-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 50px;
    margin-bottom: 45px;
}

.contact-map-heading > div {
    max-width: 650px;
}

.contact-map-heading h2 {
    margin: 15px 0 0;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(46px, 5vw, 76px);
    line-height: .95;
    font-weight: 500;
    color: #1f2421;
}

.contact-map-heading h2 em {
    font-style: italic;
    color: #667565;
}

.contact-map-heading p {
    max-width: 430px;
    margin: 0;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #727873;
}

/* MAP */

.contact-map-wrap {
    position: relative;
    width: 100%;
    height: 480px;
    overflow: hidden;
    background: #ddd;
}

.contact-map-wrap iframe {
    display: block;
    width: 100%;
    height: 100%;
    filter: grayscale(100%);
}

/* MAP INFO CARD */

.contact-map-card {
    position: absolute;
    left: 35px;
    bottom: 35px;

    width: 330px;
    padding: 32px;

    background: var(--ink);
    color: #fff;

    box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
}

.map-card-label {
    display: block;
    margin-bottom: 14px;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #c7cec7;
}

.contact-map-card h3 {
    margin: 0 0 5px;

    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    line-height: 1;
    font-weight: 500;
}

.contact-map-card h3 em {
    font-style: italic;
    color: #d5ddd4;
}

.contact-map-card p {
    margin: 0 0 25px;

    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    color: #b7beb9;
}

.contact-map-card a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255,255,255,.4);

    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;

    text-decoration: none;

    transition: all .3s ease;
}

.contact-map-card a span {
    font-size: 16px;
    transition: transform .3s ease;
}

.contact-map-card a:hover {
    color: #fff;
    border-color: #fff;
}

.contact-map-card a:hover span {
    transform: translate(3px, -3px);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991.98px) {

    .contact-map-section {
        padding: 80px 0;
    }

    .contact-map-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }

    .contact-map-heading p {
        max-width: 600px;
    }

    .contact-map-wrap {
        height: 430px;
    }

}


@media (max-width: 767.98px) {

    .contact-map-section {
        padding: 65px 0;
    }

    .contact-map-heading h2 {
        font-size: 48px;
    }

    .contact-map-wrap {
        height: 520px;
    }

    .contact-map-card {
        left: 20px;
        right: 20px;
        bottom: 20px;
        width: auto;
        padding: 25px;
    }

    .contact-map-card h3 {
        font-size: 34px;
    }

}


@media (max-width: 575.98px) {

    .contact-map-heading h2 {
        font-size: 42px;
    }

    .contact-map-wrap {
        height: 500px;
    }

    .contact-map-card {
        padding: 22px;
    }

}


/* =========================================
   INTRO
========================================= */

.collection-intro-section {
    padding: 80px 0 0px;
    background: #fbfaf7;
}

.collection-section-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2.5px;
    color: var(--primary);
}

.collection-section-label > span {
    display: block;
    width: 32px;
    height: 1px;
    background: var(--primary);
}

.collection-intro-section h2 {
    margin: 18px 0 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(50px, 6vw, 82px);
    line-height: .92;
    font-weight: 500;
    color: #1f2421;
}

.collection-intro-section h2 em {
    color: var(--primary);
    font-style: italic;
}

.collection-intro-text {
    margin: 0;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    line-height: 1.9;
    color: #727873;
}


/* =========================================
   PRODUCTS
========================================= */

.home-products-section {
    padding: 70px 0 120px;
    background: #fbfaf7;
}

.home-products-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 55px;
}

.home-products-header h2 {
    margin: 15px 0 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 5vw, 70px);
    line-height: .9;
    font-weight: 500;
    color: #1f2421;
}

.home-products-header h2 em {
    color: var(--primary);
    font-style: italic;
}

.product-count {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    letter-spacing: 2px;
    color: #727873;
}

.product-count span {
    display: block;
    margin-bottom: 5px;

    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    line-height: 1;
    color: #1f2421;
}


/* =========================================
   PRODUCT CARD
========================================= */

.textile-product-card {
    position: relative;
    height: 100%;
}

.textile-product-image {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #eee9df;
}

.textile-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.textile-product-card:hover
.textile-product-image img {
    transform: scale(1.06);
}

.product-zoom-btn {
    position: absolute;
    right: 18px;
    bottom: 18px;

    width: 48px;
    height: 48px;

    border: 0;
    border-radius: 50%;

    background: #fff;
    color: #1f2421;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 15px;

    cursor: pointer;

    opacity: 0;
    transform: translateY(10px);

    transition: all .35s ease;
}

.textile-product-card:hover .product-zoom-btn {
    opacity: 1;
    transform: translateY(0);
}

.product-zoom-btn:hover {
    background: #1f2421;
    color: #fff;
}

.textile-product-info {
    position: relative;
    padding: 25px 5px 5px;
}

.product-number {
    display: block;
    margin-bottom: 10px;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #9a9f9a;
}

.textile-product-info h3 {
    min-height: 25px;
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    line-height: 1;
    font-weight: 500;
    color: var(--ink);
}

.view-product {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 5px;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
	background: var(--ink);
    color: var(--cream);
    text-decoration: none;
	border: none;
    transition: all .3s ease;
	padding: 7px 10px;
}

.view-product span {
    font-size: 15px;
    transition: transform .3s ease;
}

.view-product:hover {
	background: var(--primary);
    color: #000;
}

.view-product:hover span {
    transform: translate(3px, -3px);
}


/* =========================================
   LIGHTBOX
========================================= */

.product-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(15,18,16,.94);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.product-lightbox.active {
    opacity: 1;
    visibility: visible;
}

.product-lightbox-backdrop {
    position: absolute;
    inset: 0;
}

.product-lightbox-content {
    position: relative;
    z-index: 2;

    width: min(1050px, 100%);
    max-height: 95vh;

    display: flex;
    flex-direction: column;
}


/* CLOSE */

.lightbox-close {
    position: absolute;
    z-index: 5;

    top: -15px;
    right: -15px;

    width: 48px;
    height: 48px;

    border: 0;
    border-radius: 50%;

    background: #fff;

    cursor: pointer;
}

.lightbox-close span {
    position: absolute;
    left: 15px;

    width: 18px;
    height: 1px;

    background: #1f2421;
}

.lightbox-close span:first-child {
    transform: rotate(45deg);
}

.lightbox-close span:last-child {
    transform: rotate(-45deg);
}


/* IMAGE */

.lightbox-image-area {
    position: relative;
    width: 100%;
    height: min(70vh, 700px);

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: none;
}

.lightbox-image-area img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* ARROWS */

.lightbox-arrow {
    position: absolute;
    top: 50%;
    z-index: 4;

    width: 50px;
    height: 50px;

    transform: translateY(-50%);

    border: 0;
    border-radius: 50%;

    background: #fff;
    color: #1f2421;

    cursor: pointer;

    transition: all .3s ease;
}

.lightbox-arrow:hover {
    background: #1f2421;
    color: #fff;
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}


/* FOOTER */

.lightbox-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 22px 0;

    color: #fff;
}

.lightbox-footer > div:first-child span {
    display: block;

    margin-bottom: 6px;

    font-family: "DM Sans", sans-serif;

    font-size: 9px;
    letter-spacing: 2px;
    color: #aeb5ae;
}

.lightbox-footer h3 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 32px;
    font-weight: 500;
}

.lightbox-counter {
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
}

.lightbox-counter #lightboxCurrent {
    color: #fff;
}


/* THUMBNAILS */

.lightbox-thumbnails {
    display: flex;
    gap: 8px;
    overflow-x: auto;
}

.lightbox-thumbnail {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;

    padding: 0;

    border: 1px solid transparent;

    background: transparent;

    cursor: pointer;

    opacity: .55;

    transition: all .3s ease;
}

.lightbox-thumbnail.active {
    opacity: 1;
    border-color: #fff;
}

.lightbox-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================
   BOTTOM CTA
========================================= */

.collection-bottom-cta {
    padding: 90px 0;
    background: #1f2421;
    color: #fff;
}

.collection-bottom-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.collection-bottom-cta-inner > div > span {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #adb5ae;
}

.collection-bottom-cta h2 {
    margin: 15px 0 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(45px, 5vw, 70px);
    line-height: .9;
    font-weight: 500;
}

.collection-bottom-cta h2 em {
    color: #d2dbd0;
    font-style: italic;
}

.collection-bottom-cta-inner > a {
    display: inline-flex;
    align-items: center;
    gap: 15px;

    padding: 18px 25px;

    border: 1px solid rgba(255,255,255,.4);

    color: #fff;

    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    text-decoration: none;

    transition: all .3s ease;
}

.collection-bottom-cta-inner > a:hover {
    background: #fff;
    color: #1f2421;
}

.collection-bottom-cta-inner > a span {
    font-size: 16px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991.98px) {

    .collection-breadcrumb {
        min-height: 500px;
    }

    .collection-intro-section {
        padding: 85px 0 0px;
    }

    .collection-intro-text {
        margin-top: 30px;
    }

    .home-products-section {
        padding: 55px 0 85px;
    }

    .home-products-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }

    .product-count {
        display: none;
    }

    .product-zoom-btn {
        opacity: 1;
        transform: none;
    }

    .collection-bottom-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 767.98px) {

    .collection-breadcrumb {
        min-height: 430px;
        padding: 70px 0;
    }

    .collection-breadcrumb-content h1 {
        font-size: 65px;
    }

    .collection-intro-section {
        padding: 70px 0 0px;
    }

    .home-products-header {
        margin-bottom: 35px;
    }

    .textile-product-info h3 {
        font-size: 25px;
    }

    .lightbox-image-area {
        height: 58vh;
    }

    .product-lightbox {
        padding: 15px;
    }

    .lightbox-close {
        top: -8px;
        right: -5px;
    }

}


@media (max-width: 575.98px) {

    .collection-breadcrumb-content h1 {
        font-size: 55px;
    }

    .collection-breadcrumb-content p {
        font-size: 13px;
    }

    .home-products-section {
        padding-bottom: 65px;
    }

    .lightbox-image-area {
        height: 52vh;
    }

    .lightbox-arrow {
        width: 42px;
        height: 42px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }

    .lightbox-footer h3 {
        font-size: 26px;
    }

    .lightbox-thumbnail {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

}


/* =========================================================
   CUSTOM & PRIVATE LABEL PAGE
========================================================= */

.collection-intro-section {
    padding: 80px 0 80px;
    background: #f4f0e8;
}

.collection-section-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 24px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #77736c;
}

.collection-section-label > span {
    display: block;

    width: 34px;
    height: 1px;

    background: #77736c;
}

.collection-intro-section h2 {
    max-width: 700px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 400;
    line-height: 0.98;

    color: #24231f;
}

.collection-intro-section h2 em {
    font-style: italic;
}

.collection-intro-text {
    max-width: 500px;

    margin: 0;

    font-size: 15px;
    line-height: 1.9;

    color: #6d6a64;
}


/* =========================================================
   CUSTOM SERVICES
========================================================= */

.custom-services-section {
    padding: 80px 0;

    background: #fff;
}

.custom-services-section h2 {
    max-width: 650px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(44px, 4.5vw, 68px);
    font-weight: 400;
    line-height: 1;

    color: #24231f;
}

.custom-services-section h2 em {
    font-style: italic;
	color: var(--primary);
}

.custom-service-card {
    position: relative;

    height: 100%;

    padding: 38px 34px 40px;

    border: 1px solid #e3dfd7;

    background: #faf9f6;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        background 0.35s ease;
}

.custom-service-card:hover {
    transform: translateY(-7px);

    background: #f4f0e8;

    box-shadow: 0 20px 50px rgba(30, 27, 22, 0.08);
}

.custom-service-number {
    display: block;

    margin-bottom: 55px;

    font-family: "Cormorant Garamond", serif;
    font-size: 18px;
    font-style: italic;

    color: #8b877f;
}

.custom-service-card h3 {
    margin: 0 0 16px;

    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;

    color: var(--ink);
}

.custom-service-card p {
    margin: 0;

    font-size: 16px;
    line-height: 1.8;

    color: #77736c;
}


/* =========================================================
   CUSTOM PROCESS
========================================================= */

.custom-process-section {
    padding: 80px 0;

    background: #ebe6dc;
}

.custom-process-section h2 {
    max-width: 680px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(44px, 4.5vw, 68px);
    font-weight: 400;
    line-height: 1;

    color: #24231f;
}

.custom-process-section h2 em {
    font-style: italic;
}

.custom-process-card {
    position: relative;

    height: 100%;

    padding: 35px 30px 38px;

    background: #f8f6f1;

    border-top: 2px solid #24231f;
}

.custom-process-card > span {
    display: block;

    margin-bottom: 15px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;

    color: #8b877f;
}

.custom-process-card h3 {
    margin: 0 0 15px;

    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.1;

    color: #24231f;
}

.custom-process-card p {
    margin: 0;

    font-size: 16px;
    line-height: 1.8;

    color: #77736c;
}


/* =========================================================
   PRIVATE LABEL SECTION
========================================================= */

.private-label-section {
    padding: 80px 0;

    background: var(--ink);
}

.private-label-content {
    padding-right: 70px;
}

.private-label-section .collection-section-label {
    color: #fff;
}

.private-label-section .collection-section-label > span {
    background: #aaa59b;
}

.private-label-section h2 {
    margin: 0 0 30px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 400;
    line-height: 1;

    color: #f4f0e8;
}

.private-label-section h2 em {
    font-style: italic;
	color: var(--primary);
}

.private-label-content p {
    max-width: 580px;

    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.9;

    color: #fff;
}


/* =========================================================
   PRIVATE LABEL POINTS
========================================================= */

.private-label-points {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.private-label-point {
    display: flex;
    gap: 25px;

    padding: 30px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.private-label-point > span {
    flex: 0 0 35px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;

    color: #8e897f;
}

.private-label-point h4 {
    margin: 0 0 8px;

    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    font-weight: 500;

    color: var(--gold);
}

.private-label-point p {
    max-width: 430px;

    margin: 0;

    font-size: 16px;
    line-height: 1.75;

    color: #fff;
}


/* =========================================================
   CUSTOM PRODUCT CATEGORIES
========================================================= */

.custom-categories-section {
    padding: 80px 0;

    background: #f7f5f0;
}

.custom-categories-section h2 {
    max-width: 680px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(44px, 4.5vw, 68px);
    font-weight: 400;
    line-height: 1;

    color: #24231f;
}

.custom-categories-section h2 em {
    font-style: italic;
}


/* =========================================================
   CATEGORY ITEMS
========================================================= */

.custom-category-item {
    position: relative;

    min-height: 220px;

    padding: 30px 32px;

    border: 1px solid #dfdbd2;

    background: #fff;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.custom-category-item:hover {
    transform: translateY(-5px);

    background: #eee9df;

    box-shadow: 0 15px 40px rgba(30, 27, 22, 0.07);
}

.custom-category-item > span {
    display: block;

    margin-bottom: 40px;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;

    color: #8c877f;
}

.custom-category-item h3 {
    margin: 0 0 12px;

    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    font-weight: 500;

    color: #24231f;
}

.custom-category-item p {
    max-width: 390px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #77736c;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .collection-intro-section,
    .custom-services-section,
    .custom-process-section,
    .private-label-section,
    .custom-categories-section {
        padding: 80px 0;
    }

    .collection-intro-section .col-lg-5 {
        margin-top: 40px;
    }

    .custom-services-section .col-lg-5,
    .custom-process-section .col-lg-5,
    .custom-categories-section .col-lg-5 {
        margin-top: 30px;
    }

    .private-label-content {
        padding-right: 0;
        margin-bottom: 60px;
    }

    .custom-service-number {
        margin-bottom: 35px;
    }

    .custom-process-card > span {
        margin-bottom: 30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .collection-intro-section,
    .custom-services-section,
    .custom-process-section,
    .private-label-section,
    .custom-categories-section {
        padding: 65px 0;
    }

    .collection-section-label {
        margin-bottom: 18px;

        font-size: 16px;
        letter-spacing: 1.5px;
    }

    .collection-section-label > span {
        width: 25px;
    }

    .collection-intro-section h2,
    .custom-services-section h2,
    .custom-process-section h2,
    .private-label-section h2,
    .custom-categories-section h2 {
        font-size: 48px;
        line-height: 0.98;
    }

    .collection-intro-section .col-lg-5 {
        margin-top: 30px;
    }

    .collection-intro-text {
        font-size: 16px;
        line-height: 1.8;
    }

    .custom-service-card {
        padding: 30px 25px 32px;
    }

    .custom-service-number {
        margin-bottom: 35px;
    }

    .custom-service-card h3 {
        font-size: 27px;
    }

    .custom-process-card {
        padding: 28px 25px 32px;
    }

    .custom-process-card h3 {
        font-size: 26px;
    }

    .private-label-content {
        margin-bottom: 45px;
    }

    .private-label-point {
        gap: 15px;
        padding: 25px 0;
    }

    .private-label-point h4 {
        font-size: 23px;
    }

    .custom-category-item {
        min-height: auto;
        padding: 28px 25px;
    }

    .custom-category-item > span {
        margin-bottom: 30px;
    }

    .custom-category-item h3 {
        font-size: 26px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .collection-intro-section h2,
    .custom-services-section h2,
    .custom-process-section h2,
    .private-label-section h2,
    .custom-categories-section h2 {
        font-size: 42px;
    }

    .custom-service-card,
    .custom-process-card,
    .custom-category-item {
        padding-left: 22px;
        padding-right: 22px;
    }

}