.chl-section *,.chl-section *::before,.chl-section *::after{box-sizing:border-box;margin:0;padding:0;}.chl-section{background-color:#0a0a0c;padding:80px 40px;width:100%;}.chl-header{margin-bottom:48px;}.chl-eyebrow{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:14px;}.chl-heading{font-size:clamp(32px,4vw,54px);font-weight:700;line-height:1.08;letter-spacing:-0.03em;color:#ffffff;}.chl-grid{display:flex;gap:10px;width:100%;align-items:stretch;}.chl-card{position:relative;flex:1 1 0;height:560px;border-radius:24px;overflow:hidden;cursor:pointer;outline:none;transition:flex 700ms cubic-bezier(0.76,0,0.24,1),border-radius 700ms cubic-bezier(0.76,0,0.24,1);}.chl-grid:has(.chl-card:hover) .chl-card{flex:0.65 1 0;}.chl-grid:has(.chl-card:hover) .chl-card:hover{flex:2.2 1 0;}.chl-grid:has(.chl-card:focus) .chl-card{flex:0.65 1 0;}.chl-grid:has(.chl-card:focus) .chl-card:focus{flex:2.2 1 0;}.chl-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.04);transition:transform 700ms cubic-bezier(0.76,0,0.24,1);}.chl-card:hover .chl-bg{transform:scale(1.0);}.chl-bg--placeholder{background:linear-gradient(135deg,#1a1a1f 0%,#111115 100%);}.chl-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.45);transition:opacity 700ms ease;}.chl-card:hover .chl-overlay{opacity:0.7;}.chl-gradient{position:absolute;inset:0;background:linear-gradient( to top,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.55) 35%,rgba(0,0,0,0.0) 65% );opacity:0.85;}.chl-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;}.chl-top{margin-bottom:20px;}.chl-name{font-size:clamp(22px,2.5vw,32px);font-weight:700;line-height:1.1;letter-spacing:-0.025em;color:#ffffff;margin-bottom:10px;opacity:1;}.chl-desc{font-size:13px;font-weight:400;line-height:1.6;color:rgba(255,255,255,0.82);opacity:0;max-height:0;overflow:hidden;transform:translateY(6px);transition:opacity 600ms cubic-bezier(0.76,0,0.24,1) 80ms,max-height 600ms cubic-bezier(0.76,0,0.24,1) 80ms,transform 600ms cubic-bezier(0.76,0,0.24,1) 80ms;}.chl-card:hover .chl-desc,.chl-card:focus .chl-desc{opacity:1;max-height:120px;transform:translateY(0);}.chl-divider{width:100%;height:1px;background:rgba(255,255,255,0.15);margin-bottom:16px;}.chl-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}.chl-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:100px;background-color:rgba(255,255,255,0.15);color:#ffffff;font-size:13px;font-weight:600;letter-spacing:0.01em;text-decoration:none;white-space:nowrap;flex-shrink:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.18);transition:background-color 300ms ease,color 300ms ease,border-color 300ms ease;}.chl-btn:hover,.chl-card:hover .chl-btn{background-color:#ffffff;color:#0a0a0c;border-color:transparent;}.chl-pin{flex-shrink:0;width:14px;height:14px;}.chl-hours{font-size:12px;font-weight:500;color:rgba(255,255,255,0.5);letter-spacing:0.02em;white-space:nowrap;opacity:0;transform:translateX(-4px);transition:opacity 500ms cubic-bezier(0.76,0,0.24,1) 120ms,transform 500ms cubic-bezier(0.76,0,0.24,1) 120ms;}.chl-card:hover .chl-hours,.chl-card:focus .chl-hours{opacity:1;transform:translateX(0);}@media (prefers-reduced-motion:reduce){.chl-card,.chl-bg,.chl-overlay,.chl-desc,.chl-hours{transition:none !important;}}@media (max-width:1024px){.chl-section{padding:60px 24px;}.chl-card{height:480px;}.chl-name{font-size:22px;}.chl-grid:has(.chl-card:hover) .chl-card{flex:0.7 1 0;}.chl-grid:has(.chl-card:hover) .chl-card:hover{flex:1.9 1 0;}}@media (max-width:768px){.chl-section{padding:48px 20px;}.chl-grid{flex-direction:column;gap:14px;}.chl-card{flex:none !important;height:320px;width:100%;}.chl-desc{opacity:1;max-height:100px;transform:none;}.chl-hours{opacity:1;transform:none;}.chl-grid:has(.chl-card:hover) .chl-card,.chl-grid:has(.chl-card:hover) .chl-card:hover{flex:none;}}@media (max-width:480px){.chl-card{height:280px;}.chl-content{padding:20px;}.chl-name{font-size:20px;}}