/* ── HERO ── */
.hero{position:relative;height:100vh;min-height:680px;overflow:hidden}
.slides{width:100%;height:100%;position:relative}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;display:flex;align-items:center}
.slide.active{opacity:1}
.slide::before{content:'';position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;transform:scale(1.08);transition:transform 8s ease;z-index:0}
.slide.active::before{transform:scale(1)}
.slide-tint{position:absolute;inset:0;background:linear-gradient(115deg,rgba(26,46,26,.88) 0%,rgba(26,46,26,.45) 60%,transparent 100%);z-index:1}
.hero-wrap{position:relative;z-index:2;padding-top:5rem}
.hero-txt{max-width:660px}
.hero-txt .eyebrow{display:block;margin-bottom:1.2rem;color:var(--gold)}
.hero-txt h1{color:var(--cream);margin-bottom:1.5rem;font-size:clamp(2.8rem,6.5vw,6.2rem)}
.hero-txt p{color:rgba(250,247,240,.72);font-size:1.05rem;margin-bottom:2.5rem;line-height:1.75}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-tags{display:flex;gap:1.5rem;flex-wrap:wrap}
.hero-tags span{font-size:.73rem;font-weight:600;letter-spacing:.1em;color:rgba(201,168,76,.8)}
.hero-ctrl{position:absolute;bottom:3rem;right:5%;z-index:10;display:flex;align-items:center;gap:1.2rem}
.hbtn{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(201,168,76,.45);color:var(--gold);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.hbtn:hover{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
.hdots{display:flex;gap:6px;align-items:center}
.hdot{width:6px;height:6px;border-radius:100px;background:rgba(201,168,76,.3);transition:width .35s,background .35s}
.hdot.on{width:26px;background:var(--gold)}
.scroll-hint{position:absolute;bottom:2.5rem;left:5%;z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(201,168,76,.55);font-size:.63rem;letter-spacing:.25em;text-transform:uppercase}
.scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--gold),transparent);animation:sLine 2s ease-in-out infinite}
@keyframes sLine{0%,100%{opacity:.4}50%{opacity:1;transform:scaleY(1.15)}}

/* ── CATEGORIES MOSAIC ── */
.cat-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:380px 240px;gap:1.2rem}
.cblock-col{display:flex;flex-direction:column;gap:1.2rem}
.cblock-row{display:contents}
.cblock-row .cblock{grid-column:auto}
/* Second row spans full width */
.cat-mosaic{grid-template-areas:"tall col" "row row"}
.cblock--tall{grid-area:tall}
.cblock-col{grid-area:col}
.cblock-row-wrap{grid-area:row;display:flex;gap:1.2rem}
.cblock{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  cursor:pointer;display:flex;min-height:180px;
}
.cblock--tall{min-height:unset}
.cb-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--ease)}
.cblock:hover .cb-bg{transform:scale(1.07)}
.cb-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,46,26,.85) 0%,rgba(26,46,26,.2) 55%,transparent 100%);transition:opacity .4s}
.cblock:hover .cb-ov{opacity:.92}
.cb-txt{position:absolute;bottom:1.5rem;left:1.5rem;z-index:2}
.cb-txt .eyebrow{display:block;margin-bottom:.3rem;font-size:.62rem}
.cb-txt h3{color:var(--cream);font-size:clamp(1.1rem,2.2vw,1.7rem);margin-bottom:.5rem}
.cb-cta{font-size:.76rem;color:var(--gold);font-weight:600;letter-spacing:.1em;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.cblock:hover .cb-cta{opacity:1;transform:none}

/* New row layout */
.cat-mosaic{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:380px 220px;
  gap:1.2rem;
}
.cblock--tall{grid-row:1/3}
.cblock-col{display:contents}
.cblock-row{display:contents}

/* ── BRAND STRIP ── */
.brand-strip{position:relative;min-height:600px;display:flex;align-items:center;padding:6rem 5%;overflow:hidden}
.bs-img{position:absolute;inset:0}
.bs-img img{width:100%;height:100%;object-fit:cover}
.bs-ov{position:absolute;inset:0;background:linear-gradient(130deg,rgba(26,46,26,.94) 0%,rgba(26,46,26,.65) 60%,rgba(26,46,26,.45) 100%)}
.bs-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:5rem;flex-wrap:wrap}
.bs-txt{max-width:520px}
.bs-txt .eyebrow{display:block;margin-bottom:1rem}
.bs-txt h2{color:var(--cream);margin-bottom:1.5rem}
.bs-txt p{color:rgba(250,247,240,.65);line-height:1.85;margin-bottom:2rem}
.bs-stats{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
.stat{text-align:center}
.sn{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:500;color:var(--gold);line-height:1;margin-bottom:.4rem}
.sl{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,247,240,.55)}
.sdiv{width:1px;height:62px;background:rgba(201,168,76,.28)}

/* ── SPOTLIGHT ── */
.spot-sec{overflow:hidden}
.spot-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.spot-img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.spot-img img{width:100%;height:100%;object-fit:cover}
.spot-chip{position:absolute;bottom:2rem;right:-1rem;background:var(--green-deep);color:var(--cream);padding:1rem 1.5rem;border-radius:var(--r-md);box-shadow:var(--sh-deep);border-left:3px solid var(--gold)}
.spot-chip span{display:block;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.spot-chip strong{font-family:var(--serif);font-size:1.1rem}
.spot-copy .eyebrow{display:block;margin-bottom:1rem}
.spot-copy h2{margin-bottom:1.5rem}
.spot-copy p{color:var(--text-mid);line-height:1.82}
.spot-list{margin-top:1.8rem;display:flex;flex-direction:column;gap:.85rem}
.spot-list li{font-size:.9rem;color:var(--text-mid);display:flex;align-items:flex-start;gap:.8rem;line-height:1.5}
.spot-list li span{color:var(--gold);flex-shrink:0}

/* ── TESTIMONIALS ── */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.tcard{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.13);border-radius:var(--r-md);padding:2rem;transition:var(--t)}
.tcard:hover{background:rgba(255,255,255,.09);border-color:rgba(201,168,76,.32)}
.tcard .stars{margin-bottom:1rem}
.tcard p{color:rgba(250,247,240,.68);font-size:.93rem;line-height:1.82;font-style:italic;margin-bottom:1.5rem}
.tauthor{display:flex;align-items:center;gap:1rem}
.tav{width:44px;height:44px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--green-deep);font-size:.95rem;flex-shrink:0}
.tauthor strong{display:block;color:var(--cream);font-size:.88rem}
.tauthor span{font-size:.76rem;color:rgba(201,168,76,.55)}

/* ── GIFT ── */
.gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.gift-copy .eyebrow{display:block;margin-bottom:1rem}
.gift-copy h2{margin-bottom:1.5rem}
.gift-copy p{color:var(--text-mid);line-height:1.82}
.gift-img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.gift-img img{width:100%;height:100%;object-fit:cover}
.gift-chip{position:absolute;bottom:2rem;left:2rem;background:rgba(26,46,26,.92);backdrop-filter:blur(14px);padding:1.2rem 1.6rem;border-radius:var(--r-md);border:1px solid rgba(201,168,76,.28);display:flex;flex-direction:column;gap:4px}
.gift-chip strong{color:var(--cream);font-family:var(--serif);font-size:1rem}
.gift-chip span{color:rgba(250,247,240,.5);font-size:.76rem}
.gc-price{color:var(--gold)!important;font-family:var(--serif);font-size:1.1rem!important;font-weight:600}

/* ── BLOG ── */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.bcard{background:var(--white);border-radius:var(--r-md);overflow:hidden;display:block;transition:var(--t)}
.bcard:hover{transform:translateY(-7px);box-shadow:var(--sh-deep)}
.bcard-img{aspect-ratio:16/9;overflow:hidden}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bcard:hover .bcard-img img{transform:scale(1.06)}
.bcard-body{padding:1.5rem}
.bcard-body .eyebrow{display:block;margin-bottom:.5rem}
.bcard-body h4{margin-bottom:.6rem;font-size:1.05rem;line-height:1.4;color:var(--text-dark)}
.bcard-body p{font-size:.85rem;margin-bottom:1.2rem}

/* ── NEWSLETTER ── */
.nl-sec{position:relative;padding:8rem 5%;overflow:hidden;text-align:center}
.nl-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.nl-ov{position:absolute;inset:0;background:rgba(26,46,26,.88)}
.nl-content{position:relative;z-index:2;max-width:600px;margin:0 auto}
.nl-content .eyebrow{display:block;margin-bottom:1rem}
.nl-content h2{color:var(--cream);margin-bottom:1rem}
.nl-content p{color:rgba(250,247,240,.62);margin-bottom:2.5rem}
.nl-form{display:flex;gap:.8rem;max-width:480px;margin:0 auto 1rem}
.nl-form input{flex:1;padding:.9rem 1.4rem;border-radius:100px;border:1.5px solid rgba(201,168,76,.3);background:rgba(255,255,255,.08);color:var(--cream);font-family:var(--sans);font-size:.9rem;outline:none;transition:border-color .3s}
.nl-form input:focus{border-color:var(--gold)}
.nl-form input::placeholder{color:rgba(250,247,240,.38)}
.nl-note{font-size:.76rem;color:rgba(250,247,240,.32)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .cat-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .cblock--tall{grid-row:auto}
  .spot-grid,.gift-grid{grid-template-columns:1fr;gap:3rem}
  .tgrid{grid-template-columns:1fr}
  .bgrid{grid-template-columns:1fr 1fr}
  .bs-content{flex-direction:column;gap:3rem}
}
@media(max-width:768px){
  .cat-mosaic{grid-template-columns:1fr;grid-template-rows:auto}
  .bgrid{grid-template-columns:1fr}
  .nl-form{flex-direction:column}
  .hero-txt h1{font-size:2.8rem}
  .scroll-hint{display:none}
}
