:root{
  --brand-primary:#1241a1;
  --brand-primary-rgb:18,65,161;
  --brand-accent:#ff4d00;
  --bg-light:#f6f6f8;
  --bg-dark:#0f1117;
  --surface:#ffffff;
  --surface-soft:#f1f5f9;
  --text-main:#1a1c23;
  --text-muted:#64748b;
  --border-soft:#e2e8f0;
  --shadow-soft:0 20px 25px -5px rgba(0,0,0,.08),0 10px 10px -5px rgba(0,0,0,.04);
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Manrope',sans-serif;
  background:#F5F5F5;
  color:var(--text-main);
  overflow-x:hidden;
}

img{
  max-width:100%;
  display:block;
}

.site-header{
  background:#e5e7eb;
  border-bottom:1px solid #d1d5db;
}

.site-header.is-scrolled{
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}

.brand-mark{
  width:32px;
  height:32px;
  color:var(--brand-primary);
  flex:0 0 auto;
}

.brand-name,
.footer-brand-name{
  font-weight:900;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.navbar{
  min-height:80px;
}

.navbar .nav-link{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--text-main);
  padding:.5rem 1rem !important;
}

.navbar .nav-link:hover,
.navbar .nav-link.active{
  color:var(--brand-primary) !important;
}

.navbar-toggler-icon-custom{
  display:inline-block;
  font-size:1.5rem;
  line-height:1;
  color:var(--text-main);
}

.btn-brand-dark,
.btn-brand-primary,
.btn-brand-outline,
.btn-hero-light,
.btn-hero-outline{
  font-weight:800;
  letter-spacing:.08em;
  border-radius:.45rem;
  transition:all .2s ease;
}

.btn-brand-dark{
  background:#111827;
  color:#fff;
  border:1px solid #111827;
  padding:.8rem 1.4rem;
}

.btn-brand-dark:hover{
  background:#000;
  color:#fff;
}

.btn-brand-primary{
  background:var(--brand-primary);
  border:1px solid var(--brand-primary);
  color:#fff;
  padding:.95rem 1.4rem;
}

.btn-brand-primary:hover{
  background:#0f3787;
  border-color:#0f3787;
  color:#fff;
}

.btn-brand-outline{
  color:var(--brand-primary);
  border:2px solid rgba(var(--brand-primary-rgb), .25);
  background:#fff;
  padding:.9rem 1.35rem;
}

.btn-brand-outline:hover{
  color:#fff;
  background:var(--brand-primary);
  border-color:var(--brand-primary);
}

.btn-hero-light{
  background:#fff;
  color:#111827;
  border:1px solid #fff;
  padding:1rem 1.75rem;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}

.btn-hero-light:hover{
  transform:translateY(-1px);
}

.btn-hero-outline{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.7);
  padding:1rem 1.75rem;
}

.btn-hero-outline:hover{
  background:#fff;
  color:#111827;
}

/* HERO / CAROUSEL */
.hero-section{
  position:relative;
}

.hero-slide{
  position:relative;
  min-height:78vh;
}

.hero-slide > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(15,17,23,.72) 0%, rgba(15,17,23,.45) 45%, rgba(15,17,23,.18) 100%);
  pointer-events:none;
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:2;
  min-height:78vh;
  display:flex;
  align-items:center;
  pointer-events:none;
}

.hero-content .container,
.hero-content a,
.hero-content button{
  pointer-events:auto;
}

.carousel-control-prev,
.carousel-control-next{
  z-index:4;
  width:8%;
  opacity:1;
}

.carousel-indicators{
  z-index:4;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
  width:3rem;
  height:3rem;
  background-size:70% 70%;
}

.kicker{
  color:var(--brand-primary);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.kicker-light{
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.hero-title{
  color:#fff;
  font-size:clamp(2.7rem, 8vw, 5.6rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:900;
}

.hero-subtitle{
  color:rgba(255,255,255,.85);
  max-width:40rem;
  font-size:1.08rem;
  line-height:1.7;
  border-left:4px solid rgba(255,255,255,.4);
  padding-left:1.25rem;
}

.section-space{
  padding:5rem 0;
}

.section-title{
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.05;
}

.section-lead{
  color:var(--text-muted);
  font-size:1.05rem;
  line-height:1.7;
}

.card-clean{
  background:var(--surface);
  border:1px solid var(--border-soft);
  border-radius:1rem;
  box-shadow:var(--shadow-soft);
}

.feature-card{
  height:100%;
  padding:2rem;
}

.feature-icon{
  width:3rem;
  height:3rem;
  display:grid;
  place-items:center;
  border-radius:.85rem;
  background:rgba(var(--brand-primary-rgb), .08);
  color:var(--brand-primary);
}

.portfolio-card,
.product-card{
  text-decoration:none;
  color:inherit;
  display:block;
}

.portfolio-frame,
.product-frame{
  position:relative;
  overflow:hidden;
  border-radius:1rem;
  border:1px solid var(--border-soft);
  background:#e5e7eb;
}

.portfolio-frame{
  aspect-ratio:4/5;
}

.product-frame{
  aspect-ratio:4/5;
  margin-bottom:1rem;
}

.portfolio-frame img,
.product-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}

.portfolio-card:hover img,
.product-card:hover img{
  transform:scale(1.06);
}

.portfolio-overlay,
.product-overlay{
  position:absolute;
  inset:auto 0 0;
  padding:1.5rem;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.88) 100%);
}

.product-badge{
  position:absolute;
  top:1rem;
  left:1rem;
  z-index:2;
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
  border-radius:50rem;
  padding:.45rem .75rem;
}

.product-hover{
  position:absolute;
  right:1rem;
  bottom:1rem;
  z-index:2;
  background:#fff;
  color:var(--brand-primary);
  border-radius:999px;
  padding:.55rem .9rem;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  opacity:0;
  transform:translateY(10px);
  transition:all .25s ease;
}

.product-card:hover .product-hover{
  opacity:1;
  transform:translateY(0);
}

.product-title,
.portfolio-title{
  font-weight:800;
  letter-spacing:-.02em;
}

.product-meta,
.muted-overline{
  color:var(--text-muted);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.product-price{
  font-weight:900;
  font-size:1.2rem;
}

.texture-panel{
  position:relative;
  background-image:url("https://lh3.googleusercontent.com/aida-public/AB6AXuCme_MEK-H0jay4Nd2H085NkLPOL_mstoV7wSHkTvV0Y5vb-fEV9K_kMLuy2fkyT9qpEBVOyFfQMgcGDX39P3Q1_LLu7muDFctP4o3bMoMj8jSSG4OGhSgkTJs_6o8jfxCkP9DOEXa0GSCEVD0U0xnUn64zV7lDiNtFHVdwJ-A9bio3p663kJzItSLs-XWnA8O2dClNVbMA_q15f92qltPbKhGbsFaTBI-2Ev-V5CfHONij_lTm_4y0QJNe9NvZOiDbMXeaL539cZU");
  background-size:cover;
  background-position:center;
}

.texture-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(15,17,23,.82);
  pointer-events:none;
}

.texture-panel > .container{
  position:relative;
  z-index:1;
}

.category-scroll{
  display:flex;
  gap:.75rem;
  overflow:auto;
  padding-bottom:.5rem;
  scrollbar-width:none;
}

.category-scroll::-webkit-scrollbar{
  display:none;
}

.chip{
  white-space:nowrap;
  border-radius:999px;
  padding:.6rem 1.2rem;
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
  transition:all .2s ease;
}

.chip.active,
.chip:hover{
  background:var(--brand-primary);
  color:#fff;
}

.chip.inactive{
  background:rgba(var(--brand-primary-rgb), .08);
  color:var(--brand-primary);
}

.filter-btn{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  background:#fff;
  border:1px solid var(--border-soft);
  border-radius:.7rem;
  font-weight:700;
  padding:.7rem 1rem;
}

.breadcrumb{
  --bs-breadcrumb-divider: "›";
}

.breadcrumb-item a{
  color:var(--text-muted);
  text-decoration:none;
}

/* CONTACT */
.contact-info-card,
.contact-card{
  padding:2rem;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.04);
}

.form-label{
  font-size:.9rem;
  font-weight:800;
}

.form-control,
.form-select{
  background:#fff;
  border-radius:.8rem;
  border:1px solid var(--border-soft);
  padding:.9rem 1rem;
  min-height:3.4rem;
}

.form-control:focus,
.form-select:focus{
  border-color:rgba(var(--brand-primary-rgb), .8);
  box-shadow:0 0 0 .25rem rgba(var(--brand-primary-rgb), .12);
}

textarea.form-control{
  min-height:180px;
  resize:vertical;
}

.contact-social-wrap{
  position:relative;
  z-index:2;
}

.social-link{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e5e7eb;
  text-decoration:none;
  color:#111;
  transition:all .2s ease;
  flex:0 0 42px;
}

.social-link:hover{
  background:#000;
  color:#fff;
}

.social-link-text{
  font-weight:700;
  font-size:.8rem;
  letter-spacing:0;
}

#formStatus{
  display:none;
}

.contact-card .row{
  --bs-gutter-y:1.5rem;
}

.contact-card .col-md-6,
.contact-card .col-12{
  background:transparent !important;
}

.wholesale-strip{
  padding:2rem;
  border-radius:1rem;
  background:rgba(var(--brand-primary-rgb), .06);
  border:1px solid rgba(var(--brand-primary-rgb), .12);
}

.site-footer{
  background:var(--surface-soft);
  border-top:1px solid var(--border-soft);
}

.footer-link{
  text-decoration:none;
  color:var(--text-muted);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.18em;
}

.footer-link:hover{
  color:var(--brand-primary);
}

.pagination .page-link{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:.5rem !important;
  margin:0 .18rem;
  color:var(--text-main);
  border-color:var(--border-soft);
  font-weight:800;
}

.pagination .page-item.active .page-link{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
}

.pagination .page-link:hover{
  color:var(--brand-primary);
  border-color:var(--brand-primary);
  background:transparent;
}

.texture-overlay{
  display:none;
}

.page-shell{
  position:relative;
  z-index:1;
}

@media (max-width: 991.98px){
  .hero-slide,
  .hero-content{
    min-height:70vh;
  }

  .section-space{
    padding:4rem 0;
  }
}

@media (max-width: 767.98px){
  .navbar-collapse{
    background:rgba(246,246,248,.98);
    border:1px solid var(--border-soft);
    border-radius:1rem;
    margin-top:.75rem;
    padding:1rem;
  }

  .hero-title{
    font-size:clamp(2.35rem, 12vw, 4rem);
  }

  .hero-subtitle{
    font-size:1rem;
  }

  .carousel-control-prev,
  .carousel-control-next{
    width:14%;
  }

  .carousel-control-prev-icon,
  .carousel-control-next-icon{
    width:2.4rem;
    height:2.4rem;
  }
}
.logo-img {
  height: 38px;
  width: auto;
}
.footer-logo {
  height: 33px;
  width: auto;
  object-fit: contain;
}
.site-footer {
  border-top: 1px solid #eee;
}

.footer-link {
  font-size: 12px;
  letter-spacing: 0.08em;
}
.studio-video {
  position: relative;
}

.studio-video video {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  cursor: pointer;
}

.studio-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.15));
  border-radius: 16px;
  pointer-events: none;
}