/* =====================================================
   ROOT
===================================================== */

:root {

    --black: #111111;
    --dark: #1b1b1b;

    --white: #ffffff;

    --cream: #f5f5f3;

    --light: #eeeeec;

    --gray: #777777;

    --border: #ddddda;

    --heading-font: "Cormorant Garamond", serif;

    --body-font: "Montserrat", sans-serif;

}


/* =====================================================
   RESET
===================================================== */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}


html {

    scroll-behavior: smooth;

}

p{
    font-size: 16px !important;
}



body {

    font-family: var(--body-font);

    color: var(--black);

    background: var(--white);

    overflow-x: hidden;

}


img {

    width: 100%;

    display: block;

}


a {

    text-decoration: none;

    color: inherit;

}


button,
input {

    font-family: inherit;

}


button {

    border: none;

    background: none;

    cursor: pointer;

}


/* =====================================================
   HEADER
===================================================== */

.site-header {

    width: 100%;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 4%;

    background: rgba(255, 255, 255, 0.96);

    border-bottom: 1px solid #eeeeee;

    position: sticky;

    top: 0;

    z-index: 1000;

}


/* LEFT */

.header-left {

    display: flex;

    align-items: center;

    gap: 25px;

    width: 30%;

}


.menu-btn {

    display: flex;

    align-items: center;

    gap: 7px;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: .5px;

}


.menu-btn i {

    font-size: 14px;

}


.search-box {

    display: flex;

    align-items: center;

    gap: 7px;

    border-left: 1px solid #999;

    padding-left: 18px;

}


.search-box i {

    font-size: 12px;

    color: #555;

}


.search-box input {

    border: none;

    outline: none;

    width: 80px;

    font-size: 14px;

    background: transparent;

}


/* LOGO */

.logo {

    font-family: var(--heading-font);

    font-size: 31px;

    font-weight: 600;

    letter-spacing: 5px;

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

}


/* NAV */

.main-nav {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 38px;

    width: 40%;

}


.main-nav > a,
.nav-dropdown > a {

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: .5px;

    transition: .3s ease;

}


.main-nav a:hover {

    opacity: .55;

}


.nav-dropdown {

    position: relative;

}


.nav-dropdown > a {

    display: flex;

    align-items: center;

    gap: 5px;

}


.nav-dropdown i {

    font-size: 7px;

}


/* DROPDOWN */

.dropdown-menu {

    position: absolute;

    top: 25px;

    left: 50%;

    transform: translateX(-50%);

    width: 170px;

    background: white;

    border: 1px solid var(--border);

    padding: 12px 0;

    opacity: 0;

    visibility: hidden;

    transition: .3s ease;

}


.dropdown-menu a {

    display: block;

    padding: 10px 18px;

    font-size: 14px;

    text-transform: uppercase;

}


.nav-dropdown:hover .dropdown-menu {

    opacity: 1;

    visibility: visible;

}


/* CART */

.cart {

    width: 30%;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 8px;

    font-size: 14px;

    text-transform: uppercase;

}


.cart i {

    font-size: 15px;

}


.mobile-menu-btn {

    display: none;

}


/* =====================================================
   HERO
===================================================== */

.hero {

    height: calc(100vh - 72px);

    min-height: 650px;

    position: relative;

    overflow: hidden;

    background: #e8e8e6;

}


.hero-image {

    position: absolute;

    inset: 0;

    z-index: 1;

}


.hero-image img {

    width: 100%;

    height: 100%;

    object-fit:cover;

    object-position: 50% 25%;

}


/* HERO TITLE */

.hero-title {

    position: absolute;

    top: 45%;

    left: 50%;

    transform: translate(-50%, -50%);

    z-index: 3;

    width: 100%;

    text-align: center;

    pointer-events: none;

}


.hero-title h1 {

    font-family: var(--heading-font);

    font-size: clamp(100px, 18vw, 270px);

    font-weight: 500;

    letter-spacing: -8px;

    line-height: .7;

    color: rgba(0, 0, 0, .92);

}


/* HERO SHAPES */

.hero-shape {

    position: absolute;

    border-radius: 50%;

    border: 70px solid rgba(255,255,255,.4);

    z-index: 2;

    pointer-events: none;

}


.shape-one {

    width: 550px;

    height: 300px;

    top: -100px;

    right: -100px;

    transform: rotate(-20deg);

}


.shape-two {

    width: 650px;

    height: 300px;

    bottom: -160px;

    left: -150px;

    transform: rotate(-20deg);

}


/* HERO CONTENT */

.hero-content {

    position: absolute;

    left: 5%;

    bottom: 9%;

    z-index: 5;

}


.hero-small {

    font-size: 14px;

    letter-spacing: 2px;

    margin-bottom: 14px;

}


.hero-content h2 {

    font-family: var(--heading-font);

    font-size: 48px;

    line-height: .85;

    font-weight: 500;

    margin-bottom: 25px;

}


.primary-btn {

    display: inline-block;

    background: var(--black);

    color: white;

    padding: 13px 28px;

    border-radius: 30px;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

    transition: .3s ease;

}


.primary-btn:hover {

    background: #333;

    transform: translateY(-2px);

}


/* HERO NOTE */

.hero-note {

    position: absolute;

    right: 5%;

    bottom: 9%;

    z-index: 5;

    text-align: right;

}


.hero-note span {

    font-size: 8px;

    letter-spacing: 1.5px;

}


.hero-note p {

    font-family: var(--heading-font);

    font-size: 18px;

    line-height: 1;

    margin-top: 5px;

}


/* =====================================================
   SECTION COMMON
===================================================== */

section {

    position: relative;

}


.section-heading {

    text-align: center;

    max-width: 650px;

    margin: 0 auto 45px;

}


.eyebrow {

    font-size: 14px;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--gray);

    margin-bottom: 10px;

}


.section-heading h2 {

    font-family: var(--heading-font);

    font-size: 58px;

    line-height: 1;

    font-weight: 500;

    margin-bottom: 12px;

}


.section-heading > p:last-child {

    font-size: 11px;

    line-height: 1.8;

    color: var(--gray);

}


/* =====================================================
   NEW ARRIVALS
===================================================== */

.new-arrivals {

    padding: 90px 5% 110px;

    background: var(--white);

}


/* PRODUCT GRID */

.product-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px 18px;

}


/* PRODUCT CARD */

.product-card {

    display: block;

}


.product-image {

    height: 480px;

    position: relative;

    overflow: hidden;

    background: #eeeeef;

}


.product-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .7s ease;

}


.product-card:hover .product-image img {

    transform: scale(1.04);

}


/* PRODUCT TAG */

.product-tag {

    position: absolute;

    top: 15px;

    left: 15px;

    background: white;

    padding: 7px 11px;

    font-size: 8px;

    letter-spacing: 1px;

}


/* QUICK ADD */

.quick-add {

    position: absolute;

    right: 15px;

    bottom: 15px;

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: white;

    display: flex;

    align-items: center;

    justify-content: center;

    opacity: 0;

    transform: translateY(10px);

    transition: .3s ease;

}


.product-card:hover .quick-add {

    opacity: 1;

    transform: translateY(0);

}


.quick-add i {

    font-size: 13px;

}


/* PRODUCT INFO */

.product-info {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    padding: 14px 3px 0;

}


.product-info h3 {

    font-family: var(--heading-font);

    font-size: 23px;

    font-weight: 500;

}


.product-info p {

    font-size: 14px;

    color: var(--gray);

    margin-top: 3px;

}


.product-info strong {

    font-size: 11px;

    font-weight: 500;

    padding-top: 5px;

}


/* CENTER BUTTON */

.center-btn {

    text-align: center;

    margin-top: 55px;

}


.outline-btn {

    display: inline-block;

    border: 1px solid var(--black);

    padding: 14px 30px;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

    transition: .3s ease;

}


.outline-btn:hover {

    background: var(--black);

    color: white;

}


/* =====================================================
   CATEGORIES
===================================================== */

.categories {

    background: #1c1c1c;

    color: white;

    padding: 95px 5% 100px;

}


.light-heading .eyebrow {

    color: #aaa;

}


.category-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;

}


.category-card {

    height: 510px;

    position: relative;

    overflow: hidden;

}


.category-card img {

    height: 100%;

    width: 100%;

    object-fit: cover;

    transition: .7s ease;

}


.category-card:hover img {

    transform: scale(1.06);

}


.category-overlay {

    position: absolute;

    inset: auto 0 0 0;

    padding: 35px 25px;

    background: linear-gradient(
        transparent,
        rgba(0,0,0,.75)
    );

}


.category-overlay h3 {

    font-family: var(--heading-font);

    font-size: 35px;

    font-weight: 500;

}


.category-overlay span {

    display: block;

    margin-top: 8px;

    font-size: 14px;

    letter-spacing: 1px;

    text-transform: uppercase;

}


/* =====================================================
   BRAND STORY
===================================================== */

.brand-story {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 700px;

    background: var(--cream);

}


.story-image {

    min-height: 650px;

}


.story-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.story-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 10%;

}


.story-content h2 {

    font-family: var(--heading-font);

    font-size: 65px;

    line-height: .9;

    font-weight: 500;

    margin-bottom: 30px;

}


.story-content > p:not(.eyebrow) {

    max-width: 450px;

     color: #555555;

    font-size: 11px;

    line-height: 1.9;

    margin-bottom: 15px;

}


.text-link {

    margin-top: 15px;

    font-size: 14px;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    border-bottom: 1px solid var(--black);

    padding-bottom: 6px;

    width: max-content;

}


/* =====================================================
   NEWSLETTER
===================================================== */

.newsletter {

    padding: 110px 20px;

    text-align: center;

    background: white;

}


.newsletter-content {

    max-width: 650px;

    margin: auto;

}


.newsletter h2 {

    font-family: var(--heading-font);

    font-size: 60px;

    font-weight: 500;

    margin-bottom: 10px;

}


.newsletter-content > p:not(.eyebrow) {
    color: #555555;
}

    font-size: 11px;

    line-height: 1.8;

    margin-bottom: 30px;

}


.newsletter-form {

    max-width: 450px;

    margin: auto;

    display: flex;

    border-bottom: 1px solid #999;

}


.newsletter-form input {

    flex: 1;

    border: none;

    outline: none;

    padding: 14px 0;

    font-size: 16px;

}


.newsletter-form button {

    font-size: 16px;

    text-transform: uppercase;

    letter-spacing: 1px;

}


/* =====================================================
   FOOTER
===================================================== */

.footer {

    background: #111;

    color: white;

    padding: 70px 5% 25px;

}



.footer-main {

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1fr;

    gap: 60px;

    padding-bottom: 70px;

}


.footer-logo {

    font-family: var(--heading-font);

    font-size: 36px;

    letter-spacing: 5px;

}


.footer-brand p {

    color: #999;

    font-size: 16px;

    line-height: 1.8;

    max-width: 250px;

    margin-top: 15px;

}


.footer-column {

    display: flex;

    flex-direction: column;

    gap: 12px;

}


.footer-column h4 {

    font-size: 14px;

    letter-spacing: 1.5px;

    margin-bottom: 8px;

}


.footer-column a {

    color: #999;

    font-size: 14px;

    transition: .3s ease;

}


.footer-column a:hover {

    color: white;

}


.footer-bottom {

    border-top: 1px solid #333;

    padding-top: 22px;

    display: flex;

    justify-content: space-between;

    color: #777;

    font-size: 8px;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1000px) {


    .main-nav {

        gap: 18px;

    }


    .product-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .category-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .category-card {

        height: 450px;

    }


    .hero-title h1 {

        font-size: 18vw;

    }


    .story-content h2 {

        font-size: 52px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {


    /* HEADER */

    .site-header {

        height: 60px;

        padding: 0 15px;

    }


    .header-left {

        width: auto;

    }


    .menu-btn span {

        display: none;

    }


    .search-box {

        display: none;

    }


    .logo {

        font-size: 25px;

        letter-spacing: 3px;

    }


    .main-nav {

        display: none;

    }


    .cart {

        width: auto;

    }


    .cart span {

        display: none;

    }


    .mobile-menu-btn {

        display: visible;

        margin-left: 15px;

        font-size: 18px;

    }


    /* HERO */

    .hero {

        height: 700px;

        min-height: 0;

    }


    .hero-image img {

        object-position: center;

    }


    .hero-title {

        top: 38%;

    }


    .hero-title h1 {

        font-size: 25vw;

        letter-spacing: -4px;

    }


    .hero-content {

        left: 22px;

        bottom: 45px;

    }


    .hero-content h2 {

        font-size: 38px;

    }


    .hero-note {

        right: 20px;

        bottom: 50px;

    }


    .hero-note p {

        font-size: 14px;

    }


    .hero-shape {

        border-width: 35px;

    }


    /* SECTIONS */

    .new-arrivals {

        padding: 65px 18px 80px;

    }


    .section-heading {

        margin-bottom: 30px;

    }


    .section-heading h2 {

        font-size: 45px;

    }


    /* PRODUCTS */

    .product-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 22px 10px;

    }


    .product-image {

        height: 300px;

    }


    .product-info {

        display: block;

    }


    .product-info h3 {

        font-size: 20px;

    }


    .product-info p {

        font-size: 8px;

    }


    .product-info strong {

        display: block;

        margin-top: 5px;

    }


    .quick-add {

        opacity: 1;

        transform: none;

        width: 34px;

        height: 34px;

        right: 8px;

        bottom: 8px;

    }


    /* CATEGORY */

    .categories {

        padding: 70px 18px;

    }


    .category-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 8px;

    }


    .category-card {

        height: 330px;

    }


    .category-overlay {

        padding: 20px 15px;

    }


    .category-overlay h3 {

        font-size: 27px;

    }


    /* STORY */

    .brand-story {

        grid-template-columns: 1fr;

    }


    .story-image {

        height: 500px;

        min-height: 0;

    }


    .story-content {

        padding: 70px 25px;

    }


    .story-content h2 {

        font-size: 48px;

    }


    /* NEWSLETTER */

    .newsletter {

        padding: 75px 20px;

    }


    .newsletter h2 {

        font-size: 45px;

    }


    .newsletter-form {

        width: 100%;

    }


    /* FOOTER */

    .footer {

        padding: 55px 25px 20px;

    }


    .footer-main {

        grid-template-columns: 1fr 1fr;

        gap: 45px 25px;

        padding-bottom: 50px;

    }


    .footer-brand {

        grid-column: 1 / -1;

    }


    .footer-bottom {

        display: block;

        line-height: 2;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 400px) {


    .hero {

        height: 650px;

    }


    .hero-title h1 {

        font-size: 27vw;

    }


    .product-image {

        height: 260px;

    }


    .category-card {

        height: 290px;

    }


    .story-content h2 {

        font-size: 42px;

    }


}


/* =====================================================
   ABOUT HERO
===================================================== */

.about-hero {

    height: 75vh;

    min-height: 550px;

    position: relative;

    overflow: hidden;

}


.about-hero-image {

    position: absolute;

    inset: 0;

}


.about-hero-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}


.about-hero-overlay {

    /* position: absolute; */

    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(0,0,0,.55),
        rgba(0,0,0,.05)
    );

}


.about-hero-content {

    position: absolute;

    left: 7%;

    bottom: 12%;

    color: white;

    max-width: 650px;

}


.about-hero-content .eyebrow {

    color: white;

    margin-bottom: 18px;

}


.about-hero-content h1 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 9vw, 125px);

    font-weight: 500;

    line-height: .82;

    letter-spacing: -2px;

    margin-bottom: 25px;

}


.about-hero-content > p:last-child {

    font-size: 11px;

    line-height: 1.8;

    max-width: 350px;

}


/* =====================================================
   ABOUT INTRO
===================================================== */

.about-intro {

    padding: 130px 20px;

    background: var(--white);

    text-align: center;

}


.about-intro-inner {

    max-width: 950px;

    margin: auto;

}


.about-intro h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 7vw, 90px);

    line-height: .9;

    font-weight: 500;

    margin-bottom: 45px;

}


.about-intro-text {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    max-width: 800px;

    margin: auto;

    text-align: left;

}


.about-intro-text p {

    font-size: 11px;

    line-height: 2;

    color: var(--gray);

}


/* =====================================================
   ABOUT STORY
===================================================== */

.about-story {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 750px;

    background: var(--cream);

}


.about-story-image {

    height: 750px;

}


.about-story-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.about-story-content {

    padding: 10%;

    display: flex;

    flex-direction: column;

    justify-content: center;

}


.about-story-content h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 6vw, 85px);

    font-weight: 500;

    line-height: .85;

    margin-bottom: 35px;

}


.about-story-content > p:not(.eyebrow) {

    max-width: 460px;

    color: var(--gray);

    font-size: 11px;

    line-height: 2;

    margin-bottom: 17px;

}


/* =====================================================
   PHILOSOPHY
===================================================== */

.philosophy {

    padding: 120px 6%;

    background: #191919;

    color: white;

}


.philosophy-heading {

    text-align: center;

    margin-bottom: 80px;

}


.philosophy-heading .eyebrow {

    color: #999;

}


.philosophy-heading h2 {

    font-family: var(--heading-font);

    font-size: clamp(60px, 7vw, 100px);

    font-weight: 500;

    line-height: .85;

}


.philosophy-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid #444;

}


.philosophy-item {

    padding: 35px 25px;

    border-right: 1px solid #444;

}


.philosophy-item:last-child {

    border-right: none;

}


.philosophy-number {

    display: block;

    font-size: 14px;

    color: #999;

    letter-spacing: 1px;

    margin-bottom: 55px;

}


.philosophy-item h3 {

    font-family: var(--heading-font);

    font-size: 32px;

    font-weight: 500;

    margin-bottom: 18px;

}


.philosophy-item p {

    color: #999;

    font-size: 14px;

    line-height: 1.9;

}


/* =====================================================
   CRAFT SECTION
===================================================== */

.craft-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    background: var(--cream);

}


.craft-image {

    min-height: 700px;

}


.craft-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.craft-content {

    padding: 10%;

    display: flex;

    flex-direction: column;

    justify-content: center;

}


.craft-content h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 6vw, 85px);

    font-weight: 500;

    line-height: .85;

    margin-bottom: 35px;

}


.craft-content > p:not(.eyebrow) {

    max-width: 440px;

    font-size: 11px;

    color: var(--gray);

    line-height: 2;

    margin-bottom: 18px;

}


.craft-content .text-link {

    margin-top: 15px;

}


/* =====================================================
   BRAND STATEMENT
===================================================== */

.brand-statement {

    min-height: 650px;

    background-image: url("assets/images/tunic.jpg");

    background-size: cover;

    background-position: center;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: white;

}


.brand-statement::before {

    content: "";

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,.42);

}


.brand-statement-content {

    position: relative;

    z-index: 2;

}


.brand-statement-content .eyebrow {

    color: white;

}


.brand-statement-content h2 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 9vw, 120px);

    line-height: .8;

    font-weight: 500;

    margin-bottom: 30px;

}


.brand-statement-content p:last-child {

    font-size: 11px;

    line-height: 2;

    letter-spacing: 1px;

}


/* =====================================================
   ABOUT CTA
===================================================== */

.about-cta {

    text-align: center;

    padding: 120px 20px;

    background: white;

}


.about-cta h2 {

    font-family: var(--heading-font);

    font-size: clamp(60px, 8vw, 105px);

    line-height: .82;

    font-weight: 500;

    margin-bottom: 40px;

}


/* =====================================================
   ABOUT RESPONSIVE
===================================================== */

@media (max-width: 900px) {


    .philosophy-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .philosophy-item:nth-child(2) {

        border-right: none;

    }


    .philosophy-item:nth-child(3),
    .philosophy-item:nth-child(4) {

        border-top: 1px solid #444;

    }


    .about-story,
    .craft-section {

        grid-template-columns: 1fr;

    }


    .about-story-image,
    .craft-image {

        height: 600px;

        min-height: 0;

    }


    .about-story-content,
    .craft-content {

        padding: 80px 8%;

    }

}


@media (max-width: 700px) {


    .about-hero {

        height: 300px;

        min-height: 0;
        margin-top: -55px;
 /* background-color: red; */
    }
 .about-hero img{
    height: 100%;
    width: 100%;
    object-fit: contain;
 }
   

    .about-hero-content {

        left: 22px;

        right: 22px;

        bottom: 50px;

    }


    .about-hero-content h1 {

        font-size: 62px;

    }


    .about-intro {

        padding: 20px 22px;

    }


    .about-intro h2 {

        font-size: 52px;

    }


    .about-intro-text {

        grid-template-columns: 1fr;

        gap: 20px;

        text-align: center;

    }


    .about-story-image,
    .craft-image {

        height: 500px;

    }


    .about-story-content,
    .craft-content {

        padding: 70px 25px;

    }


    .about-story-content h2,
    .craft-content h2 {

        font-size: 55px;

    }


    .philosophy {

        padding: 80px 22px;

    }


    .philosophy-heading {

        margin-bottom: 55px;

    }


    .philosophy-grid {

        grid-template-columns: 1fr 1fr;

    }


    .philosophy-item {

        padding: 25px 15px;

    }


    .philosophy-number {

        margin-bottom: 35px;

    }


    .philosophy-item h3 {

        font-size: 26px;

    }


    .philosophy-item p {

        font-size: 14px;

    }


    .brand-statement {

        min-height: 550px;

    }


    .brand-statement-content h2 {

        font-size: 65px;

    }


    .about-cta {

        padding: 85px 20px;

    }


    .about-cta h2 {

        font-size: 62px;

    }

}


@media (max-width: 450px) {


    .philosophy-grid {

        grid-template-columns: 1fr;

    }


    .philosophy-item,
    .philosophy-item:nth-child(3),
    .philosophy-item:nth-child(4) {

        border-right: none;

        border-top: 1px solid #444;

    }


    .philosophy-item:first-child {

        border-top: none;

    }


    .about-hero-content h1 {

        font-size: 55px;

    }


    .about-intro h2 {

        font-size: 45px;

    }


    .about-story-content h2,
    .craft-content h2 {

        font-size: 48px;

    }


    .brand-statement-content h2 {

        font-size: 55px;

    }

}


/* =====================================================
   CONTACT HERO
===================================================== */

.contact-hero {

    min-height: 560px;

    background: #eeeeec;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 80px 20px;

}


.contact-hero-content {

    max-width: 850px;

}


.contact-hero-content h1 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 9vw, 125px);

    line-height: .8;

    font-weight: 500;

    letter-spacing: -2px;

    margin-bottom: 30px;

}


.contact-hero-content > p:last-child {

    max-width: 430px;

    margin: auto;

    color: var(--gray);

    font-size: 11px;

    line-height: 1.9;

}


/* =====================================================
   CONTACT SECTION
===================================================== */

.contact-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 100px;

    padding: 120px 8%;

    background: white;

}


/* =====================================================
   CONTACT INFORMATION
===================================================== */

.contact-information h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 6vw, 85px);

    font-weight: 500;

    line-height: .85;

    margin-bottom: 35px;

}


.contact-description {

    max-width: 430px;

    color: var(--gray);

    font-size: 11px;

    line-height: 2;

    margin-bottom: 45px;

}


.contact-item {

    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 25px;

}


.contact-icon {

    width: 45px;

    height: 45px;

    border: 1px solid var(--border);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

}


.contact-icon i {

    font-size: 13px;

}


.contact-item h4 {

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

    margin-bottom: 5px;

}


.contact-item a,
.contact-item p {

    font-size: 14px;

    color: var(--gray);

}


.contact-item a:hover {

    color: var(--black);

}


/* =====================================================
   CONTACT FORM
===================================================== */

.contact-form-wrapper {

    background: #f5f5f3;

    padding: 55px;

}


.form-heading {

    margin-bottom: 35px;

}


.form-heading h3 {

    font-family: var(--heading-font);

    font-size: 48px;

    font-weight: 500;

    line-height: .9;

}


.contact-form {

    display: flex;

    flex-direction: column;

    gap: 24px;

}


.form-group {

    display: flex;

    flex-direction: column;

    gap: 8px;

}


.form-group label {

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

}


.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    border: none;

    border-bottom: 1px solid #aaa;

    background: transparent;

    outline: none;

    padding: 12px 0;

    font-size: 11px;

    color: var(--black);

    resize: vertical;

}


.form-group textarea {

    min-height: 100px;

}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color: var(--black);

}


.form-submit {

    margin-top: 10px;

    width: 100%;

    background: var(--black);

    color: white;

    padding: 17px 25px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    transition: .3s ease;

}


.form-submit:hover {

    background: #333;

}


.form-submit i {

    font-size: 14px;

}


.form-note {

    color: #888;

    font-size: 8px;

    margin-top: 18px;

    text-align: center;

}


/* =====================================================
   FAQ
===================================================== */

.contact-faq {

    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 100px;

    padding: 120px 8%;

    background: var(--cream);

}


.faq-heading h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 6vw, 85px);

    font-weight: 500;

    line-height: .85;

}


.faq-list {

    border-top: 1px solid #bbb;

}


.faq-list details {

    border-bottom: 1px solid #bbb;

}


.faq-list summary {

    list-style: none;

    cursor: pointer;

    padding: 24px 0;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-family: var(--heading-font);

    font-size: 25px;

}


.faq-list summary::-webkit-details-marker {

    display: none;

}


.faq-list summary span {

    font-family: var(--body-font);

    font-size: 18px;

    font-weight: 300;

}


.faq-list details p {

    max-width: 600px;

    padding: 0 40px 25px 0;

    color: var(--gray);

    font-size: 14px;

    line-height: 1.9;

}


/* =====================================================
   CONTACT CTA
===================================================== */

.contact-cta {

    min-height: 550px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    background: #1a1a1a;

    color: white;

    padding: 80px 20px;

}


.contact-cta .eyebrow {

    color: #999;

}


.contact-cta h2 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 8vw, 110px);

    font-weight: 500;

    line-height: .8;

    margin-bottom: 40px;

}


.whatsapp-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 15px 25px;

    border: 1px solid #777;

    color: white;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

    transition: .3s ease;

}


.whatsapp-btn:hover {

    background: white;

    color: black;

}


.whatsapp-btn i {

    font-size: 15px;

}


/* =====================================================
   CONTACT TABLET
===================================================== */

@media (max-width: 900px) {


    .contact-section {

        grid-template-columns: 1fr;

        gap: 70px;

        padding: 90px 7%;

    }


    .contact-faq {

        grid-template-columns: 1fr;

        gap: 60px;

        padding: 90px 7%;

    }


}


/* =====================================================
   CONTACT MOBILE
===================================================== */

@media (max-width: 700px) {


    .contact-hero {

        min-height: 500px;

        padding: 70px 22px;

    }


    .contact-hero-content h1 {

        font-size: 62px;

        letter-spacing: -1px;

    }


    .contact-section {

        padding: 75px 22px;

        gap: 60px;

    }


    .contact-information h2 {

        font-size: 52px;

    }


    .contact-form-wrapper {

        padding: 35px 22px;

    }


    .form-heading h3 {

        font-size: 42px;

    }


    .contact-faq {

        padding: 75px 22px;

        gap: 50px;

    }


    .faq-heading h2 {

        font-size: 52px;

    }


    .faq-list summary {

        font-size: 21px;

    }


    .contact-cta {

        min-height: 480px;

    }


    .contact-cta h2 {

        font-size: 62px;

    }

}


@media (max-width: 400px) {


    .contact-hero-content h1 {

        font-size: 52px;

    }


    .contact-information h2 {

        font-size: 45px;

    }


    .form-heading h3 {

        font-size: 38px;

    }


    .contact-cta h2 {

        font-size: 52px;

    }

}

/* =====================================================
   PRODUCT PAGE HERO
===================================================== */

.product-hero {

    min-height: 560px;

    background: #eeeeec;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 80px 20px;

}


.product-hero-content {

    max-width: 850px;

}


.product-hero-content h1 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 9vw, 125px);

    font-weight: 500;

    line-height: .8;

    letter-spacing: -2px;

    margin-bottom: 30px;

}


.product-hero-content > p:last-child {

    max-width: 430px;

    margin: auto;

    color: var(--gray);

    font-size: 11px;

    line-height: 1.9;

}


/* =====================================================
   COLLECTION
===================================================== */

.collection-section {

    padding: 100px 5% 120px;

    background: white;

}


.collection-top {

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    margin-bottom: 45px;

}


.collection-top h2 {

    font-family: var(--heading-font);

    font-size: clamp(55px, 6vw, 80px);

    font-weight: 500;

    line-height: .85;

}


.collection-count {

    color: var(--gray);

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

}


/* =====================================================
   CATEGORY FILTER
===================================================== */

.category-filter {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: wrap;

    border-bottom: 1px solid var(--border);

    padding-bottom: 20px;

    margin-bottom: 35px;

}


.filter-btn {

    border: 1px solid #d5d5d2;

    background: white;

    padding: 10px 18px;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 1px;

    transition: .3s ease;

}


.filter-btn:hover {

    background: #eeeeec;

}


.filter-btn.active {

    background: var(--black);

    color: white;

    border-color: var(--black);

}


/* =====================================================
   PRODUCT GRID
===================================================== */

.collection-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 45px 18px;

}


.collection-product {

    min-width: 0;

}


.collection-image {

    position: relative;

    height: 500px;

    overflow: hidden;

    background: #eeeeee;

}


.collection-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .7s ease;

}


.collection-product:hover
.collection-image img {

    transform: scale(1.045);

}


/* =====================================================
   BADGES
===================================================== */

.collection-badge,
.sale-badge {

    position: absolute;

    top: 15px;

    left: 15px;

    padding: 7px 11px;

    background: white;

    color: black;

    font-size: 8px;

    letter-spacing: 1px;

    z-index: 2;

}


.sale-badge {

    background: black;

    color: white;

}


/* =====================================================
   ADD TO BAG
===================================================== */

.collection-add {

    position: absolute;

    right: 15px;

    bottom: 15px;

    width: 43px;

    height: 43px;

    border-radius: 50%;

    background: white;

    display: flex;

    align-items: center;

    justify-content: center;

    opacity: 0;

    transform: translateY(10px);

    transition: .3s ease;

    z-index: 3;

}


.collection-product:hover
.collection-add {

    opacity: 1;

    transform: translateY(0);

}


.collection-add:hover {

    background: black;

    color: white;

}


.collection-add i {

    font-size: 13px;

}


/* =====================================================
   PRODUCT INFO
===================================================== */

.collection-info {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 15px;

    padding-top: 15px;

}


.collection-info h3 {

    font-family: var(--heading-font);

    font-size: 24px;

    line-height: 1;

    font-weight: 500;

}


.collection-info p {

    color: var(--gray);

    font-size: 14px;

    margin-top: 6px;

}


.collection-info strong {

    font-size: 11px;

    font-weight: 500;

    white-space: nowrap;

    padding-top: 3px;

}


/* =====================================================
   NO PRODUCTS
===================================================== */

.no-products {

    display: none;

    text-align: center;

    padding: 100px 20px;

}


.no-products i {

    font-size: 30px;

    margin-bottom: 20px;

}


.no-products h3 {

    font-family: var(--heading-font);

    font-size: 35px;

    font-weight: 500;

}


.no-products p {

    font-size: 14px;

    color: var(--gray);

    margin-top: 8px;

}


/* =====================================================
   COLLECTION CTA
===================================================== */

.collection-cta {

    min-height: 600px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: white;

    background:

        linear-gradient(
            rgba(0,0,0,.45),
            rgba(0,0,0,.45)
        ),

        url("assets/images/hero.jpg");

    background-size: cover;

    background-position: center;

    padding: 80px 20px;

}


.collection-cta h2 {

    font-family: var(--heading-font);

    font-size: clamp(65px, 8vw, 110px);

    font-weight: 500;

    line-height: .8;

    margin-bottom: 45px;

}


.collection-cta .outline-btn {

    border-color: white;

    color: white;

}


.collection-cta .outline-btn:hover {

    background: white;

    color: black;

}


/* =====================================================
   PRODUCT TABLET
===================================================== */

@media (max-width: 1000px) {


    .collection-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 35px 15px;

    }


    .collection-image {

        height: 470px;

    }

}


/* =====================================================
   PRODUCT MOBILE
===================================================== */

@media (max-width: 700px) {


    .product-hero {

        min-height: 480px;

        padding: 70px 22px;

    }


    .product-hero-content h1 {

        font-size: 60px;

    }


    .collection-section {

        padding: 70px 18px 80px;

    }


    .collection-top {

        display: block;

        margin-bottom: 30px;

    }


    .collection-top h2 {

        font-size: 50px;

    }


    .collection-count {

        margin-top: 15px;

    }


    .category-filter {

        gap: 6px;

        overflow-x: auto;

        flex-wrap: nowrap;

        padding-bottom: 15px;

        scrollbar-width: none;

    }


    .category-filter::-webkit-scrollbar {

        display: none;

    }


    .filter-btn {

        flex: 0 0 auto;

        padding: 9px 14px;

    }


    .collection-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 30px 10px;

    }


    .collection-image {

        height: 320px;

    }


    .collection-info {

        display: block;

    }


    .collection-info h3 {

        font-size: 20px;

    }


    .collection-info p {

        font-size: 8px;

        line-height: 1.5;

    }


    .collection-info strong {

        display: block;

        margin-top: 8px;

    }


    .collection-add {

        opacity: 1;

        transform: none;

        width: 35px;

        height: 35px;

        right: 8px;

        bottom: 8px;

    }


    .collection-badge,
    .sale-badge {

        top: 8px;

        left: 8px;

        padding: 6px 8px;

        font-size: 7px;

    }


    .collection-cta {

        min-height: 500px;

    }


    .collection-cta h2 {

        font-size: 62px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 400px) {


    .product-hero-content h1 {

        font-size: 52px;

    }


    .collection-top h2 {

        font-size: 45px;

    }


    .collection-grid {

        gap: 25px 8px;

    }


    .collection-image {

        height: 280px;

    }


    .collection-info h3 {

        font-size: 18px;

    }


    .collection-cta h2 {

        font-size: 52px;

    }

}

/* =====================================================
   LEFT LOGO
===================================================== */

.logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 150px;

    flex-shrink: 0;

    text-decoration: none;
}

.logo img {
    display: block;

    width: 130px;
    height: auto;

    object-fit: contain;
}


/* HEADER */

.site-header {
    display: flex;
    align-items: center;

    gap: 35px;

    padding: 20px 40px;

    background: #fff;

    position: sticky;
    top: 0;

    z-index: 1000;
}


/* MENU + SEARCH */

.header-left {
    display: flex;
    align-items: center;

    gap: 25px;

    flex: 1;
}


/* NAV */

.main-nav {
    display: flex;
    align-items: center;

    justify-content: center;

    gap: 35px;

    flex: 2;
}


/* CART */

.cart {
    display: flex;
    align-items: center;

    gap: 8px;

    width: 150px;

    justify-content: flex-end;

    text-decoration: none;

    color: #111;

    font-size: 14px;
}

/* Base Header Layout */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    position: relative;
    background-color: #fff;
}

.main-nav {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }

    .main-nav {
        display: none; /* Hide default nav on mobile */
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #fff;
        padding: 1.5rem 0;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        gap: 1.2rem;
    }

    /* Active state toggled by JS */
    .main-nav.active {
        display: flex;
    }
}

.brand-logo img {
    height: 50px; /* Adjust this value based on your navbar size */
    width: auto;  /* Keeps the logo's proportions correct */
    display: block;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.footer-logo img {
    width: 90px;
    height: 110px;
    display: block;
    object-fit: contain;
}

/* =====================================================
   MOBILE HERO BANNER - FULL SCREEN
===================================================== */

@media (max-width: 700px) {

    .hero {
        width: 100%;
        height: 450px;
        min-height: 450px;
        max-height: 850px;
        position: relative;
        overflow: hidden;
    }

    .hero-content, .hero-note{
        display: none;
    }

    .hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .hero-image img {
        width: 100%;
        height: 100%;
        display: block;

        /* Fill the complete mobile banner */
        object-fit: cover;

        /* Adjust image focus */
        object-position: center center;
    }

    /* Keep text inside mobile screen */
    .hero-content {
        left: 22px;
        right: 22px;
        bottom: 45px;
        z-index: 5;
    }

    .hero-content h2 {
        font-size: 42px;
        line-height: 0.9;
        margin-bottom: 22px;
    }

    .hero-small {
        font-size: 8px;
        letter-spacing: 1.8px;
        margin-bottom: 12px;
    }

    .hero-note {
        right: 22px;
        bottom: 45px;
    }

    /* Prevent oversized decorative elements */
    .hero-shape {
        border-width: 35px;
    }

    .shape-one {
        width: 280px;
        height: 180px;
        top: -70px;
        right: -120px;
    }

    .shape-two {
        width: 300px;
        height: 180px;
        bottom: -100px;
        left: -150px;
    }
}


@media (max-width: 700px) {

.about-hero-image{
    width: 100%;
        height: 350px;
        min-height: 350px;
        max-height: 850px;
        position: relative;
        overflow: hidden;
}


}

/* =====================================================
   ENQUIRE NOW BUTTON (PRODUCT CARDS)
===================================================== */

.enquire-btn {
    position: absolute;
    right: 15px;
    bottom: 15px;
    background: white;
    color: var(--black);
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 6px;
    opacity: 0;
    transform: translateY(10px);
    transition: .3s ease;
    z-index: 3;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.collection-product:hover .enquire-btn {
    opacity: 1;
    transform: translateY(0);
}

.enquire-btn:hover {
    background: var(--black);
    color: white;
}

.enquire-btn i {
    font-size: 11px;
}

/* Mobile fix so the button is always visible on touch screens */
@media (max-width: 700px) {
    .enquire-btn {
        opacity: 1;
        transform: none;
        padding: 7px 12px;
        right: 8px;
        bottom: 8px;
    }
}

/* =====================================================
   GOOGLE MAP
===================================================== */

.contact-map {
    padding: 110px 8%;
    
}

.map-heading {
    text-align: center;
    max-width: 650px;
    margin: 0 auto 50px;
}

.map-heading h2 {
    font-family: var(--heading-font);
    font-size: clamp(55px, 6vw, 85px);
    font-weight: 500;
    line-height: .85;
    margin-bottom: 25px;
}

.map-heading > p:last-child {
    color: var(--gray);
    font-size: 11px;
    line-height: 1.8;
}

.map-wrapper {
    width: 100%;
    overflow: hidden;
    background: var(--cream);
}

.map-wrapper iframe {
    display: block;
    width: 100%;
    height: 500px;
    border: 0;
    /* filter: grayscale(100%); */
}


/* =====================================================
   GOOGLE MAP RESPONSIVE
===================================================== */

@media (max-width: 700px) {

    .contact-map {
        padding: 75px 18px;
    }

    .map-heading {
        margin-bottom: 35px;
    }

    .map-heading h2 {
        font-size: 52px;
    }

    .map-wrapper iframe {
        height: 350px;
    }

}


.home-heading {
    font-family: 'Cormorant Garamond', serif;
    color: #111111;
    font-size: clamp(36px, 5vw, 65px);
    line-height: 1.05;
    font-weight: 500;
}


