
a     {-webkit-transform: rotate(0);}
a img {-webkit-backface-visibility: hidden;}

a {outline : none;}
a img {outline : none;}
img {border : 0;}

:root {
    --coast-sand: #f7efe3;
    --coast-sand-deep: #ead9c2;
    --coast-foam: #fdf9f2;
    --coast-sea: #86b7c9;
    --coast-sea-deep: #4f8ea8;
    --coast-turquoise: #7cc7c9;
    --coast-sky: #d8edf3;
    --coast-text: #5c5f61;
    --coast-title: #5f95b6;
    --coast-white: rgba(255, 255, 255, 0.92);
    --coast-shadow: 0 24px 70px rgba(73, 111, 128, 0.12);
}


html {
    font-size: 12.5px;
}

body {
    font-size: 1.78rem;
    line-height: 1.65;
    font-family: 'Manrope', sans-serif;
    color: var(--coast-text);
    background:
        radial-gradient(circle at top left, rgba(216, 237, 243, 0.6), transparent 32%),
        linear-gradient(180deg, #fefcf8 0%, #f7f0e6 46%, #fcfaf5 100%);
}

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

p,
li,
a,
button,
input,
select,
textarea,
label {
    font-size: 1em;
    font-family: 'Syne', 'Manrope', sans-serif;
}

small,
.small {
    font-size: 1em;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-family: 'Syne', 'Manrope', sans-serif;
}


/* Estilos de margen y tamaño */

.m-t-10 {margin-top:10px;}
.m-t-20 {margin-top:20px;}
.m-t-30 {margin-top:30px;}
.m-t-40 {margin-top:40px;}
.m-t-50 {margin-top:50px;}

.m-b-10 {margin-bottom:10px;}
.m-b-20 {margin-bottom:20px;}
.m-b-30 {margin-bottom:30px;}
.m-b-40 {margin-bottom:40px;}
.m-b-50 {margin-bottom:50px;}


.p-0 { padding: 0; }

.p-t-10 {padding-top:10px;}
.p-t-20 {padding-top:20px;}
.p-t-30 {padding-top:30px;}
.p-t-40 {padding-top:40px;}
.p-t-50 {padding-top:50px;}
.p-t-60 {padding-top:60px;}
.p-t-70 {padding-top:70px;}
.p-t-80 {padding-top:80px;}
.p-t-90 {padding-top:90px;}
.p-t-100 {padding-top:100px;}
.p-t-120 {padding-top:120px;}
.p-t-130 {padding-top:130px;}
.p-t-140 {padding-top:140px;}
.p-t-150 {padding-top:150px;}
.p-t-160 {padding-top:160px;}
.p-t-170 {padding-top:170px;}
.p-t-180 {padding-top:180px;}
.p-t-200 {padding-top:200px;}
.hero-suites .navbar {
     z-index: 10;
     padding-top: 1rem !important;
     padding-bottom: 1rem !important;
}

.hero-suites .navbar-brand {
     font-size: 1.8rem;
     margin-right: 3rem;
     flex-shrink: 0;
}

.hero-suites .navbar-brand .d-block.small {
     font-size: 0.65rem;
     letter-spacing: 1px;
     text-transform: uppercase;
}

.hero-suites .navbar-brand .fs-4 {
     font-size: 1.4rem !important;
     font-weight: 700;
     line-height: 1.1;
}

.hero-suites .navbar-collapse {
     flex-grow: 0;
     justify-content: space-between;
     align-items: center;
     gap: 3rem;
}

.hero-suites .navbar-nav {
     gap: 3rem !important;
}
.p-t-210 {padding-top:210px;}
.p-t-220 {padding-top:220px;}
.p-t-250 {padding-top:250px;}
.p-t-300 {padding-top:300px;}
.p-t-400 {padding-top:400px;}
.p-t-500 {padding-top:500px;}






.p-b-10 {padding-bottom:10px;}
.p-b-20 {padding-bottom:20px;}
.p-b-30 {padding-bottom:30px;}
.p-b-40 {padding-bottom:40px;}
.p-b-50 {padding-bottom:50px;}
.p-b-60 {padding-bottom:60px;}
.p-b-70 {padding-bottom:70px;}
.p-b-100 {padding-bottom:100px;}



.p-l-40 {padding-left:40px;}

.m-l-30 {margin-left:30px;}
.m-l-40 {margin-left:40px;}


.p-r-40 {padding-right:40px;}

.hero-suites .nav-link {
     position: relative;
     font-size: 1.35rem;
     color: rgba(255, 255, 255, 0.9);
     font-weight: 500;
     letter-spacing: 0.5px;
     padding: 0 !important;
     white-space: nowrap;
}








/* Estilos de textos */



h1 { 	font-family: 'Manrope', sans-serif;
		font-weight: 700;
		font-size: 2.8em; 
		color: white;
	}

.hero-suites .nav-link.active::after {
     content: "";
     position: absolute;
     left: 0;
     right: 0;
     bottom: -6px;
     height: 2px;
     background: #ffffff;
}

h2 {font-family: 'Manrope', sans-serif;	
	font-size: 2em; 	
	font-weight: 500; }

h3 { 
	font-family: 'Manrope', sans-serif;	
	font-weight: 700;
	font-size: 2.5em;}

.hero-suites .d-flex.align-items-center {
     gap: 2.5rem !important;
     flex-shrink: 0;
}

.hero-suites .d-flex.align-items-center a {
     font-size: 1.8rem;
     transition: opacity 0.3s ease;
     display: flex;
     align-items: center;
     justify-content: center;
}
h4 {	font-size: 1.5em;
	font-weight: 400;
	line-height: 1.6em;}




/* estilos de color */

.bgm-negro{background: rgba(0,0,0,1)}

.bgm-gris-1 { background: rgba(200,200,200,1); }

.bgm-gris-2 { background: rgba(170,170,170,1); }

.bgm-gris-3 { background: rgba(140,140,140,1); }

.c-blanco { color: rgba(255,255,255,1); }




/* Menu principal */

.navbar-top { 	position: fixed;
	z-index: 999;
	width: 100%; 
	background:rgba(0,0,0,0);
	box-shadow:0 0 10px rgba(0,0,0,0);
		
}

.navbar-top-2 { background:rgba(89,25,91,0.6); }


.menu-principal li a { 	
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	text-decoration: none;
	color:rgba(255,255,255,1);
	cursor: pointer;
	font-size: 1.3em;
	font-weight: 700;
	padding: 5px 10px }


.menu-principal li a:hover { color:rgba(195,159,217,1); }

.menu-principal li a.active { color:rgba(255,255,255,1); }

.submenu-productos { background: rgba(0,0,0,0.85);
				position: fixed;
				width: 100%;
				min-height: 100%;
				z-index: 99;
				top: 100px;
				display: none;
				transition: 300ms ease all;}


.submenu-productos h2 { color: rgba(255,255,255,1); 
					margin-bottom: 40px;}


.submenu-productos img {max-width: 160px;
	-webkit-filter: none;
	filter: none;
	opacity: 1;
	border-radius:50%;
	border:3px solid rgba(255,255,255,1);
}			
					


.submenu-desarrollos-2 { background: url(../img/bg-01a.jpg) no-repeat top;
		background-size: cover;
					padding-top: 120px;
				transition: 300ms ease all;}


.submenu-desarrollos-2 h2 { color: rgba(255,255,255,1); 
					margin-bottom: 40px;
					}


.submenu-desarrollos-2 img { max-width: 160px;
					-webkit-filter: grayscale(1);
					filter: grayscale(1);
					opacity: 0.7;
					border-radius:50%;
					border:3px solid rgba(255,255,255,0);}						



.submenu-desarrollos-2 img:hover { max-width: 160px;
					-webkit-filter: none;
					filter: none;
					opacity: 1;
					border-radius:50%;
					border:3px solid rgba(255,255,255,1);}						

.menu-movil li {	list-style: none;}

.menu-movil li a { 
							font-family: 'Poppins', sans-serif;	
							font-weight: 700;
							color:rgba(255,255,255,1);
							font-size: 2em;
							font-weight: 700;
							padding: 10px 10px;}
					

.menu-movil li a:hover { color:rgba(255,255,255,1); }

.menu-movil li a.active { color:rgba(255,255,255,1); }

.close-menumovil { color: white; opacity: 1;
			font-size: 3em;}

.close-submenu-desarrollos{color: white; opacity: 1;
			font-size: 3em;}

.telefono-encabezado {	font-family: 'Montserrat', sans-serif;
				font-weight: 400;
				color:rgba(255,255,255,1);}


.telefono-encabezado a {font-family: 'Montserrat', sans-serif;
				font-weight: 700;
				padding-left: 10px;
				padding-right: 10px;
				color:rgba(255,255,255,1);}


.boton-menu-movil { position: fixed;
			z-index: 99;
			right: 14px;
			background: rgba(0,0,0,0.5);
			padding: 12px; }



.modal-menumovil  { background-color:rgba(89,25,91,0.8) !important; }


.modal-content { background:none;
	box-shadow: none;
	border: 0; }



/* Estilos de seccion */




/* estilos de botón */

.btn { 	border-radius: 0 !important;
border: 0;
padding: 10px 40px;
font-family: 'Poppins', sans-serif;
font-weight: 700;
}



/*Estilo de boton whatssap*/
.whatsapp-float {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 2050;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(24, 46, 67, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.whatsapp-float:hover,
.whatsapp-float:focus {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 24px 54px rgba(24, 46, 67, 0.24);
}

.whatsapp-float-icon {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain;
}


/*Estilos de tienda en linea*/

/* =========================================================
   VARIABLES
========================================================= */

@font-face{
    font-family:'_Crafter';
    src:
        local('_Crafter'),
        local('Crafter'),
        url('../fonts/_Crafter.woff2') format('woff2'),
        url('../fonts/Crafter.woff2') format('woff2'),
        url('../fonts/_Crafter.woff') format('woff'),
        url('../fonts/Crafter.woff') format('woff'),
        url('../fonts/_Crafter.ttf') format('truetype'),
        url('../fonts/Crafter.ttf') format('truetype'),
        url('../fonts/_Crafter.otf') format('opentype'),
        url('../fonts/Crafter.otf') format('opentype'),
        url('../fonts/Crafter-Rough.otf') format('opentype');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'Syne';
    src:
        local('Syne'),
        url('../fonts/Syne-VariableFont_wght.ttf') format('truetype');
    font-weight:400 800;
    font-style:normal;
    font-display:swap;
}


:root{

    --bg: #f7f2e9;

    --orange: #b85f40;

    --orange-dark: #9f4d32;

    --green: #89997d;

    --green-dark: #748567;

    --beige: #dcc69d;

    --beige-dark: #d4bd90;

    --text: #292929;

    --white: #ffffff;

    --font-title: '_Crafter', 'Crafter', 'Paytone One', sans-serif;

    --font-body: 'Syne', 'Manrope', sans-serif;

}


/* =========================================================
   RESET / GENERAL
========================================================= */

html,
body{
    width:100%;
    margin:0;
    padding:0;
    overflow-x:hidden;
}


html{
    overflow-y:auto;
}


body{
    min-height:100%;
}


@supports (overflow-x:clip){
    html,
    body{
        overflow-x:clip;
    }
}


body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
}


img{
    display:block;
    max-width:100%;
    height:auto;
    image-rendering:auto;
    -webkit-image-rendering:auto;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translateZ(0);
}


a{
    transition:all .25s ease;
}


p,
li,
a,
button,
input,
select,
textarea,
label,
.section-subtitle,
.local-subtitle,
.local-intro,
.hero-description,
.category-card-title,
.purpose-description,
.footer-slogan,
.footer-copy,
.footer-menu a,
.footer-contact{
    font-family:var(--font-body);
}


h1,
h2,
h3,
h4,
h5,
h6,
.title-green,
.title-orange,
.hero-small-title,
.hero-title,
.brand-logo,
.footer-brand,
.purpose-main-title,
.large-shape-title{
    font-family:var(--font-title);
    font-weight:400;
    font-synthesis:none;
}


.section-space{
    padding-top:70px;
    padding-bottom:70px;
}


.section-heading{
    margin-bottom:50px;
}


.hero-section,
.category-section,
.story-section,
.featured-section,
.apparel-section,
.product-detail-section,
.related-products-section,
.art-section,
.local-artist-section,
.purpose-section,
.customers-section,
.visit-section,
.contact-section,
.payment-section,
.main-footer{
    position:relative;
    isolation:isolate;
    overflow:hidden;
}


.hero-section > .container,
.category-section > .container,
.story-section > .container,
.featured-section > .container,
.apparel-section > .container,
.product-detail-section > .container,
.related-products-section > .container,
.art-section > .container,
.local-artist-section > .container,
.purpose-section > .container,
.customers-section > .container,
.visit-box,
.contact-box,
.payment-section > .container,
.main-footer > .container{
    position:relative;
    z-index:1;
}


.hero-section::before,
.hero-section::after,
.category-section::before,
.category-section::after,
.story-section::before,
.story-section::after,
.featured-section::before,
.featured-section::after,
.apparel-section::before,
.apparel-section::after,
.product-detail-section::before,
.product-detail-section::after,
.related-products-section::before,
.related-products-section::after,
.art-section::before,
.art-section::after,
.local-artist-section::before,
.local-artist-section::after,
.purpose-section::before,
.purpose-section::after,
.customers-section::before,
.customers-section::after,
.visit-section::before,
.visit-section::after,
.contact-section::before,
.contact-section::after,
.payment-section::before,
.payment-section::after,
.main-footer::before,
.main-footer::after{
    content:"";
    position:absolute;
    z-index:0;
    display:block;
    width:34px;
    aspect-ratio:1;
    background:var(--orange);
    clip-path:polygon(50% 0, 62% 35%, 100% 50%, 62% 65%, 50% 100%, 38% 65%, 0 50%, 38% 35%);
    pointer-events:none;
    opacity:.34;
    transform-origin:center;
    animation:ntveTinyStarGlow 5.8s ease-in-out infinite;
}


.hero-section::before{
    left:7vw;
    top:86px;
    width:26px;
    background:var(--green);
    animation-delay:.8s;
}


.hero-section::after{
    right:10vw;
    bottom:34px;
    width:22px;
    background:var(--beige-dark);
    animation-delay:1.7s;
}


.category-section::before{
    left:8vw;
    top:54px;
    width:38px;
}


.category-section::after{
    right:11vw;
    bottom:66px;
    width:24px;
    background:var(--green);
    animation-delay:1.1s;
}


.story-section::before{
    right:8vw;
    top:76px;
    width:32px;
    background:var(--green);
    animation-delay:.4s;
}


.story-section::after{
    left:13vw;
    bottom:42px;
    width:20px;
    background:var(--orange);
    animation-delay:2s;
}


.featured-section::before{
    left:5vw;
    top:112px;
    width:24px;
    background:var(--beige-dark);
    animation-delay:.7s;
}


.featured-section::after{
    right:6vw;
    bottom:82px;
    width:36px;
    background:var(--orange);
    animation-delay:1.6s;
}


.apparel-section::before,
.product-detail-section::before{
    left:4vw;
    top:132px;
    width:32px;
    background:var(--green);
}


.apparel-section::after,
.product-detail-section::after{
    right:5vw;
    bottom:104px;
    width:24px;
    background:var(--orange);
    animation-delay:1.4s;
}


.related-products-section::before{
    left:7vw;
    top:72px;
    width:24px;
    background:var(--beige-dark);
    animation-delay:.9s;
}


.related-products-section::after{
    right:8vw;
    bottom:84px;
    width:34px;
    background:var(--green);
    animation-delay:2.1s;
}


.art-section::before{
    left:9vw;
    top:58px;
    width:22px;
    background:var(--orange);
    animation-delay:.5s;
}


.art-section::after{
    right:8vw;
    bottom:38px;
    width:40px;
    background:var(--green);
    animation-delay:1.3s;
}


.local-artist-section::before{
    right:13vw;
    top:118px;
    width:26px;
    background:var(--beige-dark);
    animation-delay:.2s;
}


.local-artist-section::after{
    left:6vw;
    bottom:92px;
    width:32px;
    background:var(--orange);
    animation-delay:1.8s;
}


.purpose-section::before{
    left:10vw;
    top:82px;
    width:28px;
    background:var(--green);
    animation-delay:1.2s;
}


.purpose-section::after{
    right:12vw;
    bottom:76px;
    width:22px;
    background:var(--orange);
    animation-delay:2.4s;
}


.customers-section::before{
    right:7vw;
    top:74px;
    width:36px;
    background:var(--orange);
    animation-delay:.6s;
}


.customers-section::after{
    left:7vw;
    bottom:68px;
    width:24px;
    background:var(--green);
    animation-delay:1.9s;
}


.visit-section::before{
    right:9vw;
    top:74px;
    width:24px;
    background:var(--green);
}


.visit-section::after{
    left:5vw;
    bottom:30px;
    width:34px;
    background:var(--orange);
    animation-delay:1.3s;
}


.contact-section::before{
    left:9vw;
    top:78px;
    width:22px;
    background:var(--orange);
    animation-delay:.9s;
}


.contact-section::after{
    right:5vw;
    bottom:72px;
    width:32px;
    background:var(--green);
    animation-delay:2.2s;
}


.payment-section::before{
    left:12vw;
    top:42px;
    width:20px;
    background:var(--beige-dark);
    animation-delay:.3s;
}


.payment-section::after{
    right:11vw;
    bottom:42px;
    width:28px;
    background:var(--orange);
    animation-delay:1.5s;
}


.main-footer::before{
    left:6vw;
    top:36px;
    width:24px;
    background:var(--orange);
    animation-delay:.6s;
}


.main-footer::after{
    right:7vw;
    bottom:38px;
    width:30px;
    background:var(--green);
    animation-delay:1.9s;
}


/* =========================================================
   TITLES
========================================================= */

.title-green{
    color:var(--green);
    font-size:40px;
    line-height:1;
    letter-spacing:1px;
}


.title-orange{
    color:var(--orange);
    font-size:40px;
    line-height:1;
    letter-spacing:1px;
}


.section-subtitle{
    font-size:18px;
    line-height:1.15;
}


/* =========================================================
   BUTTONS
========================================================= */

.btn-green{
    background:var(--green);
    color:var(--white);
    border:0;
    font-size:13px;
    font-weight:600;
    padding:7px 20px;
}


.btn-green:hover{
    background:var(--green-dark);
    color:var(--white);
}


.btn-orange{
    background:var(--orange);
    color:var(--white);
    border:0;
    border-radius:5px;
    font-size:12px;
    font-weight:600;
    padding:8px 22px;
}


.btn-orange:hover{
    background:var(--orange-dark);
    color:var(--white);
}


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

.main-header{
    padding-top:18px;
    padding-bottom:9px;
    background:var(--bg);
}


.main-header .container{
    width:min(94%, 1120px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.main-header .row{
    display:grid;
    grid-template-columns:minmax(270px, 1fr) minmax(260px, auto) minmax(270px, 1fr);
    align-items:center;
    column-gap:28px;
    margin-right:0;
    margin-left:0;
}


.header-address-column,
.header-logo-column,
.header-actions-column{
    width:auto;
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.header-address{
    color:var(--orange);
    gap:12px !important;
}


.header-address > .bi{
    font-size:26px;
    line-height:1;
}


.header-address-select{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:0;
    border:0;
    border-radius:2px;
    background:transparent;
    color:var(--orange);
    font:inherit;
    max-width:none;
    font-size:14px;
    font-weight:800;
    line-height:1.15;
    text-align:left;
}


.header-address-select .bi{
    display:none;
}


.brand-logo{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:var(--orange);
    font-family:var(--font-title);
    font-size:31px;
    font-weight:400;
    line-height:.82;
    letter-spacing:0;
}


.brand-logo:hover{
    color:var(--orange-dark);
}


.brand-logo-image{
    display:block;
    width:210px;
    max-width:100%;
    height:auto;
}


.brand-logo strong{
    font-weight:400;
    white-space:nowrap;
}


.brand-logo strong span{
    display:inline-block;
    margin:0 5px;
    font-size:.72em;
    vertical-align:.12em;
}


.brand-logo-icons{
    display:block;
    width:50px;
    height:22px;
    flex:0 0 auto;
    fill:currentColor;
    stroke:var(--bg);
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.header-icons a{
    color:var(--orange);
    font-size:25px;
    line-height:1;
}


.header-icons a:hover{
    color:var(--orange-dark);
}


.header-icons{
    gap:18px !important;
}


.header-separator{
    width:1px;
    height:42px;
    background:var(--orange);
    margin:0 16px;
}


/* =========================================================
   NAVBAR
========================================================= */

.main-navbar-wrapper{
    width:min(94%, 1120px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.main-navbar{
    background:var(--beige);
    border-radius:8px;
    min-height:44px;
    padding-top:0;
    padding-bottom:0;
    box-shadow:0 7px 12px rgba(68, 48, 28, .18);
    overflow:visible;
}


.main-navbar .navbar-collapse{
    min-width:0;
}


.main-navbar .navbar-nav{
    width:100%;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
}


.main-navbar .nav-item{
    flex:0 0 auto;
}


.main-navbar .nav-link{
    color:var(--white);
    font-size:13px;
    font-weight:800;
    padding:12px 14px !important;
    white-space:nowrap;
}


.main-navbar .nav-link:hover{
    color:var(--white);
    opacity:.7;
}


.nav-category-dropdown{
    position:relative;
}


.nav-category-dropdown > .nav-link{
    position:relative;
}


.nav-category-dropdown > .nav-link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:9px;
    width:50px;
    height:2px;
    transform:translateX(-50%) scaleX(0);
    transform-origin:center;
    background:var(--white);
    transition:transform .2s ease;
}


.nav-category-dropdown:hover > .nav-link::after,
.nav-category-dropdown:focus-within > .nav-link::after{
    transform:translateX(-50%) scaleX(1);
}


.category-menu-panel{
    position:absolute;
    top:100%;
    left:50%;
    z-index:20;
    display:grid;
    grid-template-columns:150px minmax(190px, 1fr);
    gap:36px;
    width:425px;
    min-height:248px;
    padding:24px 22px 20px 24px;
    transform:translate(-35%, 8px);
    border-radius:9px;
    background:var(--beige);
    box-shadow:0 10px 22px rgba(68, 48, 28, .14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}


.nav-category-dropdown:hover .category-menu-panel,
.nav-category-dropdown:focus-within .category-menu-panel{
    transform:translate(-35%, 6px);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}


.category-menu-links{
    display:grid;
    gap:11px;
    align-content:start;
    text-align:left;
}


.category-menu-links a,
.category-menu-feature{
    color:var(--white);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:700;
    line-height:1.18;
    text-decoration:none;
    letter-spacing:0;
}


.category-menu-links a.active{
    text-decoration:underline;
    text-underline-offset:5px;
    text-decoration-thickness:1px;
}


.category-menu-side{
    display:grid;
    align-content:start;
    justify-items:stretch;
    gap:30px;
    min-width:0;
}


.category-menu-search{
    position:relative;
    display:block;
    width:100%;
    max-width:178px;
    height:29px;
    margin:0;
}


.category-menu-search input{
    width:100%;
    height:100%;
    padding:4px 28px 4px 8px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:3px;
    background:transparent;
    color:var(--white);
    outline:0;
}


.category-menu-search i{
    position:absolute;
    top:50%;
    right:8px;
    transform:translateY(-50%);
    color:var(--white);
    font-size:12px;
}


.category-menu-feature{
    margin-top:6px;
    justify-self:start;
}


/* =========================================================
   HERO
========================================================= */

.hero-section{
    padding-top:30px;
    padding-bottom:38px;
}


.hero-container{
    width:min(90%, 1120px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.hero-intro{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(300px, .92fr);
    align-items:start;
    gap:34px;
    margin-bottom:30px;
}


.hero-small-title,
.hero-title{
    color:var(--orange);
    font-family:var(--font-title);
    font-weight:400 !important;
    letter-spacing:.02em;
}


.hero-small-title{
    font-size:clamp(24px, 2.8vw, 33px);
    line-height:.98;
    word-spacing:.03em;
    white-space:nowrap;
}


.hero-title{
    font-size:clamp(38px, 4.6vw, 56px);
    line-height:.88;
    word-spacing:.04em;
    white-space:nowrap;
}


.hero-copy{
    display:grid;
    justify-items:end;
    gap:8px;
    padding-top:2px;
}


.hero-description{
    max-width:470px;
    color:var(--text);
    font-size:13px;
    font-weight:700;
    line-height:1.15;
    text-align:left;
}


.hero-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:212px;
    min-height:33px;
    padding:6px 15px 7px;
    border-radius:7px !important;
    font-size:16px;
    font-weight:800;
    line-height:1;
}


.hero-button i{
    margin-left:18px !important;
    font-size:27px;
    line-height:1;
}


.hero-image{
    position:relative;
    height:min(405px, 34.75vw);
    overflow:visible;
    background:var(--bg);
}


.hero-image::before{
    display:none;
}


.hero-image-svg{
    display:block;
    width:100%;
    height:100%;
}


.hero-banner-photo{
    filter:saturate(1.02) contrast(1.03) brightness(.98);
}


.hero-svg-sparkle{
    fill:var(--bg);
    pointer-events:none;
}


.hero-svg-sparkle-small{
    opacity:.92;
}


/* =========================================================
   CATEGORY
========================================================= */

.category-section{
    padding-top:0;
    padding-bottom:72px;
}


.category-section > .container{
    width:min(90%, 1120px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.category-section .section-heading{
    margin-bottom:34px;
}


.category-section .title-green{
    margin-bottom:7px;
    color:var(--green);
    font-family:var(--font-title);
    font-size:44px;
    font-weight:400 !important;
    line-height:.95;
    letter-spacing:0;
}


.category-section .section-subtitle{
    color:var(--text);
    font-size:17px;
    font-weight:700;
    line-height:1.02;
}


.category-carousel{
    position:relative;
    max-width:100%;
    margin:auto;
    padding:0 60px;
}


.category-carousel-window{
    width:100%;
    margin:auto;
    padding:10px 0 24px;
    overflow:hidden;
}


.category-carousel-track{
    display:flex;
    align-items:center;
    padding:2px 0 20px;
    margin-bottom:-20px;
    overflow:visible;
    will-change:transform;
    scrollbar-width:none;
}


.category-carousel-track::-webkit-scrollbar{
    display:none;
}


.category-card{
    display:block;
    flex:0 0 420px;
    position:relative;
    z-index:1;

    width:420px;
    max-width:none;
    height:550px;

    margin:0;

    overflow:hidden;

    border:2px solid var(--orange);
    border-radius:50% / 28%;

    text-decoration:none;
}


.category-slide + .category-slide{
    margin-left:-75px;
}


.category-slide.is-active{
    z-index:4;
}


.category-card img{
    width:100%;
    height:100%;
    opacity:.96;
    transition:transform .4s ease, filter .4s ease;
    filter:saturate(1.03) contrast(1.03);
}


.category-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(43, 35, 28, .22);
    pointer-events:none;
    z-index:1;
}


.category-card:hover img{
    transform:scale(1.05);
    filter:saturate(1.06) contrast(1.05);
}


.category-card-title{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%, -50%);

    color:var(--white);

    font-size:clamp(18px, 1.75vw, 24px);
    font-weight:700;

    z-index:2;

    white-space:nowrap;
}


.category-carousel .slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    height:20px;
    border-radius:2px;
    font-size:13px;
    z-index:10;
}


.category-carousel .slider-arrow:disabled,
.category-carousel .slider-arrow.is-disabled{
    opacity:.38;
    cursor:default;
    pointer-events:none;
}


.category-carousel .slider-arrow-left{
    left:-50px;
}


.category-carousel .slider-arrow-right{
    right:-50px;
}


.category-divider{
    height:50px;
    background-color:var(--beige);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='50' viewBox='0 0 260 50'%3E%3Cg fill='none' stroke='%23b85f40' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 25h11M23.5 19.5v11M19.5 21l8 8M27.5 21l-8 8'/%3E%3Cpath d='M70 11h11M72 11v9l-6 7v12h21V27l-6-7v-9' fill='%23b85f40'/%3E%3Cpath d='M125 25h11M130.5 19.5v11M126.5 21l8 8M134.5 21l-8 8'/%3E%3Cpath d='M179 15h10M182 15v7h3v6M173 28h22v11h-22z' fill='%23b85f40'/%3E%3Cpath d='M235 16c5 1 5 7-1 10l-19 11h38l-19-11'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat:repeat-x;
    background-position:center;
    background-size:260px 50px;
}


/* =========================================================
   SHARED SLIDER ARROWS
========================================================= */

.slider-arrow{
    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:32px;
    height:28px;

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

    padding:0;

    border:0;
    border-radius:3px;

    background:var(--orange);
    color:var(--white);

    z-index:5;
}


.slider-arrow:hover{
    background:var(--orange-dark);
}


.slider-arrow-left{
    left:-30px;
}


.slider-arrow-right{
    right:-30px;
}


/* =========================================================
   DECORATIVE STRIP
========================================================= */

.decorative-strip{
    background:var(--beige);
    color:var(--orange);

    padding:8px 0;
}


.decorative-pattern{
    text-align:center;

    font-size:20px;

    word-spacing:15px;

    white-space:nowrap;

    overflow:hidden;
}


/* =========================================================
   STORY
========================================================= */

.story-section{
    padding-top:70px;
    padding-bottom:40px;
}


.story-section > .container{
    width:min(89%, 1120px);
    max-width:none;
}


.story-section .row{
    align-items:center;
    --bs-gutter-x:64px;
}


.story-image{
    width:100%;
    max-width:455px;
    aspect-ratio:284 / 352;
    height:auto;

    overflow:hidden;

    border-radius:0 58% 0 0;
}


.story-section .title-orange{
    margin-bottom:42px !important;
    color:var(--orange);
    font-family:var(--font-title);
    font-size:44px;
    font-weight:400 !important;
    line-height:.95;
    letter-spacing:0;
}


.story-section p{
    max-width:430px;
    font-size:15px;
    font-weight:600;
    line-height:1.25;
}


.story-section p:last-child{
    margin-top:56px;
    font-weight:800;
    line-height:1.08;
}


/* =========================================================
   WAVE DIVIDER
========================================================= */

.wave-divider{
    width:100%;
    height:28px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='118' height='28' viewBox='0 0 118 28'%3E%3Cpath d='M0 14C9 4 20 4 29 14C38 24 50 24 59 14C68 4 80 4 89 14C98 24 109 24 118 14' fill='none' stroke='%23d4bd90' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:repeat-x;
    background-position:center top;
    background-size:118px 28px;
}


/* =========================================================
   FEATURED PRODUCTS
========================================================= */

.featured-section{
    padding-top:72px;
    padding-bottom:64px;
}


.featured-section > .container{
    width:min(90%, 1120px);
    max-width:none;
}


.featured-section .section-heading{
    margin-bottom:48px;
}


.featured-section .title-green{
    margin-bottom:16px;
    color:var(--green);
    font-family:var(--font-title);
    font-size:46px;
    font-weight:400 !important;
    line-height:.95;
    letter-spacing:0;
}


.featured-section .section-subtitle{
    color:var(--text);
    font-size:18px;
    font-weight:800;
    line-height:1.1;
}


.featured-section .position-relative{
    max-width:1020px;
    margin:auto;
}


.featured-section .row{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:38px;
    justify-content:center;
    margin-right:0;
    margin-left:0;
}


.featured-section .row > [class*="col-"]{
    width:auto;
    max-width:none;
    padding:0;
}


.featured-section .product-item .btn-orange{
    min-width:118px;
    min-height:30px;
    padding:7px 16px;
    border-radius:5px;
    font-size:13px;
    font-weight:800;
    line-height:1;
}


.product-image{
    position:relative;

    width:100%;
    max-width:155px;
    height:182px;

    margin:auto;

    overflow:hidden;

    border-radius:50%;
}


.featured-section .product-image{
    max-width:220px;
    height:260px;
}


.product-image img{
    transition:transform .4s ease, filter .4s ease;
    filter:saturate(1.03) contrast(1.03);
}


.product-image:hover img{
    transform:scale(1.05);
    filter:saturate(1.06) contrast(1.05);
}


.product-overlay{
    position:absolute;

    inset:0;

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

    padding:22px 18px;

    background:rgba(70,50,40,.42);

    color:var(--white);

    font-size:9px;
    font-weight:800;
    line-height:.98;

    text-align:center;
    opacity:0;
    transition:opacity .28s ease;
}


.product-image:hover .product-overlay,
.product-image:focus-within .product-overlay{
    opacity:1;
}


.featured-instagram-wrap{
    margin-top:64px;
}


.instagram-btn{
    min-width:340px;
    min-height:34px;
    padding:7px 26px;
    border-radius:999px;
    font-size:18px;
    font-weight:800;
    line-height:1;
}


.featured-section .slider-arrow{
    top:47%;
    width:28px;
    height:22px;
    border-radius:2px;
    font-size:12px;
}


.featured-section .slider-arrow-left{
    left:-46px;
}


.featured-section .slider-arrow-right{
    right:-46px;
}


/* =========================================================
   APPAREL LISTING
========================================================= */

.apparel-section{
    padding-top:78px;
    padding-bottom:82px;
    background:var(--bg);
}


.apparel-section > .container{
    display:grid;
    grid-template-columns:265px minmax(0, 1fr);
    gap:42px;
    width:min(94%, 1120px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.apparel-sidebar{
    color:var(--text);
}


.apparel-sidebar .title-orange{
    margin-bottom:12px;
    font-size:43px;
    font-weight:400 !important;
    line-height:.95;
    letter-spacing:0;
}


.apparel-filter-nav{
    display:grid;
    gap:13px;
    padding-bottom:18px;
    border-bottom:2px solid var(--beige);
}


.apparel-filter-nav a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    color:var(--orange);
    font-size:14px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
}


.apparel-filter-nav i{
    color:var(--beige-dark);
    font-size:11px;
    -webkit-text-stroke:.55px currentColor;
}


.apparel-filter-block{
    padding:20px 4px 22px;
    border-bottom:2px solid var(--beige);
}


.apparel-product-count{
    color:var(--text);
    font-size:14px;
    font-weight:800;
}


.apparel-filter-block h2,
.apparel-filter-block h3{
    margin-bottom:14px;
    color:var(--text);
    font-family:var(--font-body);
    font-size:15px;
    font-weight:800;
    line-height:1;
}


.apparel-price-row{
    display:flex;
    align-items:center;
    gap:17px;
}


.apparel-price-row span{
    display:inline-flex;
    align-items:center;
    width:93px;
    height:27px;
    padding:0 10px;
    border-radius:4px;
    background:var(--beige);
    color:var(--text);
    font-size:12px;
    font-weight:700;
}


.apparel-price-row span::first-letter{
    color:var(--orange);
}


.apparel-check{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    color:var(--text);
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
}


.apparel-check:last-child{
    margin-bottom:0;
}


.apparel-check span{
    position:relative;
    flex:0 0 auto;
    width:26px;
    height:26px;
    border-radius:3px;
    background:var(--beige);
}


.apparel-check-active span::before,
.apparel-check-active span::after{
    content:"";
    position:absolute;
    left:6px;
    top:12px;
    width:15px;
    height:3px;
    border-radius:999px;
    background:var(--orange);
}


.apparel-check-active span::before{
    transform:rotate(45deg);
}


.apparel-check-active span::after{
    transform:rotate(-45deg);
}


.apparel-check small{
    color:var(--text);
    font-size:9px;
    font-weight:500;
}


.apparel-content{
    min-width:0;
}


.apparel-sort{
    display:flex;
    justify-content:flex-end;
    margin-bottom:60px;
}


.apparel-sort button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--text);
    font-size:14px;
    font-weight:800;
    line-height:1;
}


.apparel-sort i{
    color:var(--orange);
    font-size:18px;
    -webkit-text-stroke:.45px currentColor;
}


.apparel-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:86px 42px;
}


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


.apparel-product-image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:1 / 1.24;
    margin-bottom:20px;
    overflow:hidden;
    border-radius:8px;
    background:#f2eadf;
    text-decoration:none;
}


.apparel-product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .38s ease, filter .38s ease;
    filter:saturate(1.03) contrast(1.03);
}


.apparel-product-card:hover .apparel-product-image img{
    transform:scale(1.04);
    filter:saturate(1.08) contrast(1.05);
}


.apparel-product-card h2,
.apparel-product-card h3{
    max-width:205px;
    min-height:38px;
    margin:0 0 12px;
    color:var(--orange);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:800;
    line-height:1.05;
}


.apparel-product-meta{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--orange);
}


.apparel-product-meta strong{
    flex:0 0 auto;
    color:var(--orange);
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}


.apparel-product-meta span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:78px;
    min-height:26px;
    padding:6px 10px;
    border-radius:4px;
    background:var(--green);
    color:var(--white);
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}


.apparel-product-meta button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--orange);
    font-size:24px;
    line-height:1;
}


.apparel-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:72px;
}


.apparel-pagination a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:31px;
    height:31px;
    border:2px solid var(--beige);
    border-radius:50%;
    color:var(--beige-dark);
    font-size:16px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
}


.apparel-pagination a:first-child,
.apparel-pagination a:last-child{
    border-color:transparent;
    color:var(--beige);
    font-size:18px;
}


.apparel-pagination a.active{
    border-color:var(--orange);
    background:var(--orange);
    color:var(--white);
}


/* =========================================================
   PRODUCT DETAIL
========================================================= */

.product-detail-section{
    padding-top:18px;
    padding-bottom:56px;
    background:var(--bg);
}


.product-detail-section > .container,
.related-products-section > .container{
    width:min(90%, 1030px);
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.product-search{
    position:relative;
    width:min(100%, 360px);
    margin:0 auto 72px;
}


.product-search input{
    width:100%;
    height:40px;
    padding:0 48px 0 24px;
    border:0;
    border-radius:4px;
    background:var(--beige);
    color:var(--white);
    font-family:var(--font-body);
    font-size:16px;
    font-weight:800;
    letter-spacing:0;
    outline:none;
}


.product-search input::placeholder{
    color:var(--white);
    opacity:1;
}


.product-search button{
    position:absolute;
    top:0;
    right:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:40px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--orange);
    font-size:19px;
}


.product-detail-layout{
    display:grid;
    grid-template-columns:minmax(0, 440px) minmax(0, 420px);
    justify-content:center;
    align-items:start;
    gap:48px;
}


.product-gallery{
    width:100%;
}


.product-main-image{
    width:100%;
    aspect-ratio:1 / 1.24;
    overflow:hidden;
    border-radius:18px;
    background:#f1eadf;
}


.product-main-image img,
.product-thumbnails img,
.related-product-card img{
    width:100%;
    height:100%;
    object-fit:cover;
}


.product-thumbnails{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
    margin-top:22px;
}


.product-thumbnails button{
    aspect-ratio:1 / 1.24;
    padding:0;
    border:0;
    border-radius:6px;
    overflow:hidden;
    background:#f1eadf;
}


.product-main-image img,
.product-thumbnails img,
.related-product-card img{
    transition:transform .34s ease, filter .34s ease;
    filter:saturate(1.03) contrast(1.03);
}


.product-main-image:hover img,
.product-thumbnails button:hover img,
.related-product-card:hover img{
    transform:scale(1.04);
    filter:saturate(1.08) contrast(1.05);
}


.product-detail-info{
    padding-top:24px;
}


.product-detail-info h1{
    max-width:390px;
    margin:0 0 18px;
    color:var(--orange);
    font-family:var(--font-title);
    font-size:22px;
    font-weight:400;
    line-height:1.08;
    letter-spacing:0;
    text-transform:uppercase;
}


.product-detail-info h1 span{
    display:block;
}


.product-stock{
    margin-bottom:15px;
    color:var(--text);
    font-size:14px;
    font-weight:700;
    line-height:1;
}


.product-price{
    margin-bottom:22px;
    color:var(--text);
    font-size:34px;
    font-weight:700;
    line-height:1;
}


.product-shipping{
    margin-bottom:22px;
    color:var(--text);
    font-size:11px;
    font-weight:600;
    line-height:1.2;
}


.product-option,
.product-quantity{
    display:grid;
    gap:6px;
    margin-bottom:12px;
}


.product-option span,
.product-quantity > span{
    color:var(--text);
    font-size:11px;
    font-weight:700;
    line-height:1;
}


.product-option strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-width:70px;
    min-height:24px;
    padding:5px 9px;
    border-radius:4px;
    background:var(--green);
    color:var(--white);
    font-size:10px;
    font-weight:800;
    line-height:1;
}


.product-stepper{
    display:inline-grid;
    grid-template-columns:24px 32px 24px;
    width:max-content;
    min-height:22px;
    overflow:hidden;
    border-radius:4px;
    background:var(--green);
    color:var(--white);
}


.product-stepper button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    background:transparent;
    color:var(--white);
    font-size:13px;
    font-weight:800;
    line-height:1;
}


.product-stepper span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:800;
    line-height:1;
}


.product-cart-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:min(100%, 275px);
    min-height:42px;
    margin:10px 0 34px;
    border:0;
    border-radius:7px;
    background:var(--green);
    color:var(--white);
    font-size:18px;
    font-weight:800;
    line-height:1;
    text-transform:uppercase;
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}


.product-cart-button:hover{
    transform:translateY(-2px);
    background:var(--green-dark);
    box-shadow:0 10px 18px rgba(70, 50, 40, .15);
}


.product-description{
    max-width:390px;
    margin-bottom:30px;
    color:var(--text);
    font-size:12px;
    font-weight:600;
    line-height:1.26;
}


.product-share{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--orange);
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
}


.product-share:hover{
    color:var(--orange-dark);
}


.related-products-section{
    padding-top:62px;
    padding-bottom:84px;
    background:var(--bg);
}


.related-products-section .title-green{
    margin-bottom:28px;
    font-size:28px;
    font-weight:400 !important;
    line-height:1;
    letter-spacing:0;
}


.related-products-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:36px;
}


.related-product-card a{
    display:block;
    aspect-ratio:1 / 1.24;
    margin-bottom:14px;
    overflow:hidden;
    border-radius:8px;
    background:#f1eadf;
    text-decoration:none;
}


.related-product-card h3{
    max-width:168px;
    min-height:34px;
    margin:0 0 8px;
    color:var(--text);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:500;
    line-height:1.14;
}


.related-product-card strong{
    display:block;
    color:var(--text);
    font-size:12px;
    font-weight:700;
    line-height:1;
}


/* =========================================================
   ART
========================================================= */

.art-section{
    padding-top:72px;
    padding-bottom:30px;
}


.art-section > .container{
    width:min(90%, 1120px);
    max-width:none;
}


.art-section .section-heading{
    margin-bottom:38px;
}


.art-section .title-green{
    margin-bottom:22px;
    color:var(--green);
    font-family:var(--font-title);
    font-size:46px;
    font-weight:400 !important;
    line-height:.95;
    letter-spacing:0;
}


.art-description{
    max-width:870px;

    font-size:17px;
    font-weight:800;
    line-height:1.05;
}


.art-section .row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 72px minmax(0, 1fr) minmax(0, 1fr);
    gap:12px;
    margin-right:0;
    margin-left:0;
}


.art-section .row > [class*="col-"]{
    width:auto;
    max-width:none;
    padding:0;
}


.art-section .row > [class*="col-"]:nth-child(1){
    grid-column:1;
}


.art-section .row > [class*="col-"]:nth-child(2){
    grid-column:2;
}


.art-section .row > [class*="col-"]:nth-child(3){
    grid-column:4;
}


.art-section .row > [class*="col-"]:nth-child(4){
    grid-column:5;
}


.art-item{
    height:100%;
}


.arched-image{
    position:relative;

    height:305px;

    overflow:hidden;

    border-radius:999px 999px 0 0;
}


.art-section .row > [class*="col-"]:nth-child(1) .arched-image,
.art-section .row > [class*="col-"]:nth-child(3) .arched-image{
    border-radius:999px 0 0 0;
}


.art-section .row > [class*="col-"]:nth-child(2) .arched-image,
.art-section .row > [class*="col-"]:nth-child(4) .arched-image{
    border-radius:0 999px 0 0;
}


.arched-image img,
.artist-image img{
    transition:transform .4s ease, filter .4s ease;
    filter:saturate(1.03) contrast(1.03);
}


.arched-image:hover img,
.artist-image:hover img{
    transform:scale(1.04);
    filter:saturate(1.06) contrast(1.05);
}


.play-btn{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%, -50%);

    width:54px;
    height:54px;

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

    border-radius:50%;

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

    color:var(--white);

    text-decoration:none;

    font-size:32px;

    z-index:3;
}


.play-btn:hover{
    background:rgba(255,255,255,.55);
    color:var(--white);
}


.art-info-card{
    min-height:126px;

    margin-top:18px;

    padding:18px 14px;

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

    background:var(--beige);

    border-radius:7px;

    text-align:center;
}


.art-info-card h5{
    color:var(--orange);

    font-size:15px;
    font-weight:800;
    line-height:1.05;

    margin-bottom:10px;
}


.art-info-card p{
    max-width:210px;

    margin:0;

    font-size:10px;
    font-weight:700;
    line-height:1.08;
}


.art-wave-divider{
    margin-top:0;
    border:0;
}


/* =========================================================
   LOCAL ARTIST
========================================================= */

.local-artist-section{
    padding-top:68px;
    padding-bottom:64px;
}


.local-artist-section > .container{
    width:min(90%, 1120px);
    max-width:none;
}


.local-artist-section > .container > .row:first-child{
    display:grid;
    grid-template-columns:minmax(0, 440px) minmax(0, 510px);
    justify-content:space-between;
    align-items:start;
    --bs-gutter-x:74px;
    margin-right:0;
    margin-left:0;
    margin-bottom:62px !important;
}


.local-artist-section > .container > .row:first-child > [class*="col-"]{
    width:auto;
    max-width:none;
    padding-right:0;
    padding-left:0;
}


.local-artist-section .title-orange{
    color:var(--orange);
    font-family:var(--font-title);
    font-size:42px;
    font-weight:400 !important;
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
}


.local-subtitle{
    color:var(--text);
    font-size:17px;
    font-weight:800 !important;
    line-height:1.15;
    white-space:nowrap;
}


.local-intro{
    max-width:500px;

    font-size:14px;
    font-weight:600;
    line-height:1.2;
    transform:translateY(-4px);
}


.local-artist-section > .container > .row:not(:first-child){
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    align-items:center;
    gap:54px;
    margin-right:0;
    margin-left:0;
}


.local-artist-section > .container > .row.mb-5{
    margin-bottom:56px !important;
}


.local-artist-section > .container > .row:not(:first-child) > [class*="col-"]{
    width:auto;
    max-width:none;
    padding:0;
}


.artist-info{
    max-width:235px;

    margin:auto;

    text-align:center;
}


.artist-feature-icon{
    display:block;

    margin-bottom:16px;
    margin-left:auto;
    margin-right:auto;

    color:var(--green);

    font-size:38px;
    line-height:1;
}


.artist-feature-svg{
    width:42px;
    height:42px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.25;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.9;
}


.artist-feature-image{
    width:44px;
    height:44px;
    object-fit:contain;
}


.artist-feature-rooted{
    width:38px;
    height:38px;
}


.artist-info h5{
    color:var(--green);

    font-size:15px;
    font-weight:800;
    line-height:1.05;
}


.artist-info p{
    margin:0 auto;
    max-width:205px;
    font-size:9px;
    font-weight:700;
    line-height:1.12;
}


.artist-image{
    position:relative;

    width:100%;
    max-width:222px;
    height:236px;

    margin:auto;

    overflow:hidden;

    border-radius:999px 999px 0 0;
}


.artist-image .play-btn{
    width:54px;
    height:54px;
    font-size:32px;
}


/* =========================================================
   PURPOSE
========================================================= */

.purpose-section{
    padding-top:64px;
    padding-bottom:70px;
}


.purpose-section > .container{
    width:min(90%, 1120px);
    max-width:none;
}


.purpose-main-title{
    color:var(--green);
    font-family:var(--font-title);
    font-size:46px;
    font-weight:400 !important;
    line-height:.9;
    letter-spacing:0;
}


.purpose-card{
    width:100%;
    max-width:232px;
    height:318px;

    margin:auto;

    padding:28px 24px;

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

    border-radius:72px;

    text-align:center;
}


.purpose-green{
    background:var(--green);
    color:var(--white);
}


.purpose-beige{
    background:var(--beige);
    color:var(--text);
}


.purpose-card-icon{
    display:block;
    margin:0 auto 22px;

    font-size:52px;
}


.purpose-icon-svg{
    width:66px;
    height:66px;
    fill:currentColor;
    stroke:currentColor;
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.purpose-icon-image{
    width:66px;
    height:76px;
    object-fit:contain;
}


.purpose-icon-solid{
    fill:currentColor;
    stroke:none;
}


.purpose-icon-line{
    fill:none;
    stroke:currentColor;
}


.purpose-icon-cut{
    fill:none;
    stroke:var(--green);
}


.purpose-beige .purpose-icon-cut{
    stroke:var(--beige);
}


.purpose-icon-leaf .purpose-icon-line{
    stroke-width:3.2;
}


.purpose-icon-cycle .purpose-icon-line{
    stroke-width:4.8;
}


.purpose-icon-hands .purpose-icon-cut{
    stroke-width:3;
}


.purpose-icon-globe .purpose-icon-line{
    stroke-width:3.2;
}


.purpose-card h5{
    font-size:15px;
    font-weight:800;
    line-height:1.1;

    margin-bottom:16px;
}


.purpose-card p{
    max-width:184px;

    margin:0;

    font-size:9.5px;
    font-weight:700;
    line-height:1.15;
}


.icon-orange,
.text-orange{
    color:var(--orange);
}


.purpose-description{
    max-width:360px;

    margin:auto;

    font-size:15px;
    font-weight:700;
    line-height:1.2;
}


.purpose-bottom-row{
    margin-top:34px;
}


.purpose-section .row{
    --bs-gutter-x:72px;
    --bs-gutter-y:42px;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.customers-section > .container{
    width:min(96%, 1120px);
    max-width:none;
}


.customers-section .position-relative{
    max-width:1120px;
    margin:auto;
    padding-right:18px;
    padding-left:18px;
}


.customers-section .slider-arrow{
    top:52%;
    width:24px;
    height:24px;
    font-size:12px;
}


.customers-section .slider-arrow-left{
    left:-16px;
}


.customers-section .slider-arrow-right{
    right:-16px;
}


.customers-section .row{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:42px;
    margin-right:0;
    margin-left:0;
}


.customers-section .row > [class*="col-"]{
    width:auto;
    max-width:none;
    padding:0;
}


.testimonial-card{
    width:100%;
    max-width:335px;
    aspect-ratio:258 / 262;
    height:auto;

    margin:auto;

    padding:
        clamp(74px, 9.5vw, 92px)
        clamp(26px, 3vw, 40px)
        clamp(42px, 5.8vw, 54px);

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    border-radius:999px 999px 0 0;
}


.testimonial-beige{
    background:var(--beige);
    color:var(--text);
}


.testimonial-green{
    background:var(--green);
    color:var(--white);
}


.testimonial-orange{
    background:var(--orange);
    color:var(--white);
}


.testimonial-card > p{
    max-width:245px;
    margin:0 auto;

    font-size:13px;
    font-weight:700;
    line-height:1.18;

    text-align:center;
}


.testimonial-person{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:13px;
}


.testimonial-person img,
.testimonial-avatar{
    width:50px;
    height:50px;

    border-radius:50%;

    object-fit:cover;
    background:rgba(255,255,255,.35);
}


.testimonial-avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:var(--orange);
    font-size:13px;
    font-weight:800;
}


.testimonial-green .testimonial-avatar,
.testimonial-orange .testimonial-avatar{
    color:var(--green-dark);
    background:rgba(255,255,255,.75);
}


.testimonial-person strong{
    display:block;

    font-size:13px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}


.testimonial-person small{
    display:block;

    margin-top:3px;

    font-size:10px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
}


/* =========================================================
   VISIT / CONTACT
========================================================= */

.visit-section{
    padding-top:35px;
    padding-bottom:20px;
}


.contact-section{
    padding-top:20px;
    padding-bottom:100px;

    display:flex;
    justify-content:flex-end;
}


.visit-box,
.contact-box{
    min-height:420px;

    display:flex;
    align-items:center;

    color:var(--white);
}


.visit-box{
    width:78%;

    background:var(--green);

    border-radius:0 220px 220px 0;
}


.contact-box{
    width:78%;

    background:var(--orange);

    border-radius:220px 0 0 220px;
}


.visit-box .container{
    width:100%;
    max-width:none;
    padding-left:min(9.6vw, 96px);
    padding-right:6%;
}


.visit-box .row{
    display:contents;
    margin-right:0;
    margin-left:0;
}


.visit-content{
    width:min(100%, 640px);
    max-width:none;
}


.visit-description{
    max-width:620px;
    margin-bottom:28px;
}


.visit-hours{
    display:grid;
    gap:2px;
    max-width:650px;
    margin:0;
    font-size:17px;
}


.visit-hours strong{
    display:block;
    font-size:17px;
    white-space:nowrap;
}


.contact-box .container{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    width:100%;
    height:100%;
    max-width:none;
    padding-right:9.5%;
    padding-left:12%;
}


.contact-box .row{
    display:contents;
    margin-right:0;
    margin-left:0;
}


.contact-content{
    display:grid;
    justify-items:end;
    flex:0 0 min(100%, 585px);
    width:min(100%, 585px);
    max-width:none;
    margin-left:auto;
    transform:translateY(-38px);
}


.contact-content .large-shape-title{
    margin-bottom:20px;
    text-align:right;
}


.contact-message{
    width:min(100%, 585px);
    margin:0;
    text-align:center;
}


.contact-methods{
    display:grid;
    justify-items:end;
    gap:14px;
    width:min(100%, 360px);
    margin-top:34px;
}


.contact-methods p{
    margin:0;
    text-align:right;
}


.large-shape-title{
    margin-bottom:25px;

    color:var(--white);

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

    text-transform:uppercase;
}


.visit-box p,
.contact-box p{
    font-size:18px;
    font-weight:700;
    line-height:1.12;
}


.contact-white-link{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;

    color:var(--white);

    font-size:18px;
    font-weight:800;
    line-height:1.15;

    text-decoration:none;
}


.contact-white-link:hover{
    color:#f1ddca;
}


/* =========================================================
   MAP
========================================================= */

.map-section{
    position:relative;

    width:100%;
    height:370px;

    overflow:hidden;
}


.map-embed{
    display:block;
    width:100%;
    height:100%;
    border:0;
    overflow:hidden;
}


.map-location{
    position:absolute;

    top:50%;
    right:7%;

    transform:translateY(-50%);

    padding:15px 22px;

    border-radius:12px;

    background:var(--beige);

    color:var(--orange);

    font-size:19px;
    line-height:1.2;
    font-weight:600;
}


/* =========================================================
   PAYMENT METHODS
========================================================= */

.payment-heading{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:25px;

    margin-bottom:50px;
}


.payment-heading span{
    width:100%;
    max-width:200px;
    height:1px;

    background:var(--beige-dark);
}


.payment-heading h2{
    white-space:nowrap;
}


.payment-logos{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:28px;

    margin-bottom:50px;
}


.payment-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    min-width:56px;
    color:#111;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:700;
    line-height:1;
}


.payment-logo-mastercard,
.payment-logo-maestro{
    position:relative;
    width:64px;
}


.payment-logo-mastercard span,
.payment-logo-maestro span{
    position:absolute;
    width:34px;
    height:34px;
    border-radius:50%;
    opacity:.96;
}


.payment-logo-mastercard span:first-child{
    left:4px;
    background:#eb001b;
}


.payment-logo-mastercard span:last-child{
    right:4px;
    background:#ff9f00;
}


.payment-logo-maestro span:first-child{
    left:4px;
    background:#eb001b;
}


.payment-logo-maestro span:last-child{
    right:4px;
    background:#0099df;
    mix-blend-mode:multiply;
}


.payment-logo-visa{
    color:#1737b7;
    font-size:31px;
    font-style:italic;
    letter-spacing:-2px;
}


.payment-logo-amex{
    width:48px;
    height:34px;
    background:#0072ce;
    color:#fff;
    font-size:15px;
    line-height:.82;
    text-align:right;
    padding:4px 3px 3px 12px;
}


.payment-logo-paypal{
    gap:3px;
    color:#003087;
    font-size:12px;
    font-style:italic;
}


.payment-logo-paypal strong{
    color:#0070ba;
    font-size:29px;
    font-style:normal;
    line-height:1;
}


.payment-logo-klarna{
    min-width:58px;
    height:30px;
    border-radius:5px;
    background:#ffb3c7;
    font-size:15px;
}


.payment-logo-gpay,
.payment-logo-applepay{
    min-width:72px;
    height:34px;
    gap:5px;
    border:2px solid #565656;
    border-radius:18px;
    background:#fff;
    font-size:15px;
    font-weight:600;
}


.payment-logo-gpay span{
    color:#4285f4;
    font-size:20px;
    font-weight:800;
}


.payment-logo-applepay{
    min-width:64px;
    border-radius:3px;
    color:#000;
    font-size:16px;
}


.payment-logo-applepay i{
    font-size:17px;
    line-height:1;
}


.secure-payment{
    font-size:15px;
}


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

.main-footer{
    min-height:265px;
    padding-top:30px;
    padding-bottom:26px;

    background:var(--beige);

    color:var(--orange);
}


.main-footer .container{
    width:min(86%, 1040px);
    max-width:none;
}


.main-footer .row{
    align-items:flex-start;
    justify-content:space-between;
    --bs-gutter-x:62px;
    --bs-gutter-y:24px;
}


@media(min-width:992px){

    .main-footer .container{
        padding-right:0;
        padding-left:0;
    }


    .main-footer .row{
        display:grid;
        grid-template-columns:315px 1fr max-content max-content max-content;
        column-gap:clamp(28px, 4vw, 54px);
        justify-content:start;
        row-gap:0;
        margin-right:0;
        margin-left:0;
    }


    .main-footer .row > *{
        width:auto;
        max-width:none;
        padding-right:0;
        padding-left:0;
    }


    .footer-links-column,
    .footer-contact-column{
        padding-top:10px;
    }


    .footer-brand-column{
        grid-column:1;
    }


    .footer-links-column:nth-of-type(2){
        grid-column:3;
    }


    .footer-links-column:nth-of-type(3){
        grid-column:4;
    }


    .footer-contact-column{
        grid-column:5;
    }

}


.footer-brand-column{
    max-width:360px;
}


.footer-links-column{
    max-width:165px;
}


.footer-contact-column{
    max-width:220px;
}


.footer-brand{
    display:inline-flex;
    align-items:flex-start;
    gap:14px;

    margin-bottom:34px;

    color:var(--orange);

    font-family:var(--font-title);
    font-size:42px;
    font-weight:400;
    line-height:.8;
    letter-spacing:0;
}


.footer-brand:hover{
    color:var(--orange-dark);
}


.footer-brand-image{
    display:block;
    width:220px;
    max-width:100%;
    height:auto;
}


.footer-brand-text > span{
    font-size:25px;
    margin-left:4px;
}


.footer-brand-icons{
    display:block;
    width:58px;
    height:74px;
    margin-top:0;
    overflow:visible;
    fill:currentColor;
    stroke:var(--beige);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.footer-slogan{
    width:335px;
    margin-bottom:28px;

    font-size:20px;
    font-weight:700;
    line-height:1.25;
}


.footer-copy{
    width:335px;
    font-size:14px;
    font-weight:700;
}


.main-footer h5{
    margin-bottom:16px;

    color:var(--orange);

    font-family:var(--font-body);
    font-size:19px;
    font-weight:600;
    white-space:nowrap;
}


.footer-menu{
    margin:0;
    padding:0;

    list-style:none;
}


.footer-menu li{
    margin-bottom:4px;
    font-size:14px;
    line-height:1.08;
}


.footer-menu a,
.footer-contact a{
    color:var(--orange);

    text-decoration:none;
}


.footer-menu a{
    display:block;
    font-size:14px;
    font-weight:700;
    line-height:1.08;
}


.footer-menu a:hover,
.footer-contact a:hover{
    color:var(--orange-dark);
}


.footer-socials{
    display:flex;

    gap:14px;

    margin-bottom:24px;
}


.footer-socials a{
    color:var(--orange);

    font-size:19px;
    line-height:1;
}


.footer-socials a:hover{
    color:var(--orange-dark);
}


.footer-contact{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;

    font-size:10px;
    font-weight:700;
    line-height:1;
}


.footer-contact i{
    margin-right:0 !important;
    font-size:10px;
}


/* =========================================================
   MOTION / INTERACTIONS
========================================================= */

@keyframes ntveTwinkle{
    0%,
    100%{
        opacity:.72;
        filter:drop-shadow(0 0 0 rgba(255,255,255,0));
        transform:scale(.92) rotate(0deg);
    }

    45%{
        opacity:1;
        filter:drop-shadow(0 0 12px rgba(255,255,255,.9));
        transform:scale(1.08) rotate(4deg);
    }

    70%{
        opacity:.9;
        filter:drop-shadow(0 0 7px rgba(255,255,255,.7));
        transform:scale(1) rotate(-3deg);
    }
}


@keyframes ntveDividerDrift{
    from{
        background-position:0 center;
    }

    to{
        background-position:260px center;
    }
}


@keyframes ntveWaveDrift{
    from{
        background-position:0 top;
    }

    to{
        background-position:118px top;
    }
}


@keyframes ntveTinyStarGlow{
    0%,
    100%{
        opacity:.28;
        transform:scale(.9) rotate(0deg);
    }

    50%{
        opacity:.72;
        transform:scale(1.12) rotate(8deg);
    }
}


.hero-svg-sparkle{
    transform-box:fill-box;
    transform-origin:center;
    animation:ntveTwinkle 3.8s ease-in-out infinite;
}


.hero-svg-sparkle-small{
    animation-delay:1.2s;
    animation-duration:4.6s;
}


.hero-image:hover .hero-svg-sparkle{
    animation-duration:1.8s;
}


.category-divider{
    animation:ntveDividerDrift 18s linear infinite;
}


.wave-divider{
    animation:ntveWaveDrift 16s linear infinite;
}


.category-card,
.product-image,
.apparel-product-image,
.product-main-image,
.product-thumbnails button,
.related-product-card a,
.story-image,
.arched-image,
.artist-image,
.purpose-card,
.testimonial-card{
    transition:
        transform .34s ease,
        box-shadow .34s ease,
        filter .34s ease;
}


.category-card:hover,
.product-item:hover .product-image,
.apparel-product-card:hover .apparel-product-image,
.product-main-image:hover,
.product-thumbnails button:hover,
.related-product-card:hover a,
.story-image:hover,
.art-item:hover .arched-image,
.artist-image:hover{
    transform:translateY(-7px);
    box-shadow:0 18px 34px rgba(70, 50, 40, .18);
}


.category-card:hover img,
.product-image:hover img,
.apparel-product-image:hover img,
.product-main-image:hover img,
.product-thumbnails button:hover img,
.related-product-card:hover img,
.story-image:hover img,
.arched-image:hover img,
.artist-image:hover img{
    filter:saturate(1.04) contrast(1.02) brightness(1.03);
}


.purpose-card:hover,
.testimonial-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 30px rgba(70, 50, 40, .14);
}


.btn,
.slider-arrow,
.footer-socials a,
.header-icons a,
.footer-menu a,
.main-navbar .nav-link{
    transition:
        transform .22s ease,
        opacity .22s ease,
        color .22s ease,
        background-color .22s ease,
        box-shadow .22s ease;
}


.btn:hover,
.slider-arrow:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 15px rgba(70, 50, 40, .16);
}


.header-icons a:hover,
.footer-socials a:hover{
    transform:translateY(-2px) scale(1.04);
}


.footer-menu a:hover,
.category-menu-links a:hover,
.category-menu-feature:hover{
    opacity:.72;
}


.story-section,
.featured-section,
.apparel-section,
.product-detail-section,
.related-products-section,
.art-section,
.local-artist-section,
.purpose-section,
.customers-section,
.payment-section{
    position:relative;
}


.story-section > .container,
.featured-section > .container,
.apparel-section > .container,
.product-detail-section > .container,
.related-products-section > .container,
.art-section > .container,
.local-artist-section > .container,
.purpose-section > .container,
.customers-section > .container,
.payment-section > .container{
    position:relative;
    z-index:1;
}


.story-section::before,
.story-section::after,
.featured-section::before,
.apparel-section::after,
.product-detail-section::before,
.related-products-section::after,
.art-section::after,
.local-artist-section::before,
.purpose-section::after,
.customers-section::before,
.payment-section::after{
    content:"✶";
    position:absolute;
    z-index:0;
    color:var(--orange);
    font-family:var(--font-title);
    font-size:15px;
    line-height:1;
    pointer-events:none;
    opacity:.34;
    animation:ntveTinyStarGlow 5.5s ease-in-out infinite;
}


.story-section::before{
    top:18%;
    right:9%;
}


.story-section::after{
    bottom:22%;
    left:7%;
    font-size:11px;
    animation-delay:1.2s;
}


.featured-section::before{
    top:34%;
    left:8%;
    font-size:12px;
    animation-delay:.7s;
}


.apparel-section::after{
    top:10%;
    right:7%;
    font-size:12px;
    animation-delay:1.5s;
}


.product-detail-section::before{
    top:18%;
    left:8%;
    font-size:11px;
    animation-delay:.9s;
}


.related-products-section::after{
    top:18%;
    right:9%;
    font-size:12px;
    animation-delay:1.8s;
}


.art-section::after{
    top:28%;
    right:6%;
    font-size:13px;
    animation-delay:1.8s;
}


.local-artist-section::before{
    top:47%;
    left:5%;
    font-size:12px;
    animation-delay:2.4s;
}


.purpose-section::after{
    top:18%;
    right:14%;
    font-size:14px;
    animation-delay:1s;
}


.customers-section::before{
    top:16%;
    left:10%;
    font-size:13px;
    animation-delay:2s;
}


.payment-section::after{
    top:28%;
    right:10%;
    font-size:11px;
    animation-delay:.4s;
}


.reveal-on-scroll{
    opacity:0;
    transform:translateY(34px);
    transition:
        opacity .75s ease,
        transform .75s ease;
    transition-delay:var(--reveal-delay, 0ms);
    will-change:opacity, transform;
}


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


.reveal-on-scroll.reveal-soft{
    transform:translateY(20px);
}


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


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


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

@media(min-width:768px) and (max-width:991px){

    .hero-section::before,
    .hero-section::after,
    .category-section::before,
    .category-section::after,
    .story-section::before,
    .story-section::after,
    .featured-section::before,
    .featured-section::after,
    .apparel-section::before,
    .apparel-section::after,
    .product-detail-section::before,
    .product-detail-section::after,
    .related-products-section::before,
    .related-products-section::after,
    .art-section::before,
    .art-section::after,
    .local-artist-section::before,
    .local-artist-section::after,
    .purpose-section::before,
    .purpose-section::after,
    .customers-section::before,
    .customers-section::after,
    .visit-section::before,
    .visit-section::after,
    .contact-section::before,
    .contact-section::after,
    .payment-section::before,
    .payment-section::after,
    .main-footer::before,
    .main-footer::after{
        width:clamp(20px, 3vw, 30px);
        opacity:.3;
    }


    .section-space{
        padding-top:60px;
        padding-bottom:60px;
    }


    .title-green,
    .title-orange{
        font-size:34px;
    }


    .hero-section{
        padding-top:28px;
        padding-bottom:34px;
    }


    .hero-intro{
        grid-template-columns:minmax(0, 1fr) minmax(270px, .82fr);
        gap:26px;
        margin-bottom:28px;
    }


    .hero-small-title{
        font-size:clamp(23px, 3.1vw, 30px);
    }


    .hero-title{
        font-size:clamp(34px, 5vw, 48px);
    }


    .hero-image{
        height:34.75vw;
    }


    .category-card{
        height:430px;
    }


    .apparel-section > .container{
        grid-template-columns:210px minmax(0, 1fr);
        gap:32px;
    }


    .apparel-sidebar .title-orange{
        font-size:34px;
    }


    .apparel-grid{
        gap:54px 22px;
    }


    .apparel-product-card h2,
    .apparel-product-card h3{
        font-size:13px;
    }


    .apparel-product-meta{
        flex-wrap:wrap;
        gap:8px;
    }


    .product-detail-section > .container,
    .related-products-section > .container{
        width:min(90%, 820px);
    }


    .product-detail-layout{
        grid-template-columns:minmax(0, 360px) minmax(0, 340px);
        gap:34px;
    }


    .product-search{
        margin-bottom:48px;
    }


    .product-detail-info h1{
        font-size:20px;
    }


    .product-price{
        font-size:30px;
    }


    .related-products-grid{
        gap:24px;
    }


    .story-image{
        aspect-ratio:284 / 352;
        height:auto;
    }


    .arched-image{
        height:390px;

        border-radius:200px 200px 0 0;
    }


    .art-section .row{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:10px;
    }


    .art-section .row > [class*="col-"]{
        grid-column:auto;
    }


    .art-section .arched-image{
        height:245px;
    }


    .artist-image{
        max-width:260px;
        height:280px;

        border-radius:140px 140px 0 0;
    }


    .local-artist-section > .container > .row:not(:first-child){
        gap:28px;
    }


    .local-artist-section .artist-image{
        max-width:210px;
        height:224px;
        border-radius:999px 999px 0 0;
    }


    .artist-info{
        max-width:280px;
    }


    .artist-info p{
        font-size:11px;
    }


    .purpose-card{
        max-width:260px;
        height:330px;
    }


    .purpose-section .purpose-card{
        max-width:232px;
        height:318px;
    }


    .purpose-description{
        margin-top:20px;
        margin-bottom:20px;
    }


    .testimonial-card{
        max-width:260px;
        height:auto;
    }


    .customers-section .row{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:24px;
    }


    .testimonial-card{
        padding:78px 26px 44px;
    }


    .testimonial-card > p{
        font-size:11px;
    }


    .testimonial-person strong{
        font-size:12px;
    }


    .testimonial-person small{
        font-size:9px;
    }


    .visit-box,
    .contact-box{
        width:92%;
        min-height:380px;
    }


    .visit-box{
        border-radius:0 190px 190px 0;
    }


    .contact-box{
        border-radius:190px 0 0 190px;
    }


    .large-shape-title{
        font-size:36px;
    }


    .visit-box p,
    .contact-box p{
        font-size:17px;
    }


    .contact-white-link{
        font-size:19px;
    }


    .map-section{
        height:320px;
    }


    .map-location{
        right:5%;

        font-size:16px;
    }


    .payment-logos img{
        max-width:80px;
        height:42px;
    }

}


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

@media(max-width:767px){

    .hero-section::before,
    .hero-section::after,
    .category-section::before,
    .category-section::after,
    .story-section::before,
    .story-section::after,
    .featured-section::before,
    .featured-section::after,
    .apparel-section::before,
    .apparel-section::after,
    .product-detail-section::before,
    .product-detail-section::after,
    .related-products-section::before,
    .related-products-section::after,
    .art-section::before,
    .art-section::after,
    .local-artist-section::before,
    .local-artist-section::after,
    .purpose-section::before,
    .purpose-section::after,
    .customers-section::before,
    .customers-section::after,
    .visit-section::before,
    .visit-section::after,
    .contact-section::before,
    .contact-section::after,
    .payment-section::before,
    .payment-section::after,
    .main-footer::before,
    .main-footer::after{
        width:clamp(16px, 5.4vw, 24px);
        opacity:.24;
    }


    .hero-section::after,
    .story-section::after,
    .featured-section::before,
    .local-artist-section::before,
    .purpose-section::after,
    .visit-section::before,
    .contact-section::after,
    .payment-section::before,
    .main-footer::before{
        display:none;
    }


    .section-space{
        padding-top:50px;
        padding-bottom:50px;
    }


    .section-heading{
        margin-bottom:35px;
    }


    .title-green,
    .title-orange{
        font-size:29px;

        text-align:center;
    }


    .section-subtitle{
        font-size:15px;
    }


    /* HEADER */

    .main-header .row{
        display:flex;
        flex-wrap:wrap;
        column-gap:0;
    }


    .header-address-column,
    .header-logo-column,
    .header-actions-column{
        width:auto;
        max-width:none;
    }


    .header-address{
        font-size:9px;
        white-space:normal;
    }


    .header-address > .bi{
        font-size:20px;
    }


    .header-address-select{
        font-size:10px;
    }


    .header-icons{
        gap:10px !important;
    }


    .header-icons a{
        font-size:20px;
    }


    .header-separator{
        height:32px;
        margin:0 4px;
    }


    /* NAV */

    .main-navbar{
        margin-bottom:10px;
    }


    .main-navbar .nav-link{
        padding-top:10px;
        padding-bottom:10px;
    }


    .category-menu-panel{
        position:static;
        width:100%;
        min-height:auto;
        margin:4px auto 12px;
        transform:none;
        grid-template-columns:1fr;
        gap:18px;
        padding:18px;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        box-shadow:none;
    }


    .nav-category-dropdown:hover .category-menu-panel,
    .nav-category-dropdown:focus-within .category-menu-panel{
        transform:none;
    }


    .category-menu-links,
    .category-menu-side{
        justify-items:center;
        text-align:center;
    }


    /* HERO */

    .hero-section{
        text-align:center;
        padding-top:24px;
    }


    .hero-container{
        width:min(90%, 540px);
    }


    .hero-intro{
        grid-template-columns:1fr;
        gap:16px;
        margin-bottom:22px;
    }


    .hero-small-title{
        font-size:26px;
    }


    .hero-title{
        font-size:40px;
    }


    .hero-copy{
        justify-items:center;
    }


    .hero-description{
        font-size:14px;
        text-align:center;
    }


    .hero-button{
        min-width:210px;
    }


    .hero-image{
        height:min(280px, 58vw);
        border-radius:16px;
    }


    .hero-image::before{
        background:
            radial-gradient(circle 19px at 50% 0, var(--bg) 99%, transparent 100%),
            radial-gradient(circle 19px at 50% 100%, var(--bg) 99%, transparent 100%),
            radial-gradient(circle 20px at 100% 50%, var(--bg) 99%, transparent 100%);
    }


    .hero-sparkle-one{
        left:42%;
        top:42%;
        width:42px;
        height:42px;
    }


    .hero-sparkle-two{
        right:17%;
        top:24%;
        width:34px;
        height:34px;
    }


    /* CATEGORY */

    .category-card{
        max-width:300px;
        height:450px;

        margin-bottom:15px;
    }


    /* Hide desktop arrows */

    .slider-arrow{
        display:none;
    }


    .customers-section .slider-arrow{
        display:none;
    }


    /* STORY */

    .story-image{
        max-width:350px;
        aspect-ratio:284 / 352;
        height:auto;

        margin:auto;

        border-radius:0 58% 0 0;
    }


    .story-section{
        text-align:center;
    }


    /* PRODUCT */

    .product-image{
        max-width:260px;
        height:330px;
    }


    .featured-section > .container{
        width:min(90%, 540px);
    }


    .featured-section .title-green{
        font-size:34px;
    }


    .featured-section .row{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:28px 22px;
    }


    .featured-section .product-image{
        max-width:180px;
        height:214px;
    }


    .featured-section .slider-arrow{
        display:none;
    }


    /* APPAREL */

    .apparel-section > .container{
        grid-template-columns:1fr;
        gap:32px;
        width:min(90%, 540px);
    }


    .apparel-sidebar .title-orange{
        font-size:36px;
        text-align:center;
    }


    .apparel-filter-nav{
        justify-items:center;
    }


    .apparel-filter-block{
        text-align:center;
    }


    .apparel-price-row,
    .apparel-check{
        justify-content:center;
    }


    .apparel-sort{
        justify-content:center;
        margin-bottom:36px;
    }


    .apparel-grid{
        grid-template-columns:1fr;
        gap:42px;
    }


    .apparel-product-card h2,
    .apparel-product-card h3{
        max-width:260px;
        margin-right:auto;
        margin-left:auto;
        font-size:14px;
        text-align:center;
    }


    .apparel-product-meta{
        justify-content:center;
        flex-wrap:wrap;
        gap:8px;
    }


    /* PRODUCT DETAIL */

    .product-detail-section{
        padding-top:26px;
        padding-bottom:46px;
    }


    .product-detail-section > .container,
    .related-products-section > .container{
        width:min(90%, 540px);
    }


    .product-search{
        margin-bottom:36px;
    }


    .product-detail-layout{
        grid-template-columns:1fr;
        gap:34px;
    }


    .product-detail-info{
        padding-top:0;
        text-align:center;
    }


    .product-detail-info h1,
    .product-description{
        margin-right:auto;
        margin-left:auto;
    }


    .product-detail-info h1{
        font-size:22px;
    }


    .product-option,
    .product-quantity{
        justify-items:center;
    }


    .product-cart-button{
        width:min(100%, 300px);
    }


    .related-products-section .title-green{
        font-size:26px;
        text-align:center;
    }


    .related-products-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:28px 18px;
    }


    .related-product-card h3{
        max-width:none;
        text-align:center;
    }


    .related-product-card strong{
        text-align:center;
    }


    /* ART */

    .art-description{
        font-size:14px;
        line-height:1.12;
    }


    .art-section .title-green{
        font-size:34px;
    }


    .art-section .row{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px 14px;
    }


    .art-section .row > [class*="col-"]{
        grid-column:auto;
    }


    .arched-image{
        max-width:340px;
        height:390px;

        margin:auto;
    }


    .art-section .arched-image{
        height:250px;
    }


    .art-info-card{
        max-width:340px;

        margin-left:auto;
        margin-right:auto;
    }


    /* LOCAL ARTIST */

    .local-subtitle,
    .local-intro{
        text-align:center;
    }


    .local-artist-section .title-orange{
        font-size:34px;
        text-align:center;
    }


    .local-intro{
        margin:auto;
    }


    .local-artist-section > .container > .row:first-child{
        margin-bottom:42px !important;
    }


    .local-artist-section > .container > .row:not(:first-child){
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:34px 22px;
    }


    .artist-info{
        padding-top:20px;
        padding-bottom:20px;
    }


    .artist-image{
        max-width:280px;
        height:300px;
    }


    .local-artist-section .artist-image{
        max-width:210px;
        height:224px;
        border-radius:999px 999px 0 0;
    }


    /* PURPOSE */

    .purpose-description{
        font-size:13px;
        line-height:1.22;
    }


    .purpose-main-title{
        font-size:34px;
    }


    .purpose-section .row{
        --bs-gutter-x:24px;
    }


    .purpose-card{
        height:310px;
    }


    .purpose-section .purpose-card{
        height:300px;
    }


    /* TESTIMONIAL */

    .testimonial-card{
        max-width:280px;
        height:auto;
    }


    .customers-section .row{
        grid-template-columns:1fr;
        gap:28px;
    }


    /* VISIT */

    .visit-section{
        padding-right:20px;
    }


    .visit-box{
        width:100%;
        min-height:370px;

        text-align:center;

        border-radius:0 120px 120px 0;
    }


    .visit-box .container{
        padding:40px 30px;
    }


    .visit-content{
        width:100%;
        margin:auto;
    }


    .visit-description,
    .visit-hours{
        max-width:none;
    }


    .visit-hours strong{
        white-space:normal;
    }


    /* CONTACT */

    .contact-section{
        padding-left:20px;
        padding-bottom:60px;
    }


    .contact-box{
        width:100%;
        min-height:360px;

        border-radius:120px 0 0 120px;
    }


    .contact-box .container{
        justify-content:center;
        padding:40px 30px;
    }


    .contact-content{
        justify-items:center;
        flex:0 0 100%;
        width:100%;
        max-width:none;
        margin-left:0;
        transform:none;
    }


    .contact-content .large-shape-title,
    .contact-message,
    .contact-methods p{
        text-align:center;
    }


    .contact-message{
        width:100%;
    }


    .contact-methods{
        justify-items:center;
        width:100%;
        margin-top:24px;
    }


    .contact-white-link{
        justify-content:center;
    }


    .large-shape-title{
        font-size:32px;
    }


    .visit-box p,
    .contact-box p{
        font-size:16px;
    }


    .contact-white-link{
        font-size:17px;
    }


    /* MAP */

    .map-section{
        height:280px;
    }


    .map-location{
        top:auto;

        right:20px;
        bottom:20px;
        left:20px;

        transform:none;

        text-align:center;

        font-size:14px;
    }


    /* PAYMENT */

    .payment-heading{
        gap:12px;
    }


    .payment-heading h2{
        white-space:normal;
    }


    .payment-heading span{
        max-width:70px;
    }


    .payment-logos{
        gap:20px;
    }


    .payment-logos img{
        max-width:70px;
        height:35px;
    }


    .secure-payment{
        font-size:13px;
    }


    /* FOOTER */

    .main-footer{
        text-align:center;
    }


    .footer-brand-column,
    .footer-links-column,
    .footer-contact-column{
        max-width:none;
    }


    .footer-brand{
        justify-content:center;
        margin-bottom:24px;
    }


    .footer-socials{
        justify-content:center;
    }

}


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

@media(max-width:575px){

    .title-green,
    .title-orange{
        font-size:27px;
    }


    .hero-small-title{
        font-size:22px;
    }


    .hero-title{
        font-size:34px;
    }


    .hero-image{
        height:235px;
    }


    .category-card{
        max-width:270px;
        height:420px;
    }


    .story-image{
        aspect-ratio:284 / 352;
        height:auto;
    }


    .product-image{
        width:220px;
        height:290px;
    }


    .featured-section .row{
        gap:24px 16px;
    }


    .featured-section .title-green{
        font-size:30px;
    }


    .featured-section .product-image{
        max-width:150px;
        height:178px;
    }


    .instagram-btn{
        min-width:260px;
        font-size:16px;
    }


    .arched-image{
        max-width:300px;
        height:360px;
    }


    .art-section .title-green{
        font-size:30px;
    }


    .art-section .arched-image{
        height:218px;
    }


    .artist-image{
        max-width:250px;
        height:270px;

        border-radius:130px 130px 0 0;
    }


    .local-artist-section .title-orange{
        font-size:30px;
    }


    .local-artist-section > .container > .row:not(:first-child){
        gap:28px 16px;
    }


    .local-artist-section .artist-image{
        max-width:155px;
        height:166px;
        border-radius:999px 999px 0 0;
    }


    .purpose-card{
        max-width:230px;
        height:300px;

        border-radius:70px;
    }


    .purpose-main-title{
        font-size:30px;
    }


    .purpose-section .purpose-card{
        max-width:220px;
        height:288px;
    }


    .purpose-icon-svg{
        width:58px;
        height:58px;
    }


    .testimonial-card{
        max-width:250px;
        height:auto;

        border-radius:125px 125px 0 0;
    }


    .visit-box{
        min-height:350px;

        border-radius:0 90px 90px 0;
    }


    .contact-box{
        min-height:340px;

        border-radius:90px 0 0 90px;
    }


    .large-shape-title{
        font-size:30px;
    }


    .visit-box p,
    .contact-box p{
        font-size:15px;
    }


    .contact-white-link{
        font-size:16px;
    }


    .map-section{
        height:250px;
    }


    .map-location{
        padding:12px 15px;

        font-size:12px;
    }


    .payment-heading span{
        max-width:40px;
    }


    .payment-logos img{
        max-width:60px;
        height:30px;
    }


    .footer-brand{
        font-size:30px;
    }


    .footer-slogan{
        font-size:14px;
    }

}


@media(min-width:560px) and (max-width:767px){

    .local-artist-section > .container{
        width:min(94%, 548px);
    }


    .local-artist-section > .container > .row:first-child{
        grid-template-columns:230px minmax(0, 1fr);
        gap:18px;
        margin-bottom:42px !important;
    }


    .local-artist-section .title-orange{
        font-size:28px;
        text-align:left;
    }


    .local-subtitle{
        font-size:13px;
        text-align:left;
    }


    .local-intro{
        max-width:none;
        margin:0;
        font-size:11px;
        font-weight:600;
        line-height:1.12;
        text-align:left;
        transform:translateY(-5px);
    }

    .product-detail-section > .container,
    .related-products-section > .container{
        width:min(89%, 520px);
    }


    .product-search{
        width:220px;
        margin-bottom:40px;
    }


    .product-search input{
        height:24px;
        padding-right:34px;
        padding-left:16px;
        font-size:11px;
    }


    .product-search button{
        width:32px;
        height:24px;
        font-size:13px;
    }


    .product-detail-layout{
        grid-template-columns:248px minmax(0, 236px);
        gap:24px;
    }


    .product-detail-info{
        text-align:left;
    }


    .product-detail-info h1{
        max-width:236px;
        margin-right:0;
        margin-left:0;
        font-size:15px;
        line-height:1.05;
    }


    .product-detail-info h1 span{
        white-space:nowrap;
    }


    .product-stock{
        font-size:10px;
        margin-bottom:12px;
    }


    .product-price{
        font-size:22px;
        margin-bottom:15px;
    }


    .product-shipping{
        font-size:8px;
        margin-bottom:14px;
    }


    .product-option,
    .product-quantity{
        justify-items:start;
        margin-bottom:9px;
    }


    .product-option span,
    .product-quantity > span{
        font-size:8px;
    }


    .product-option strong{
        min-width:54px;
        min-height:16px;
        padding:4px 7px;
        font-size:7px;
    }


    .product-stepper{
        grid-template-columns:18px 26px 18px;
        min-height:15px;
    }


    .product-stepper button,
    .product-stepper span{
        font-size:9px;
    }


    .product-cart-button{
        width:138px;
        min-height:24px;
        margin-top:8px;
        margin-bottom:18px;
        border-radius:5px;
        font-size:12px;
    }


    .product-description{
        margin-right:0;
        margin-left:0;
        margin-bottom:18px;
        font-size:8.5px;
        line-height:1.18;
    }


    .product-share{
        font-size:8px;
    }


    .product-thumbnails{
        gap:6px;
        margin-top:12px;
    }


    .product-main-image{
        border-radius:12px;
    }


    .related-products-section{
        padding-top:38px;
        padding-bottom:54px;
    }


    .related-products-section .title-green{
        margin-bottom:18px;
        font-size:18px;
        text-align:left;
    }


    .related-products-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:18px;
    }


    .related-product-card h3{
        min-height:28px;
        font-size:9.5px;
        font-weight:500;
        line-height:1.12;
        text-align:left;
    }


    .related-product-card strong{
        font-size:9px;
        font-weight:700;
        text-align:left;
    }

}


@media(max-width:640px){

    .category-section{
        padding-top:52px;
        padding-bottom:68px;
    }


    .category-section .title-green{
        font-size:34px;
    }


    .category-carousel{
        max-width:330px;
    }


    .category-carousel-window{
        width:232px;
        padding-bottom:22px;
    }


    .category-section .category-card{
        flex-basis:232px;
        width:232px;
        height:346px;
        margin-bottom:0;
    }


    .category-slide + .category-slide{
        margin-left:0;
    }


    .category-carousel .slider-arrow{
        display:flex;
    }

}


@media(min-width:641px) and (max-width:991px){

    .category-section{
        padding-top:0;
        padding-bottom:72px;
    }


    .category-carousel .slider-arrow{
        display:flex;
    }


    .category-section .category-card{
        flex-basis:310px;
        width:310px;
        height:464px;
        margin-bottom:0;
    }

}


@media(max-width:575px){

    .category-section .title-green{
        font-size:30px;
    }


    .category-section .section-subtitle{
        font-size:15px;
    }


    .category-carousel{
        max-width:292px;
    }


    .category-carousel-window{
        width:214px;
        padding-bottom:22px;
    }


    .category-section .category-card{
        flex-basis:214px;
        width:214px;
        height:318px;
    }

}
