/* v2: richer VIB-style layout. Mobile coffee bar page. Same structure as the VIB coffee bar page, in the Reunion navy and gold. */
.cb-specs{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0 0;padding:0}
.cb-specs li{position:relative;padding-left:14px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#334155}
.cb-specs li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:#D4AF37}
.cb-band{height:220px;overflow:hidden}
.cb-band img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block}
@media(min-width:900px){.cb-band{height:300px}}
.cb-sec{padding:72px 0}
.cb-in{max-width:80rem;margin:0 auto;padding:0 20px}
@media(min-width:1024px){.cb-in{padding:0 32px}}
.cb-head{max-width:44rem;margin-bottom:36px}
.cb-kick{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8F7218;background:rgba(212,175,55,.14);padding:4px 12px;border-radius:999px;margin-bottom:14px}
.cb-head h2,.cb-split h2,.cb-menu h2,.cb-price h2{font-size:clamp(1.9rem,4.2vw,2.9rem);font-weight:300;line-height:1.12;color:#080D1A;margin:0 0 14px}
.cb-head h2 strong,.cb-split h2 strong,.cb-menu h2 strong,.cb-price h2 strong{font-weight:800;color:#0F172A}
.cb-head p,.cb-split p,.cb-menu p{color:#475569;line-height:1.7;margin:0 0 14px;max-width:34rem}

/* Package: six boxes over a faded photo */
.cb-pack{position:relative;background:#FAFAFA;overflow:hidden}
.cb-pack::before{content:"";position:absolute;inset:0;background:url(images/bar-crowd.jpg) center/cover;opacity:.12}
.cb-pack .cb-in{position:relative}
.cb-grid{display:grid;gap:16px}
.cb-box{background:#fff;border:1px solid #E2D9B8;border-radius:16px;padding:26px 26px 24px;border-top:3px solid #D4AF37}
.cb-box h3{font-size:1.12rem;font-weight:800;color:#0F172A;margin:0 0 8px}
.cb-box p{margin:0;color:#475569;font-size:.95rem;line-height:1.6}
.cb-box b{color:#0F172A}
@media(min-width:700px){.cb-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cb-grid{grid-template-columns:repeat(3,1fr)}}

/* Cart: text left, big photo right */
.cb-cart{background:#fff}
.cb-split{display:grid;gap:36px;align-items:center}
.cb-split img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 18px 40px rgba(8,13,26,.18)}
@media(min-width:900px){.cb-split{grid-template-columns:1fr 1.1fr;gap:64px}}

/* Drinks menu: heading and photo left, drink list right */
.cb-menu{background:#FAFAFA}
.cb-menu-grid{display:grid;gap:40px}
.cb-menu-img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 20%;border-radius:16px;display:block;margin-top:22px}
.cb-drinks{list-style:none;margin:0;padding:0;display:grid;gap:0 28px;border-top:1px solid #D9DEE7;align-content:start}
.cb-drinks li{padding:18px 0;border-bottom:1px solid #D9DEE7}
.cb-drinks b{display:block;font-size:1.1rem;color:#0F172A}
.cb-drinks span{display:block;margin-top:3px;color:#64748B;font-size:.9rem;line-height:1.5}
@media(min-width:700px){.cb-drinks{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cb-menu-grid{grid-template-columns:.9fr 1.3fr;gap:64px}}

/* Investment: framed box */
.cb-price{background:#fff;padding:72px 0 80px}
.cb-frame{border:1px solid #D4AF37;padding:8px}
.cb-frame-in{border:1px solid rgba(212,175,55,.5);padding:36px 24px;display:grid;gap:34px;align-items:center}
.cb-amt{font-size:clamp(3.2rem,8vw,5rem);line-height:1;color:#8F7218;font-family:'Playfair Display',Georgia,serif;margin:6px 0 14px;display:block}
.cb-frame p{color:#475569;line-height:1.7;margin:0 0 10px;max-width:32rem}
.cb-leaders{list-style:none;margin:14px 0 0;padding:0;max-width:32rem}
.cb-leaders li{display:flex;align-items:baseline;gap:8px;padding:4px 0;color:#334155;font-size:.93rem}
.cb-leaders i{flex:1;border-bottom:2px dotted #CBD5E1;transform:translateY(-3px)}
.cb-leaders b{color:#0F172A;white-space:nowrap}
.cb-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(min-width:900px){.cb-frame-in{grid-template-columns:1fr 1fr;padding:56px 56px;gap:64px}}

/* ---- v2 additions: cream sections, numbered icon cards, navy band, boxed spec strip ---- */
.cb-specs{margin-top:26px;border:1px solid #E2D9B8;border-radius:14px;background:rgba(255,255,255,.88);display:inline-flex;flex-wrap:wrap;padding:6px 0;max-width:100%}
.cb-specs li{padding:8px 18px;border-right:1px solid #E2D9B8}
.cb-specs li:last-child{border-right:0}
.cb-specs li::before{display:none}
.cb-specs li{padding-left:18px}
.cb-head h2 strong,.cb-split h2 strong,.cb-price h2 strong{color:#8F7218}
.cb-pack{background:#FBF6E9}
.cb-pack::before{opacity:.07}
.cb-grid{counter-reset:cbn}
.cb-box{position:relative;border:1px solid #EBE2C4;border-top:1px solid #EBE2C4;border-radius:18px;padding:26px 26px 24px 84px;box-shadow:0 10px 26px rgba(15,23,42,.07);counter-increment:cbn;min-height:104px}
.cb-box::before{content:counter(cbn);position:absolute;left:24px;top:24px;width:42px;height:42px;border-radius:50%;background:#0F172A;color:#DFBE4A;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(212,175,55,.28)}
.cb-grid.n5{grid-template-columns:1fr}
@media(min-width:700px){.cb-grid.n5{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cb-grid.n5{grid-template-columns:repeat(6,1fr)}.cb-grid.n5 .cb-box:nth-child(-n+3){grid-column:span 2}.cb-grid.n5 .cb-box:nth-child(n+4){grid-column:span 3}}
.cb-cart{background:#fff}
.cb-split img{border:6px solid #fff;outline:1px solid #D4AF37;outline-offset:0}
/* navy band */
.cb-navy{background:#0F172A;color:#fff}
.cb-navy .cb-kick{background:rgba(212,175,55,.18);color:#DFBE4A}
.cb-navy h2{color:#fff!important}
.cb-navy h2 strong{color:#DFBE4A!important}
.cb-navy .cb-head p{color:#CBD5E1}
.cb-navy .cb-box{background:rgba(255,255,255,.06);border-color:rgba(223,190,74,.35);box-shadow:none}
.cb-navy .cb-box h3{color:#fff}
.cb-navy .cb-box p{color:#CBD5E1}
.cb-navy .cb-box::before{background:#D4AF37;color:#0F172A;box-shadow:0 0 0 4px rgba(212,175,55,.25)}
.cb-menu{background:#FBF6E9}
.cb-price{background:linear-gradient(#fff,#FBF6E9)}
.cb-frame{background:#fff;box-shadow:0 20px 50px rgba(8,13,26,.1)}
@media(max-width:560px){.cb-specs{display:flex;flex-direction:column;width:100%}.cb-specs li{border-right:0;border-bottom:1px solid #E2D9B8}.cb-specs li:last-child{border-bottom:0}.cb-box{padding-left:80px}}

/* ---- v3: full-bleed coffee bar hero (VIB style) ---- */
.cbh{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:#0F172A;border-bottom:2px solid #D4AF37}
.cbh-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.cbh-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,26,.88) 0%,rgba(8,13,26,.7) 38%,rgba(8,13,26,.15) 70%,rgba(8,13,26,0) 100%)}
.cbh-in{position:relative;width:100%;max-width:80rem;margin:0 auto;padding:56px 20px}
.cbh-in>*{max-width:34rem}.cbh-in>h1{max-width:42rem}
.cbh-kick{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#DFBE4A;background:rgba(212,175,55,.16);border:1px solid rgba(223,190,74,.4);padding:5px 14px;border-radius:999px;margin-bottom:18px}
.cbh h1{font-size:clamp(2.2rem,5.4vw,3.9rem);font-weight:300;line-height:1.08;color:#fff;margin:0 0 16px}
.cbh h1 strong{display:block;font-weight:800;color:#DFBE4A}
.cbh p{color:#E2E8F0;font-size:1.05rem;line-height:1.65;margin:0 0 24px}
.cbh-btns{display:flex;flex-wrap:wrap;gap:12px}
.cbh-b1,.cbh-b2{display:inline-block;padding:14px 28px;border-radius:12px;font-weight:800;text-align:center;font-size:1rem}
.cbh-b1{background:#D4AF37;color:#080D1A;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.cbh-b1:hover{background:#B8941F}
.cbh-b2{border:2px solid #fff;color:#fff}
.cbh-b2:hover{background:#fff;color:#0F172A}
.cbh-specs{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;max-width:none}
.cbh-specs li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border-radius:999px}
@media(min-width:1024px){.cbh{min-height:620px}.cbh-in{padding:72px 32px}}
@media(max-width:700px){.cbh{min-height:0}.cbh-img{object-position:78% 40%}.cbh-shade{background:linear-gradient(180deg,rgba(8,13,26,.55) 0%,rgba(8,13,26,.82) 100%)}.cbh-in{padding:44px 20px 40px}}

/* v4: full-height photo band (nothing cropped) */
.cb-band--full{height:auto;max-height:none}
.cb-band--full img{height:auto;object-fit:initial}

/* v6: slow zoom-out, then slow zoom-in, repeating */
@keyframes cbh-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.cbh-img{transform-origin:70% 45%;animation:cbh-zoom 14s ease-in-out infinite alternate;will-change:transform}
.cbh-in>*{animation:cbh-rise .9s ease-out both}
.cbh-in>*:nth-child(2){animation-delay:.1s}.cbh-in>*:nth-child(3){animation-delay:.2s}.cbh-in>*:nth-child(4){animation-delay:.3s}.cbh-in>*:nth-child(5){animation-delay:.4s}
@keyframes cbh-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cbh-img,.cbh-in>*{animation:none!important}}
/* Coffee page hero, phones: photo stays clear at the top, text sits lower */
@media(max-width:700px){
.cbh-coffee{min-height:730px;align-items:flex-end}
.cbh-coffee .cbh-img{object-position:72% 30%}
.cbh-coffee .cbh-shade{background:linear-gradient(180deg,rgba(8,13,26,0) 0%,rgba(8,13,26,0) 34%,rgba(8,13,26,.78) 58%,rgba(8,13,26,.94) 100%)}
.cbh-coffee .cbh-in{padding:0 20px 28px}
.cbh-coffee .cbh-kick{font-size:.64rem;padding:4px 11px;margin-bottom:12px}
.cbh-coffee h1{font-size:2rem;margin-bottom:10px}
.cbh-coffee p{font-size:.95rem;line-height:1.55;margin-bottom:18px}
.cbh-coffee .cbh-b1,.cbh-coffee .cbh-b2{padding:12px 20px;font-size:.95rem}
.cbh-coffee .cbh-specs{margin-top:16px;gap:8px}
.cbh-coffee .cbh-specs li{font-size:.66rem;padding:7px 11px}
}
