/* ============================================================
   HAMPER — the corporate gifting house
   Scoped to body.d-hamper. 1rem = 10px.
   ============================================================ */
body.d-hamper{
  --hp-k:#0e0d0b;--hp-k2:#191713;--hp-gold:#c8a25a;--hp-gold2:#e6cc92;--hp-cream:#f8f4ec;--hp-ink:#1d1a15;--hp-soft:#4a443a;--hp-mute:#6d6558;--hp-line:#e5dccb;
  --bg-primary:var(--hp-cream);--bg-secondary:#f0e9dc;--bg-card:#fffdf9;--bg-inset:#f3ecdf;
  --fg-primary:var(--hp-ink);--fg-soft:var(--hp-soft);--fg-muted:var(--hp-mute);--border-color:var(--hp-line);--border-strong:#cfc2a8;
  background:var(--hp-cream);color:var(--hp-ink);font-family:'Hanken Grotesk',system-ui,sans-serif
}
body.d-hamper h1,body.d-hamper h2,body.d-hamper h3{font-family:'Gloock',Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.05}
body.d-hamper em{font-style:italic;color:var(--hp-gold)}
.hp-kick{font-size:1.2rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--hp-gold);margin-bottom:1.6rem}

body.d-hamper .bx-nav{background:rgba(14,13,11,.92);backdrop-filter:blur(12px)}
body.d-hamper .bx-brand-mark{border-radius:50%;background:#fff}
body.d-hamper .bx-brand-mark img{object-fit:cover;padding:0}
body.d-hamper .bx-brand-txt b{color:#fff;font-family:'Gloock',serif;font-weight:400;font-size:1.9rem}
body.d-hamper .bx-brand-txt small{color:#a89f8e}
body.d-hamper .bx-nav-links a{color:#cfc6b4;font-weight:500;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase}
body.d-hamper .bx-nav-links a:hover,body.d-hamper .bx-nav-links a.active{color:var(--hp-gold2)}
body.d-hamper .bx-nav-links a::after{background:var(--hp-gold);height:1px}
body.d-hamper .bx-nav-cta{background:var(--hp-gold);color:var(--hp-k);border-radius:999px}
body.d-hamper .burger span{background:#fff}

/* hero */
.hp-hero{background:radial-gradient(900px 600px at 80% 30%,rgba(200,162,90,.2),transparent 60%),var(--hp-k);color:#ece5d6;padding:calc(var(--nav-h) + 6rem) 3rem 8rem;overflow:hidden}
.hp-hero-in{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:6rem;align-items:center}
.hp-logo{height:64px;width:auto;border-radius:8px;margin-bottom:3rem;background:#fff;padding:.4rem}
.hp-hero h1{font-size:clamp(4.6rem,6.8vw,8.4rem);color:#fff}
.hp-lede{font-size:1.7rem;line-height:1.65;color:#bdb4a2;margin-top:2.4rem;max-width:52ch}
.hp-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.6rem}
.hp-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 2.8rem;border-radius:999px;font-size:1.45rem;font-weight:600;letter-spacing:.02em;transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.hp-btn-gold{background:linear-gradient(135deg,var(--hp-gold2),var(--hp-gold));color:var(--hp-k);box-shadow:0 14px 34px rgba(200,162,90,.3)}
.hp-btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(200,162,90,.45)}
.hp-btn-line{border:1px solid rgba(230,204,146,.4);color:var(--hp-gold2)}
.hp-btn-line:hover{background:rgba(230,204,146,.08)}

.hp-box{position:relative;aspect-ratio:1;border-radius:6px;box-shadow:0 50px 100px rgba(0,0,0,.6);overflow:hidden;background:#fff}
.hp-box-img,.hp-box-img img{width:100%;height:100%}
.hp-box-img img{object-fit:cover}
.hp-ribbon{position:absolute;background:linear-gradient(90deg,#a9803a,var(--hp-gold2) 45%,#a9803a);box-shadow:0 0 12px rgba(0,0,0,.25)}
.hp-ribbon-v{top:0;bottom:0;left:22%;width:34px;animation:hp-untie-v 1.4s .5s var(--ease) forwards}
.hp-ribbon-h{left:0;right:0;top:26%;height:34px;background:linear-gradient(180deg,#a9803a,var(--hp-gold2) 45%,#a9803a);animation:hp-untie-h 1.4s .6s var(--ease) forwards}
.hp-bow{position:absolute;left:calc(22% + 17px);top:calc(26% + 17px);width:0;height:0;animation:hp-bow 1s .4s var(--ease) forwards}
.hp-bow i{position:absolute;top:-26px;width:58px;height:52px;border:10px solid var(--hp-gold);border-radius:50% 50% 50% 50% / 60% 60% 40% 40%}
.hp-bow i:first-child{right:0;transform:rotate(-24deg)}
.hp-bow i:last-child{left:0;transform:rotate(24deg)}
@keyframes hp-untie-v{to{transform:translateY(-110%)}}
@keyframes hp-untie-h{to{transform:translateX(110%)}}
@keyframes hp-bow{to{opacity:0;transform:scale(.4) rotate(40deg)}}
.hp-tag-card{position:absolute;right:2rem;bottom:2rem;background:var(--hp-k);color:var(--hp-gold2);font-family:'Gloock',serif;font-size:1.6rem;padding:1.2rem 1.8rem;border:1px solid rgba(230,204,146,.4);max-width:70%;line-height:1.3}

/* sections */
.hp-sec{padding:9rem 3rem 0}
.hp-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.hp-head{text-align:center;margin-bottom:4.6rem;max-width:760px!important}
.hp-sec h2{font-size:clamp(3.6rem,5vw,6rem)}

.hp-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.hp-cat{position:relative;display:flex;flex-direction:column;padding:3.4rem 3rem 3rem;background:#fffdf9;border:1px solid var(--hp-line);border-radius:4px;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;overflow:hidden}
.hp-cat::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--hp-gold2),var(--hp-gold));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.hp-cat:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(29,26,21,.12);border-color:var(--hp-gold2)}
.hp-cat:hover::after{transform:none}
.hp-cat-n{position:absolute;right:2.6rem;top:2.6rem;font-family:'Gloock',serif;font-size:1.8rem;color:var(--hp-line)}
.hp-cat>i{font-size:2.6rem;color:var(--hp-gold);margin-bottom:2.6rem}
.hp-cat h3{font-size:2.6rem}
.hp-cat p{font-size:1.45rem;color:var(--hp-soft);line-height:1.6;margin-top:.8rem;flex:1}
.hp-cat-go{margin-top:2rem;font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-ink);display:inline-flex;gap:.6rem;align-items:center}

.hp-dark{background:var(--hp-k);color:#ece5d6;padding-bottom:9rem;margin-top:9rem}
.hp-dark h2{color:#fff}
.hp-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1.2rem}
.hp-m-item{padding:0;overflow:hidden;cursor:zoom-in;border-radius:4px;background:#fff}
.hp-m-item:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.hp-m-item:nth-child(5n+4){grid-row:span 2}
.hp-m-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hp-m-item:hover img{transform:scale(1.06)}

.hp-about{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.hp-about h2{margin-bottom:2.4rem}
.hp-p{font-size:1.65rem;line-height:1.75;color:var(--hp-soft)}
.hp-p+.hp-p{margin-top:1.4rem}
.hp-steps{display:grid;gap:1.2rem}
.hp-steps li{display:grid;grid-template-columns:40px 44px 1fr;gap:1.6rem;align-items:center;background:#fffdf9;border:1px solid var(--hp-line);border-radius:4px;padding:2.2rem 2.4rem}
.hp-step-n{font-family:'Gloock',serif;font-size:3rem;color:var(--hp-gold);line-height:1}
.hp-steps i{font-size:2rem;color:var(--hp-ink)}
.hp-steps b{display:block;font-family:'Gloock',serif;font-weight:400;font-size:2.2rem}
.hp-steps small{font-size:1.35rem;color:var(--hp-mute)}

.hp-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:1px solid var(--hp-ink);border-bottom:1px solid var(--hp-line)}
.hp-hl>div{padding:3rem 2.4rem;border-left:1px solid var(--hp-line);display:flex;flex-direction:column;gap:.6rem}
.hp-hl>div:first-child{border-left:0}
.hp-hl i{color:var(--hp-gold);font-size:2rem;margin-bottom:1rem}
.hp-hl b{font-family:'Gloock',serif;font-weight:400;font-size:2.2rem}
.hp-hl small{font-size:1.35rem;color:var(--hp-mute)}

.hp-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
.hp-rev-card{background:#fffdf9;border:1px solid var(--hp-line);border-radius:4px;padding:3rem;display:flex;flex-direction:column;gap:1.6rem}
.hp-stars{color:var(--hp-gold);display:flex;gap:.3rem;font-size:1.2rem}
.hp-rev-card blockquote{font-family:'Gloock',serif;font-size:2rem;line-height:1.4;flex:1}
.hp-rev-card figcaption{font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-mute)}
body.d-hamper .hours-card{max-width:none}
body.d-hamper .hours-row{border-radius:4px}

.hp-contact{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.hp-contact-lede{font-size:1.65rem;line-height:1.65;color:#bdb4a2;margin:2rem 0 3rem}
.hp-social{display:flex;gap:1rem;margin-top:2rem}
.hp-social .biz-share-btn{border-color:rgba(230,204,146,.3);color:var(--hp-gold2)}
body.d-hamper .hp-dark .ci{background:transparent;border:1px solid rgba(230,204,146,.18);border-radius:4px}
body.d-hamper .hp-dark .ci-txt b{color:#fff}
body.d-hamper .hp-dark .ci-txt small,body.d-hamper .hp-dark .ci>i:last-child{color:#a89f8e}
body.d-hamper .hp-dark .ci-ico{background:rgba(200,162,90,.14);color:var(--hp-gold2)}
body.d-hamper .contact-form{border-radius:4px;border:0;background:var(--hp-cream)}
body.d-hamper .contact-form h3{font-family:'Gloock',serif;font-weight:400;font-size:2.8rem;margin-bottom:2rem}
body.d-hamper .cf-field input,body.d-hamper .cf-field textarea{border-radius:4px;background:#fffdf9}
body.d-hamper .btn-onbiz{background:var(--hp-k);border-radius:999px}
body.d-hamper .btn-onbiz:hover{background:#2c2820;color:var(--hp-gold2)}
.hp-map{margin-top:4rem}
body.d-hamper .biz-map{border-radius:4px;border:0}
.hp-share{background:var(--hp-k);padding:0 3rem 2rem}
.hp-share .biz-share{max-width:var(--max-w);margin:0 auto;border-top-color:rgba(230,204,146,.15)}
.hp-share .biz-share-btn{border-color:rgba(230,204,146,.25);color:var(--hp-gold2)}
.hp-share .biz-share>span{color:#a89f8e}
body.d-hamper .bx-foot{background:#070605;color:#cfc6b4;border-top:1px solid rgba(200,162,90,.2)}
body.d-hamper .bx-foot p,body.d-hamper .bx-foot li,body.d-hamper .bx-foot a{color:#a89f8e}
body.d-hamper .bx-foot-col h2{color:var(--hp-gold)}
body.d-hamper .bx-foot .bx-brand-txt b{color:#fff}
body.d-hamper .bx-foot .btn-onbiz{background:var(--hp-gold);color:var(--hp-k)}
body.d-hamper .bx-foot .btn-outline{border-color:rgba(230,204,146,.35);color:var(--hp-gold2)}

@media (max-width:980px){
  .hp-hero-in,.hp-about,.hp-contact{grid-template-columns:1fr}
  .hp-box{max-width:520px}
  .hp-cats{grid-template-columns:1fr 1fr}
  .hp-mosaic{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .hp-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 6rem}
  .hp-sec{padding:7rem 1.6rem 0}
  .hp-dark{padding-bottom:7rem;margin-top:7rem}
  .hp-cats{grid-template-columns:1fr}
  .hp-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .hp-m-item:nth-child(5n+1){grid-column:span 2}
  .hp-hl>div{border-left:0;border-top:1px solid var(--hp-line)}
  .hp-share{padding:0 1.6rem 2rem}
}
@media (prefers-reduced-motion:reduce){.hp-ribbon,.hp-bow{animation:none;display:none}}
