/* ============================================================
   PRESTOGEORGE — homepage sections
   ============================================================ */

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:2px solid var(--ink);background:var(--paper)}
.hero-inner{
  display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,5vw,76px);align-items:center;
  padding-block:clamp(54px,7.5vw,110px);
}
.hero-copy .est{
  display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;
  font-weight:800;font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--copper-deep);
}
.hero-copy .est::before,.hero-copy .est::after{content:"";height:2px;width:38px;background:var(--copper);opacity:.55}
.hero-copy h1 em{font-style:normal;color:var(--copper-deep);position:relative;white-space:nowrap}
.hero-copy h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.04em;height:.12em;
  background:var(--copper);opacity:.35;border-radius:99px;
}
.hero-copy .lead{margin:24px 0 34px;max-width:540px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:38px}
.hero-meta .hm{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--ink-soft)}
.hero-meta .hm svg{color:var(--leaf-deep)}

.hero-media{position:relative}
.hero-media .media-frame{
  border:2px solid var(--ink);border-radius:300px 300px 14px 14px;overflow:hidden;
  box-shadow:12px 12px 0 var(--paper-deep),12px 12px 0 2px var(--ink);
  aspect-ratio:5/5.9;
}
.hero-media img{width:100%;height:100%;object-fit:cover;transform-origin:center}
.hero-media .hero-stamp{position:absolute;bottom:-16px;left:-22px;z-index:5}
@media (max-width:940px){
  .hero-inner{grid-template-columns:1fr}
  .hero-media{max-width:440px;margin-inline:auto}
  .hero-media .hero-stamp{left:auto;right:-10px}
}

/* ---------- best sellers ---------- */
.shead{max-width:680px;margin-bottom:clamp(34px,4vw,52px)}
.shead.center{margin-inline:auto;text-align:center}
.shead.center .kicker{justify-content:center}
.shead h2{margin:16px 0 14px}

/* ---------- category trio ---------- */
.cat-card{
  position:relative;display:block;text-decoration:none;color:#FFF6E8;
  border:2px solid var(--ink);border-radius:14px;overflow:hidden;aspect-ratio:4/4.7;
  transition:transform .22s ease,box-shadow .22s ease;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--copper)}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cat-card:hover img{transform:scale(1.06)}
.cat-card .cc-scrim{position:absolute;inset:0;background:linear-gradient(185deg,rgba(36,23,16,0) 32%,rgba(36,23,16,.88) 82%)}
.cat-card .cc-body{position:absolute;inset-inline:0;bottom:0;padding:26px}
.cat-card .cc-count{
  display:inline-block;font-weight:800;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  color:#FFE9CB;background:rgba(184,92,38,.92);border:1.5px solid rgba(255,246,232,.4);
  padding:6px 12px;border-radius:99px;margin-bottom:12px;
}
.cat-card h3{font-family:var(--display);font-size:clamp(24px,2.4vw,32px)}
.cat-card p{color:#E8D5BC;font-size:14.5px;margin-top:8px;line-height:1.55}
.cat-card .cc-go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#FFD9AC}

/* ---------- roast band (dark parallax) ---------- */
.roast-band{
  position:relative;border-block:2px solid var(--ink);overflow:hidden;
  color:#FFF6E8;background:var(--espresso);
}
.roast-band .rb-bg{position:absolute;inset:-12% 0;z-index:0}
.roast-band .rb-bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
.roast-band .rb-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,23,16,.88),rgba(36,23,16,.62) 50%,rgba(36,23,16,.9))}
.roast-band .container{position:relative;z-index:1;padding-block:clamp(64px,9vw,120px)}
.roast-band .kicker{color:#E5A268}
.roast-band .kicker::before,.roast-band .kicker::after{background:#E5A268}
.roast-band h2{color:#FFF6E8;max-width:680px}
.roast-band .lead{color:#E8D5BC;max-width:620px}
.roast-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px;margin-top:46px;border:1.5px solid rgba(255,246,232,.45);border-radius:12px;overflow:hidden}
.roast-stats .stat{background:rgba(36,23,16,.65);border-right:1px dashed rgba(255,246,232,.3);padding:26px 16px}
.roast-stats .stat:last-child{border-right:0}
.roast-stats .num{color:#FFD9AC}
.roast-stats .lbl{color:#CBB394}
@media (max-width:680px){.roast-stats{grid-template-columns:1fr 1fr}.roast-stats .stat{border-bottom:1px dashed rgba(255,246,232,.3)}}

/* ---------- subscription band ---------- */
.sub-band .split{align-items:center}
.sub-perks{list-style:none;display:grid;gap:14px;margin:26px 0 32px}
.sub-perks li{display:flex;gap:13px;align-items:flex-start;font-weight:600}
.sub-perks svg{color:var(--leaf-deep);margin-top:3px}

/* ---------- heritage split ---------- */
.heritage{background:var(--paper-deep);border-block:2px solid var(--ink)}
.heritage .gen-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.gen-chip{
  border:1.5px solid var(--ink);background:var(--cream);border-radius:99px;
  padding:9px 18px;font-weight:800;font-size:13px;letter-spacing:.05em;
}
.gen-chip b{color:var(--copper-deep)}

/* ---------- visit strip ---------- */
.visit-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(26px,4vw,52px);align-items:stretch}
.visit-info{display:grid;gap:16px;align-content:start}
.visit-info .vi{
  display:flex;gap:15px;align-items:flex-start;background:var(--cream);
  border:1.5px solid var(--ink);border-radius:var(--radius);padding:19px 21px;
}
.visit-info .vi .ic{
  width:44px;height:44px;border-radius:8px;display:grid;place-items:center;flex:none;
  background:var(--paper-deep);border:1.5px solid var(--ink);color:var(--copper-deep);
}
.visit-info .vi b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:4px}
.visit-info .vi p{font-size:15.5px;line-height:1.6}
.visit-info .vi a{color:var(--ink);font-weight:700}
.map-frame{border:2px solid var(--ink);border-radius:14px;overflow:hidden;min-height:340px;box-shadow:8px 8px 0 var(--paper-deep),8px 8px 0 2px var(--ink)}
.map-frame iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
@media (max-width:880px){.visit-grid{grid-template-columns:1fr}}

/* ---------- hours table ---------- */
.hours-table{width:100%;border-collapse:collapse}
.hours-table td{padding:7px 0;font-size:15.5px;border-bottom:1px dashed var(--line)}
.hours-table tr:last-child td{border-bottom:0}
.hours-table td:last-child{text-align:right;font-weight:700}
