/* ==========================================================================
   Posh Leather — home page
   ========================================================================== */

/* hero slider */
.hero-slider{position:relative;height:78vh;min-height:500px;max-height:760px;overflow:hidden;background:var(--espresso);}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;}
.slide.active{opacity:1;visibility:visible;z-index:2;}
.slide > img{width:100%;height:100%;object-fit:cover;}
.slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,14,10,0.78) 0%,rgba(20,14,10,0.4) 48%,rgba(20,14,10,0.12) 100%);
}
.slide-content{
  position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  max-width:600px;padding:0 24px 0 max(24px,calc((100vw - var(--maxw)) / 2 + 24px));
}
.slide-content h1,.slide-content h2{color:var(--bone);font-size:clamp(34px,5.2vw,60px);line-height:1.06;max-width:13ch;margin-top:14px;}
.slide-content p.copy{color:rgba(244,237,225,0.82);max-width:44ch;font-size:16px;margin:18px 0 28px;}
.slider-nav{position:absolute;bottom:26px;left:0;right:0;z-index:4;display:flex;justify-content:center;gap:6px;}
.slider-nav button{width:36px;height:22px;background:none;border:none;padding:0;position:relative;}
.slider-nav button::after{content:"";position:absolute;left:0;right:0;top:9px;height:3px;background:rgba(244,237,225,0.4);}
.slider-nav button.active::after{background:var(--brass);}
.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(244,237,225,0.4);background:rgba(20,14,10,0.3);color:var(--bone);font-size:15px;
  display:flex;align-items:center;justify-content:center;
}
.slider-arrow:hover{background:rgba(20,14,10,0.55);}
.slider-arrow.prev{left:24px;}
.slider-arrow.next{right:24px;}

/* section heads */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);max-width:18ch;}
.section-head p{color:var(--ink-soft);max-width:38ch;font-size:15px;}

/* categories */
.categories{padding:96px 0 20px;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.cat-card{
  position:relative;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;background:var(--espresso);
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:22px;gap:3px;
}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-card:hover img{transform:scale(1.06);}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,10,7,0.78));}
.cat-card h3{position:relative;z-index:2;color:var(--bone);font-size:21px;}
.cat-card span{position:relative;z-index:2;color:var(--brass-light);font-size:13px;}

/* featured ranges */
.featured{padding:100px 0;}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px;}
.featured-foot{text-align:center;margin-top:56px;}

/* workshop / about teaser */
.craft{background:var(--bone-2);padding:100px 0;}
.craft-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.craft-media{aspect-ratio:4/5;border-radius:var(--radius);position:relative;background:var(--espresso);}
.craft-media > img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);}
.craft-media .badge{
  position:absolute;bottom:-22px;left:-22px;background:var(--bone);border:1px solid var(--line);
  padding:18px 22px;max-width:230px;box-shadow:0 12px 30px rgba(36,26,19,0.14);
}
.craft-media .badge b{display:block;font-family:var(--font-display);font-size:20px;line-height:1.2;}
.craft-media .badge span{font-size:13px;color:var(--ink-soft);}
.craft-text h2{font-size:clamp(28px,3.4vw,40px);max-width:18ch;}
.craft-text > p{color:var(--ink-soft);margin:0 0 30px;font-size:16px;max-width:52ch;}
.craft-points{display:grid;gap:20px;margin-bottom:34px;}
.craft-points > div{display:flex;gap:16px;align-items:flex-start;}
.craft-points .ico{
  width:38px;height:38px;border-radius:50%;background:var(--espresso);color:var(--brass-light);
  display:flex;align-items:center;justify-content:center;font-size:14px;flex:none;
}
.craft-points h3{font-family:var(--font-body);font-size:15.5px;margin-bottom:3px;letter-spacing:0;}
.craft-points p{font-size:14px;color:var(--ink-soft);}

/* trust strip */
.trust{padding:88px 0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.trust-item{text-align:center;padding:30px 18px;border:1px solid var(--line);}
.trust-item .stamp{
  width:54px;height:54px;border-radius:50%;border:1.5px solid var(--brass);color:var(--saddle-dark);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:19px;
}
.trust-item h3{font-family:var(--font-body);font-size:15px;letter-spacing:0;margin-bottom:6px;}
.trust-item p{font-size:13.5px;color:var(--ink-soft);}

/* statement band */
.statement{background:var(--espresso);color:var(--bone);padding:100px 0;text-align:center;}
.statement p{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:clamp(23px,3vw,34px);max-width:800px;margin:0 auto;line-height:1.4;color:var(--bone);
}
.statement .stitch{margin:28px auto 0;color:var(--brass);}

@media (max-width:980px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .featured-grid{grid-template-columns:repeat(2,1fr);}
  .craft-inner{grid-template-columns:1fr;gap:64px;}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .hero-slider{height:86vh;}
  .slide-content{max-width:92%;padding:0 22px;}
  .slide-content p.copy{font-size:15px;}
  .slider-arrow{display:none;}
  .categories{padding:72px 0 10px;}
  .featured,.craft{padding:72px 0;}
  .cat-grid{gap:12px;}
  .cat-card{padding:16px;}
  .cat-card h3{font-size:18px;}
  .featured-grid{gap:28px 14px;}
  .trust-grid{grid-template-columns:1fr;}
  .craft-media .badge{left:14px;bottom:-18px;}
  .section-head{flex-direction:column;align-items:flex-start;margin-bottom:32px;}
}
