/* Verve & Co. homepage art direction: editorial, tactile, restrained. */
#hero{min-height:auto;padding:clamp(2rem,4.4vw,4.5rem) clamp(1.25rem,4.2vw,4rem) 2rem;background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 55%,#f0ede2 55%,#f0ede2 100%);overflow:clip}
#hero::before{inset:1.1rem;border-color:rgba(10,10,10,.09)}
.hero-grid{width:min(100%,1500px);min-height:min(760px,calc(100svh - var(--header-height) - 3rem));grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5.5vw,6.5rem)}
.hero-text{max-width:610px;padding:clamp(1rem,2.5vw,2.25rem) 0 clamp(1.5rem,3vw,3rem)}
.hero-text h1{max-width:650px;margin:0;font-size:clamp(3.8rem,6.2vw,6.25rem);font-weight:600;line-height:.94;letter-spacing:-.075em;text-wrap:balance}
.hero-text h1 em{display:block;margin-top:.08em;color:var(--olive);font-style:normal}
.hero-deck{max-width:360px;margin:clamp(1.5rem,2.4vw,2.25rem) 0 0;color:#4b4b43;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.8}
.hero-actions{align-items:center;gap:1.25rem;margin-top:clamp(1.5rem,2.5vw,2.25rem)}
.hero-cta{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:1.4rem;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;letter-spacing:.09em;line-height:1.2;text-align:left;white-space:nowrap}
.hero-cta span{display:inline-block;font-size:1.1rem;line-height:1;transition:transform var(--transition-fast)}
.hero-cta:hover span{transform:translate(3px,-3px)}
.hero-secondary-link{min-height:44px;padding:.7rem 0;border:0;border-bottom:1px solid rgba(10,10,10,.45);font-size:.75rem;font-weight:700;letter-spacing:.025em;line-height:1.3;text-transform:none}
.hero-secondary-link:hover{background:transparent;color:var(--olive-dark);border-color:var(--olive-dark)}
.hero-visual{width:100%;min-width:0;min-height:clamp(470px,52vw,690px);align-self:stretch;margin:0}
.hero-image-main{inset:0 9% 7% 0;border:1px solid rgba(10,10,10,.75);box-shadow:12px 12px 0 var(--olive-light)}
.hero-image-main img{object-position:center 20%}
.hero-image-accent{right:0;bottom:0;width:clamp(145px,23vw,255px);aspect-ratio:4/5;border:6px solid var(--cream);box-shadow:0 0 0 1px rgba(10,10,10,.75)}
.hero-image-accent img{object-position:center}
.hero-proof{display:none}
.categories-preview{gap:clamp(.75rem,1.6vw,1.5rem);padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4.2vw,4rem)}
.category-card{background:#e9e5d9}
.category-card img{transition:transform 700ms cubic-bezier(.2,.65,.3,1)}
.category-info{transform:translateY(0);padding:clamp(1.25rem,2.4vw,2.25rem);background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.15) 68%,transparent)}
.category-info h3{margin-bottom:.4rem;color:#fff;font-size:clamp(1.6rem,2.5vw,2.25rem)}
.category-info p{max-width:28rem;margin-bottom:1rem;font-size:.82rem;line-height:1.55}
.category-info span{padding:.6rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.8);font-size:.7rem}
.category-card:hover .category-info span,.category-info a:hover{background:transparent;color:#fff;border-color:#fff}
.category-card:focus-visible,.hero-cta:focus-visible,.hero-secondary-link:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
@media(min-width:1500px){.hero-grid{min-height:740px}}
@media(max-width:1024px){#hero{padding:3rem 1.5rem 2rem}.hero-grid{min-height:0;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2.5rem}.hero-text h1{font-size:clamp(3.5rem,6.4vw,5rem)}.hero-visual{min-height:520px}.hero-actions{align-items:flex-start;flex-direction:column;gap:.8rem}.categories-preview{padding-top:4rem}}
@media(max-width:768px){#hero{padding:2rem 1.25rem 3.25rem;background:linear-gradient(180deg,var(--cream) 0%,var(--cream) 57%,#f0ede2 57%,#f0ede2 100%)}#hero::before{inset:.65rem}.hero-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:2rem}.hero-text{max-width:620px;padding:1.5rem 0 .25rem}.hero-text h1{max-width:590px;font-size:clamp(3.5rem,10.5vw,5.7rem);line-height:.95}.hero-deck{max-width:390px;margin-top:1.25rem;font-size:1rem;line-height:1.7}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:1.5rem}.hero-visual{min-height:clamp(410px,105vw,620px);width:calc(100% - .25rem);margin-bottom:1.25rem}.hero-image-main{inset:0 10% 6% 0;box-shadow:8px 8px 0 var(--olive-light)}.hero-image-accent{width:clamp(140px,35vw,220px);border-width:5px}.categories-preview{grid-template-columns:1fr;gap:1rem;padding:3.5rem 1.25rem}.category-card{aspect-ratio:5/4}.category-info{padding:1.25rem}.category-info p{max-width:26rem}}
@media(max-width:480px){#hero{padding:1.5rem 1rem 2.75rem}.hero-text h1{font-size:clamp(3.1rem,13vw,4rem);letter-spacing:-.07em}.hero-actions{align-items:flex-start;flex-direction:column;gap:.75rem}.hero-cta{width:100%;justify-content:space-between}.hero-visual{min-height:390px}.hero-image-main{inset:0 8% 7% 0}.hero-image-accent{width:42%}.categories-preview{padding:2.75rem 1rem}.category-card{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.category-card img,.hero-cta span{transition:none}}

/* Homepage category cards: provide a reliably dark text backdrop over light product photography. */
.categories-preview .category-card{isolation:isolate;overflow:hidden;background:#ded9ca;}
.categories-preview .category-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,12,10,0) 22%,rgba(12,12,10,.34) 48%,rgba(12,12,10,.88) 100%);}
.categories-preview .category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;}
.categories-preview .category-info{z-index:1;background:none!important;color:#fff;padding:clamp(1.25rem,2.4vw,2.25rem);text-shadow:0 1px 10px rgba(0,0,0,.2);}
.categories-preview .category-info h3{color:#fff!important;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.categories-preview .category-info p{color:rgba(255,255,255,.96);opacity:1;}
.categories-preview .category-info span{color:#fff;border-bottom:1px solid rgba(255,255,255,.9);text-shadow:none;}
.categories-preview .category-card:hover::after{background:linear-gradient(180deg,rgba(12,12,10,.04) 15%,rgba(12,12,10,.42) 45%,rgba(12,12,10,.92) 100%);}
@media(max-width:768px){.categories-preview .category-info{padding:1.25rem;}}

/* The header is not sticky, so the homepage must not reserve space for a fixed nav. */
body[data-page="index"] main{margin-top:0;}


/* Restore a sticky navigation without reserving a duplicate header-height gap. */
header{position:sticky;top:0;left:0;right:0;z-index:1000;}
main{margin-top:0;}

/* Homepage footer: editorial two-column layout with clear navigation and legal row. */
body[data-page="index"] footer{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  column-gap:clamp(2rem,7vw,7rem);
  row-gap:2.75rem;
  padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,5rem) 1.5rem;
  background:#171912;
  color:#f8f6ef;
}
body[data-page="index"] .footer-brand{
  text-align:left;
  align-self:start;
  margin:0;
}
body[data-page="index"] .footer-logo{
  display:inline-block;
  color:#f7f2e6;
  font-size:clamp(2rem,3.2vw,3rem);
  letter-spacing:-.055em;
  line-height:1.05;
}
body[data-page="index"] .footer-tagline{
  max-width:18rem;
  margin-top:1rem;
  color:#c0c0b4;
  font-size:.95rem;
}
body[data-page="index"] .footer-nav{
  width:100%;
  max-width:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,3vw,3rem);
  margin:0;
}
body[data-page="index"] .footer-section h4{
  color:#c9d2b5;
  margin-bottom:1.1rem;
  font-size:.76rem;
  letter-spacing:.14em;
}
body[data-page="index"] .footer-section li{margin-bottom:.7rem;}
body[data-page="index"] .footer-section a{
  color:#d0d0c8;
  font-size:.88rem;
}
body[data-page="index"] .footer-section a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
body[data-page="index"] .footer-legal{
  grid-column:1/-1;
  width:100%;
  max-width:none;
  margin:0;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.18);
  color:#aaa99f;
  font-size:.78rem;
}
body[data-page="index"] .footer-legal p{margin:0;}
body[data-page="index"] .legal-links{gap:1.25rem;}
body[data-page="index"] .legal-links a{color:#c0c0b4;}
body[data-page="index"] .legal-links a:hover{color:#fff;}
@media(max-width:700px){
  body[data-page="index"] footer{grid-template-columns:1fr;row-gap:2rem;padding:3rem 1.25rem 1.25rem;}
  body[data-page="index"] .footer-nav{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));}
  body[data-page="index"] .footer-section h4{font-size:.68rem;letter-spacing:.08em;}
  body[data-page="index"] .footer-section a{font-size:.8rem;}
  body[data-page="index"] .footer-legal{align-items:flex-start;flex-direction:column;gap:.75rem;}
}
@media(max-width:380px){
  body[data-page="index"] .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem;}
}
