/* Collective Experience Cards – every selector starts with .cxc so nothing leaks or gets overridden */
.cxc{--cxc-bur:#9B1B30;--cxc-blush:#FCE4E4;--cxc-cream:#FFF8F6;--cxc-ink:#0D0D0D;--cxc-rose:#D9A0A6;
  --cxc-serif:'Playfair Display',Georgia,serif;--cxc-sans:'Montserrat',Arial,sans-serif;
  --cxc-cols:2;--cxc-gap:16px;--cxc-r:2px;
  font:400 16px/1.7 var(--cxc-sans);color:var(--cxc-ink);box-sizing:border-box;padding:100px 5vw;width:100%}
.cxc *,.cxc *::before,.cxc *::after{box-sizing:border-box}
.cxc a,.cxc a:hover,.cxc a:focus{text-decoration:none;color:inherit}
.cxc-bg-cream{background:var(--cxc-cream)}.cxc-bg-blush{background:var(--cxc-blush)}.cxc-bg-white{background:#fff}.cxc-bg-dark{background:var(--cxc-ink);color:#fff}.cxc-bg-none{background:transparent}
.cxc .cxc-wrap{max-width:1200px;margin:0 auto}

/* heading */
.cxc .cxc-eb{font:500 11px var(--cxc-sans);letter-spacing:.35em;text-transform:uppercase;color:var(--cxc-bur);margin:0}
.cxc-bg-dark .cxc-eb{color:var(--cxc-rose)}
.cxc .cxc-h{margin:14px 0 18px;padding:0;font:500 clamp(32px,5vw,58px)/1.1 var(--cxc-serif);letter-spacing:0;text-transform:none;color:inherit}
.cxc .cxc-h i{font-style:italic;color:var(--cxc-bur)}
.cxc-bg-dark .cxc-h i{color:var(--cxc-rose)}

/* grid */
.cxc .cxc-grid{display:grid;gap:var(--cxc-gap);margin:46px 0 0;padding:0}
.cxc-classic .cxc-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--cxc-h,190px)}
.cxc-classic.cxc-l-bento .cxc-big{grid-column:span 2;grid-row:span 2}
.cxc-photo .cxc-grid{grid-template-columns:repeat(var(--cxc-cols),minmax(0,1fr));grid-auto-rows:var(--cxc-h,280px)}

/* card */
.cxc .cxc-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;margin:0;padding:0;overflow:hidden;
  border-radius:var(--cxc-r);background:linear-gradient(160deg,#2a0d14,#9B1B30);color:#fff;cursor:default;
  transition:transform .5s ease,box-shadow .5s ease}
.cxc a.cxc-card{cursor:pointer}
.cxc-classic .cxc-card:nth-child(even):not(.cxc-has){background:linear-gradient(160deg,#0D0D0D,#3a1018)}
.cxc-classic a.cxc-card:hover{transform:scale(1.02)}
.cxc-photo a.cxc-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(13,13,13,.28)}
.cxc a.cxc-card:focus-visible{outline:2px solid #fff;outline-offset:-5px;box-shadow:0 0 0 3px var(--cxc-bur)}

.cxc .cxc-media{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden}
.cxc .cxc-media img.cxc-pic{position:absolute;top:0;left:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;object-position:center;transition:transform .9s ease}
.cxc a.cxc-card:hover img.cxc-pic{transform:scale(1.06)}
.cxc .cxc-shade{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:linear-gradient(0deg,var(--cxc-ov,rgba(13,13,13,.82)) 0%,rgba(13,13,13,.12) 62%,rgba(13,13,13,0) 100%);pointer-events:none}

.cxc .cxc-num{position:absolute;top:12px;right:20px;z-index:2;font:italic 500 44px/1.2 var(--cxc-serif);color:#fff;opacity:.3}
.cxc .cxc-body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:24px;width:100%}
.cxc .cxc-ic{display:inline-flex;margin-bottom:6px;font-size:20px;line-height:1;color:var(--cxc-rose)}
.cxc .cxc-ic svg{display:block;width:1em;height:1em;fill:currentColor}
.cxc .cxc-t{display:block;font:500 22px/1.25 var(--cxc-serif);color:#fff}
.cxc-photo .cxc-t{font-size:clamp(24px,2.4vw,32px)}
.cxc .cxc-x{display:block;max-width:34em;font:400 13px/1.6 var(--cxc-sans);color:#f3d9dc}
.cxc .cxc-go{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font:500 11px/1.2 var(--cxc-sans);letter-spacing:.22em;text-transform:uppercase;color:#fff}
.cxc .cxc-arr{display:inline-block;transition:transform .3s ease}
.cxc a.cxc-card:hover .cxc-arr{transform:translateX(6px)}

/* bento: when the 6th card would sit alone on the last row, let it span the full row */
@media(min-width:1025px){.cxc-classic.cxc-l-bento .cxc-card:nth-child(6):last-child{grid-column:1/-1}}

/* tablet */
@media(max-width:1024px){
  .cxc{padding:70px 6vw}
  .cxc-classic .cxc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cxc-classic.cxc-l-bento .cxc-big{grid-column:auto;grid-row:auto}
  .cxc-photo .cxc-grid{grid-auto-rows:var(--cxc-h,240px)}
}
/* phone */
@media(max-width:767px){
  .cxc{--cxc-cols:1;padding:56px 5vw}
  .cxc-classic .cxc-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:var(--cxc-h,150px)}
  .cxc-photo .cxc-grid{grid-auto-rows:var(--cxc-h,210px)}
  .cxc .cxc-grid{margin-top:32px}
  .cxc .cxc-body{padding:20px}
}
@media(hover:none){.cxc-classic a.cxc-card:hover,.cxc-photo a.cxc-card:hover{transform:none;box-shadow:none}.cxc a.cxc-card:hover img.cxc-pic{transform:none}}
@media(prefers-reduced-motion:reduce){.cxc *{transition:none!important}}
