@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Montserrat:wght@400;500;600;700&display=swap');

:root { --velvet:#17080b; --wine:#5c111e; --red:#b4162b; --ivory:#f3e9d8; --brass:#c6a56d; }
html { max-width:100%; overflow-x:hidden; scroll-behavior:smooth; scrollbar-width:none; }
html::-webkit-scrollbar,body::-webkit-scrollbar,.shelf-track::-webkit-scrollbar { display:none; }
body.velvet-app { margin:0; min-height:100vh; background:var(--ivory); color:#211214; font-family:'Montserrat',sans-serif; letter-spacing:0; overflow-x:hidden; scrollbar-width:none; background-image:none; }
.velvet-app *,.velvet-app *::before,.velvet-app *::after { box-sizing:border-box; letter-spacing:0; }
.velvet-app h1,.velvet-app h2,.velvet-app h3 { font-family:'Italiana',serif; font-weight:400; letter-spacing:0; }
.velvet-page { width:100%; min-width:0; overflow:hidden; }
.velvet-rail { display:none; }
.velvet-header { height:66px; padding:0 15px; display:flex; align-items:center; justify-content:space-between; background:var(--velvet); color:var(--ivory); border-bottom:1px solid rgba(243,233,216,.22); }
.velvet-wordmark { color:var(--ivory); text-decoration:none; font:400 26px 'Italiana',serif; }
.velvet-account { display:flex; align-items:center; gap:9px; }
.velvet-account .textlink,.velvet-account .btn { color:var(--ivory); font-size:10px; text-transform:uppercase; text-decoration:none; }
.velvet-account .btn { border:1px solid var(--brass); padding:9px 11px; border-radius:0; background:transparent; }
.velvet-cover { position:relative; min-height:calc(100svh - 66px); background:var(--velvet); color:var(--ivory); overflow:hidden; display:flex; align-items:flex-end; }
.velvet-cover-image { position:absolute; inset:0; background-image:linear-gradient(180deg,rgba(13,4,6,.05) 25%,rgba(18,5,8,.95) 90%),url('/static/brand/velvet-stage.webp'); background-size:cover; background-position:center; }
.velvet-issue { position:absolute; top:14px; left:15px; right:15px; display:flex; justify-content:space-between; color:#e9d6bb; font-size:8px; text-transform:uppercase; }
.velvet-cover-copy { position:relative; z-index:1; width:100%; padding:44px 16px 36px; }
.velvet-cover-copy>p { margin:0 0 8px; color:var(--brass); font-size:10px; font-weight:600; text-transform:uppercase; }
.velvet-cover h1 { margin:0; font-size:68px; line-height:.77; }
.velvet-cover-copy>div { display:flex; gap:14px; margin:24px 0; font-size:9px; text-transform:uppercase; }
.velvet-cover-copy button { min-height:50px; padding:0 18px; border:1px solid var(--ivory); background:transparent; color:var(--ivory); font:600 11px 'Montserrat',sans-serif; text-transform:uppercase; cursor:pointer; }
.velvet-program { padding:42px 14px 70px; }
.velvet-program-intro { display:grid; grid-template-columns:1fr auto; gap:2px 14px; border-top:1px solid #3a2723; padding-top:16px; margin-bottom:24px; }
.velvet-program-intro p { margin:0; font-size:9px; text-transform:uppercase; color:var(--red); }
.velvet-program-intro h2 { grid-column:1/-1; margin:2px 0; font-size:40px; }
.velvet-program-intro span { grid-column:1/-1; max-width:45ch; font-size:11px; line-height:1.5; color:#695854; }
.velvet-index { display:flex; gap:8px; margin:0 -14px 38px; padding:0 14px 8px; overflow-x:auto; scrollbar-width:none; }
.velvet-index::-webkit-scrollbar { display:none; }
.velvet-index a { flex:0 0 auto; padding:10px 12px; border:1px solid #bdaea1; color:#2b1b1b; text-decoration:none; font-size:10px; text-transform:uppercase; }
.velvet-note { margin:0 0 34px; padding:14px; border:1px solid #bdaea1; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px; }
.velvet-note .btn { color:var(--red); white-space:nowrap; }
.velvet-app .shelf { min-width:0; width:100%; margin:0 0 54px; }
.velvet-app .shelf-head { display:block; margin:0 0 15px; border-bottom:1px solid #3a2723; padding-bottom:10px; }
.velvet-app .shelf-head span { color:var(--red); font-size:8px; text-transform:uppercase; }
.velvet-app .shelf-head h2 { display:inline; margin:0 10px 0 0; font-size:31px; }
.velvet-app .shelf-head .tally { display:inline; color:#75645f; font-size:9px; }
.velvet-app .shelf-track { display:grid!important; grid-template-columns:1.15fr .85fr; width:100%; gap:15px 10px; overflow:visible!important; padding:0; }
.velvet-app .tile { width:100%; padding:0; border:0; background:transparent; color:#2a1a1a; text-align:left; cursor:pointer; }
.velvet-app .tile:nth-child(n+7) { display:none; }
.velvet-app .tile .art { display:block; position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:0; border:0; margin:0 0 8px; background:#ddd0c0; }
.velvet-app .tile:nth-child(4n+1) .art { aspect-ratio:4/5; }
.velvet-app .tile:nth-child(4n+2) { margin-top:28px; }
.velvet-app .tile .art img { width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.02); }
.velvet-app .tile .label { display:block; padding:0; }
.velvet-app .tile .name { display:block; color:#261719; font:600 11px 'Montserrat',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.velvet-app .tile .kind { display:block; margin-top:3px; color:var(--red); font-size:8px; text-transform:uppercase; }
.velvet-app .tile .go,.velvet-app .tile .fresh { display:none; }
.velvet-lead { padding-bottom:8px; }
.velvet-lead .shelf-track { display:flex!important; gap:10px; overflow-x:auto!important; scrollbar-width:none; }
.velvet-lead .tile { display:block!important; flex:0 0 70vw; max-width:310px; margin:0!important; }
.velvet-lead .tile .art { aspect-ratio:16/11; }
.velvet-pullquote { margin:-20px 0 50px; padding:25px 20px; min-height:180px; color:var(--ivory); background:var(--wine); display:flex; flex-direction:column; justify-content:flex-end; }
.velvet-pullquote span { font-size:9px; text-transform:uppercase; }
.velvet-pullquote strong { font:400 50px 'Italiana',serif; }
.velvet-pullquote p { margin:0; max-width:20ch; font-size:11px; }
.velvet-pullquote i { width:40px; height:1px; margin-top:18px; background:var(--brass); }
.velvet-wide-band { margin:5px -14px 52px; padding:30px 15px; background:var(--velvet); color:var(--ivory); display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.velvet-wide-band span,.velvet-wide-band strong { display:block; }
.velvet-wide-band span { color:var(--brass); font-size:8px; text-transform:uppercase; }
.velvet-wide-band strong { margin-top:8px; font:400 23px 'Italiana',serif; }
.velvet-wide-band a { color:var(--ivory); font-size:9px; white-space:nowrap; }
.velvet-catalog { padding-top:28px; border-top:3px double #3a2723; }
.velvet-app .tile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 10px; }
.velvet-app .tile-grid .tile { display:block; margin:0; }
.velvet-app .tile-grid .tile .art { aspect-ratio:3/4; }
.velvet-footer { padding:30px 15px; background:var(--velvet); color:#cdbdae; display:grid; gap:16px; font-size:10px; }
.velvet-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
.velvet-footer a { color:var(--ivory); }
@media (min-width:840px) {
  body.velvet-app { padding-left:74px; }
  .velvet-rail { position:fixed; z-index:30; inset:0 auto 0 0; width:74px; padding:18px 0; display:flex; flex-direction:column; align-items:center; background:var(--velvet); color:var(--ivory); border-right:1px solid #503139; }
  .velvet-monogram { color:var(--ivory); text-decoration:none; font:400 25px 'Italiana',serif; }
  .velvet-rail nav { margin:auto; display:grid; gap:22px; }
  .velvet-rail nav a { color:#c7aa8f; font-size:9px; text-decoration:none; }
  .velvet-rail>span { writing-mode:vertical-rl; font-size:8px; text-transform:uppercase; }
  .velvet-header { height:78px; padding:0 38px; }
  .velvet-cover { min-height:760px; }
  .velvet-cover-copy { padding:70px 6vw; }
  .velvet-cover h1 { font-size:112px; }
  .velvet-program { max-width:1320px; margin:auto; padding:70px 5vw 100px; }
  .velvet-program-intro h2 { font-size:58px; }
  .velvet-columns { display:grid; grid-template-columns:1.15fr .55fr .85fr; gap:30px; align-items:start; }
  .velvet-columns.reverse { grid-template-columns:.9fr 1.1fr .9fr; }
  .velvet-pullquote { margin:60px 0 0; }
  .velvet-app .shelf-track { grid-template-columns:1fr 1fr; }
  .velvet-lead .tile { flex-basis:28vw; max-width:390px; }
  .velvet-wide-band { margin:20px 0 70px; padding:42px; }
  .velvet-app .tile-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 14px; }
  .velvet-footer { grid-template-columns:1fr auto; padding:36px 5vw; }
}

/* Familiar casino lobby layout with the art-deco identity kept in the shell. */
body.velvet-app { background:#120b0d; color:#fff7ee; font-size:16px; }
.velvet-account .textlink,.velvet-account .btn { font-size:13px; }
.velvet-cover { min-height:320px; }
.velvet-issue { font-size:12px; }
.velvet-cover-copy>p { font-size:13px; }
.velvet-cover h1 { font-size:58px; line-height:.86; }
.velvet-cover-copy>div { font-size:12px; flex-wrap:wrap; }
.velvet-cover-copy button { min-height:50px; font-size:14px; }
.velvet-program { background:#120b0d; }
.velvet-program-intro { border-color:#6d5853; }
.velvet-program-intro p { font-size:13px; }
.velvet-program-intro h2 { font-size:42px; }
.velvet-program-intro span { font-size:15px; color:#c8b8ae; }
.velvet-index a { padding:12px 15px; border-color:#6d5853; color:#fff7ee; font-size:14px; }
.velvet-note { border-color:#6d5853; font-size:14px; }
.velvet-app .shelf { margin-bottom:46px; }
.velvet-app .shelf-head { border-color:#6d5853; }
.velvet-app .shelf-head span { font-size:12px; }
.velvet-app .shelf-head h2 { display:block; margin:4px 0 0; color:#fff7ee; font-size:32px; }
.velvet-app .shelf-head .tally { display:block; margin-top:4px; color:#b9aaa3; font-size:13px; }
.velvet-app .shelf-track,
.velvet-lead .shelf-track {
  display:flex!important;
  gap:12px;
  width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:8px;
  scrollbar-width:none;
}
.velvet-app .shelf-track::-webkit-scrollbar { display:none; }
.velvet-app .tile,
.velvet-lead .tile {
  display:block!important;
  flex:0 0 44vw;
  max-width:180px;
  margin:0!important;
  color:#fff7ee;
}
.velvet-app .tile .art,
.velvet-app .tile:nth-child(4n+1) .art,
.velvet-lead .tile .art { aspect-ratio:3/4; border:1px solid #4e3d3a; border-radius:4px; }
.velvet-app .tile .name { color:#fff7ee; font-size:14px; }
.velvet-app .tile .kind { color:#ff7185; font-size:12px; }
.velvet-columns,.velvet-columns.reverse { display:block; }
.velvet-pullquote { min-height:150px; margin:0 0 46px; }
.velvet-pullquote span { font-size:12px; }
.velvet-pullquote p { font-size:14px; }
.velvet-wide-band span { font-size:12px; }
.velvet-wide-band strong { font-size:28px; }
.velvet-wide-band a { font-size:13px; }
.velvet-app .tile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.velvet-app .tile-grid .tile { width:100%; max-width:none; }
.velvet-footer { font-size:13px; }

@media (min-width:840px) {
  .velvet-cover { min-height:400px; }
  .velvet-cover-copy { padding:54px 6vw; }
  .velvet-cover h1 { font-size:82px; }
  .velvet-program { max-width:1600px; padding:38px 4vw 100px; }
  .velvet-program-intro h2 { font-size:52px; }
  .velvet-app .tile,
  .velvet-lead .tile { flex-basis:200px; max-width:200px; }
  .velvet-pullquote { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:18px; min-height:120px; }
  .velvet-pullquote strong { font-size:52px; }
  .velvet-app .tile-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .velvet-rail nav a,.velvet-rail>span { font-size:12px; }
}
