*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--crs-bg,#090b12);color:var(--crs-text,#fff);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.screen-reader-text{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:1000;background:#fff;color:#000;padding:10px}.site-header{position:sticky;top:0;z-index:99;background:rgba(9,11,18,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.brand{display:flex;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.06em}.brand img{max-height:64px;width:auto}.brand-text{font-size:clamp(1.1rem,2vw,1.55rem)}.primary-nav .menu,.footer-nav .menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}.primary-nav a,.footer-nav a{text-decoration:none;color:rgba(255,255,255,.84);font-weight:700}.primary-nav a:hover,.footer-nav a:hover{color:var(--crs-accent,#ffd12f)}.nav-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 14px}.hero-section{position:relative;overflow:hidden;padding:72px 0;background:radial-gradient(circle at 20% 15%,rgba(255,209,47,.22),transparent 28%),radial-gradient(circle at 80% 25%,rgba(255,255,255,.1),transparent 24%),linear-gradient(145deg,var(--crs-bg,#090b12),#0d1220 55%,#05060a)}.hero-section:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 46%,rgba(255,209,47,.08) 46% 47%,transparent 47% 58%,rgba(255,209,47,.06) 58% 59%,transparent 59%);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--crs-accent,#ffd12f);font-size:.8rem;font-weight:900;margin:0 0 8px}.hero-copy h1{font-size:clamp(3rem,9vw,7.5rem);line-height:.88;margin:0;text-transform:uppercase;letter-spacing:-.06em}.tagline{font-size:clamp(1.45rem,3vw,2.5rem);font-weight:900;margin:18px 0 8px}.intro{font-size:1.1rem;max-width:720px;color:rgba(255,255,255,.82)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button-row.compact{margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:900;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--crs-accent,#ffd12f);color:#080a0f}.btn-secondary{background:#fff;color:#080a0f}.btn-outline{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.04)}.text-link{font-weight:900;color:var(--crs-accent,#ffd12f);text-decoration:none}.today-card,.location-card,.feature-grid>div,.week-item,.post-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.13);border-radius:28px;box-shadow:0 22px 60px rgba(0,0,0,.26)}.today-card{padding:28px}.today-card h2{font-size:clamp(2rem,5vw,3.8rem);line-height:.95;margin:0 0 16px}.today-card p{color:rgba(255,255,255,.82)}.today-card small{display:block;margin-top:14px;color:rgba(255,255,255,.65)}.promo-image{overflow:hidden;border-radius:20px;margin-top:16px;border:1px solid rgba(255,255,255,.12)}.promo-image img{display:block;width:100%;height:auto}.section{padding:64px 0}.section-heading{max-width:740px;margin-bottom:28px}.section-heading h2,.split-section h2,.content-wrap h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:0 0 12px}.section-heading p,.split-section p{color:rgba(255,255,255,.78);font-size:1.08rem}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.location-card{padding:26px}.location-card h3{font-size:clamp(2rem,4vw,3.6rem);line-height:.95;margin:0 0 14px}.location-card p{color:rgba(255,255,255,.78)}.card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.week-section{background:rgba(255,255,255,.03)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.week-item{padding:16px;border-radius:18px}.week-item span{display:block;font-size:.75rem;text-transform:uppercase;color:rgba(255,255,255,.58);letter-spacing:.1em}.week-item strong{display:block;line-height:1.2;margin-top:5px}.week-item.is-today{border-color:var(--crs-accent,#ffd12f);box-shadow:0 0 0 1px var(--crs-accent,#ffd12f) inset}.split-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:start}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-grid>div{padding:20px;border-radius:20px}.feature-grid strong{font-size:1.1rem;color:var(--crs-accent,#ffd12f)}.feature-grid p{font-size:.95rem}.content-wrap{max-width:860px}.content-wrap img{max-width:100%;height:auto}.content-wrap a:not(.btn){color:var(--crs-accent,#ffd12f)}.post-list{display:grid;gap:18px}.post-card{padding:24px}.post-card a{text-decoration:none}.post-meta{color:rgba(255,255,255,.65)}.site-footer{border-top:1px solid rgba(255,255,255,.1);background:#05060a;padding:34px 0 20px}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:24px}.footer-grid p{max-width:820px;color:rgba(255,255,255,.72);font-size:.92rem}.footer-bottom{display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.55);font-size:.86rem;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
@media (max-width: 900px){.hero-grid,.location-grid,.split-section{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#080a0f;border-bottom:1px solid rgba(255,255,255,.1);padding:18px 20px}.primary-nav.is-open{display:block}.primary-nav .menu{display:grid}.nav-toggle{display:inline-flex}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.hero-section{padding:48px 0}.wrap{width:min(100% - 28px,1120px)}}
@media (max-width: 520px){.hero-copy h1{font-size:3.1rem}.btn{width:100%}.week-grid{grid-template-columns:1fr}.today-card,.location-card{border-radius:20px;padding:22px}}


/* Background logo watermark + 21+ age gate */
body:before{
    content:"";
    position:fixed;
    left:50%;
    top:52%;
    width:140vmax;
    height:140vmax;
    transform:translate(-50%,-50%) rotate(var(--crs-bg-logo-rotate,-24deg));
    background-image:var(--crs-bg-logo);
    background-repeat:no-repeat;
    background-position:center;
    background-size:var(--crs-bg-logo-size,min(82vw,1100px));
    opacity:calc(var(--crs-bg-logo-display,1) * var(--crs-bg-logo-opacity,.07));
    pointer-events:none;
    z-index:-1;
}
.crs-age-gate{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(0,0,0,.88);
    backdrop-filter:blur(10px);
}
.crs-age-gate.is-hidden{display:none}
.crs-age-card{
    width:min(520px,100%);
    text-align:center;
    background:linear-gradient(180deg,rgba(18,23,34,.96),rgba(5,6,10,.96));
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    padding:32px;
    box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.crs-age-logo{
    width:150px;
    height:150px;
    margin:0 auto 18px;
    background-image:var(--crs-bg-logo);
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    border-radius:50%;
    filter:drop-shadow(0 0 20px rgba(255,0,0,.24));
}
.crs-age-card h2{
    font-size:clamp(2rem,6vw,3.8rem);
    line-height:.95;
    margin:0 0 14px;
    text-transform:uppercase;
    letter-spacing:-.04em;
}
.crs-age-card p{color:rgba(255,255,255,.82)}
.crs-age-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0 12px}
.crs-age-card small{display:block;color:rgba(255,255,255,.62)}
@media (max-width:520px){
    body:before{width:165vmax;height:165vmax;background-size:min(115vw,780px);opacity:calc(var(--crs-bg-logo-display,1) * .05)}
    .crs-age-card{padding:24px 18px;border-radius:22px}
    .crs-age-logo{width:120px;height:120px}
}

/* Store plate background photos */
.location-card{position:relative;overflow:hidden;isolation:isolate}
.location-card.has-store-image{min-height:360px;display:flex;align-items:flex-end}
.location-card-media{position:absolute;inset:0;z-index:0}
.location-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.location-card.has-store-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,6,10,.18) 0%,rgba(5,6,10,.42) 28%,rgba(5,6,10,.88) 72%,rgba(5,6,10,.96) 100%)}
.location-card-content{position:relative;z-index:2;width:100%}
.location-card.has-store-image .eyebrow,.location-card.has-store-image h3,.location-card.has-store-image p,.location-card.has-store-image .text-link{text-shadow:0 2px 14px rgba(0,0,0,.65)}

/* Weekly feature images */
.week-thumb{overflow:hidden;border-radius:14px;margin:-4px -4px 12px;border:1px solid rgba(255,255,255,.1);aspect-ratio:16/10;background:rgba(255,255,255,.04)}
.week-thumb img{display:block;width:100%;height:100%;object-fit:cover}


/* v1.4.2 fixed popup overlay */
.crs-age-gate{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100vh !important;
    min-height:100vh !important;
    z-index:2147483640 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(0,0,0,.92) !important;
    backdrop-filter:blur(10px);
}
.crs-age-gate.is-hidden{display:none !important}
.crs-age-card{
    position:relative !important;
    z-index:2147483641 !important;
    width:min(520px,100%) !important;
    max-height:calc(100vh - 48px);
    overflow:auto;
}
body.crsAgeGateLock{overflow:hidden !important}

.no-locations-message{padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;color:rgba(255,255,255,.82);background:rgba(255,255,255,.04)}


/* Diagonal watermark controls */
body.has-no-diagonal-logo:before{display:none}


/* v1.5.1 visible diagonal client logo layer */
body{
    position:relative;
    isolation:isolate;
}
body:before{
    content:"" !important;
    position:fixed !important;
    left:50% !important;
    top:50% !important;
    width:150vmax !important;
    height:150vmax !important;
    transform:translate(-50%,-50%) rotate(var(--crs-bg-logo-rotate,-24deg)) !important;
    background-image:var(--crs-bg-logo) !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:var(--crs-bg-logo-size,min(86vw,1150px)) !important;
    opacity:calc(var(--crs-bg-logo-display,1) * var(--crs-bg-logo-opacity,.11)) !important;
    pointer-events:none !important;
    z-index:0 !important;
}
.site-header,
.site-main,
.site-footer{
    position:relative;
    z-index:1;
}
.crs-age-gate{
    z-index:2147483640 !important;
}
@media (max-width:520px){
    body:before{
        background-size:min(125vw,840px) !important;
        opacity:calc(var(--crs-bg-logo-display,1) * .08) !important;
    }
}


/* v1.5.2 real visible diagonal logo layer inside the homepage */
.site-main{
    position:relative;
    isolation:isolate;
}
.crs-page-logo-layer{
    display:var(--crs-bg-logo-display,block);
    position:absolute;
    left:50%;
    top:47%;
    width:150vmax;
    height:150vmax;
    transform:translate(-50%,-50%) rotate(var(--crs-bg-logo-rotate,-24deg));
    background-image:var(--crs-bg-logo);
    background-repeat:no-repeat;
    background-position:center;
    background-size:var(--crs-bg-logo-size,min(90vw,1200px));
    opacity:var(--crs-bg-logo-opacity,.14);
    pointer-events:none;
    z-index:0;
}
.site-main > section{
    position:relative;
    z-index:1;
}
.crs-age-gate{
    z-index:2147483640 !important;
}
@media (max-width:520px){
    .crs-page-logo-layer{
        top:38%;
        background-size:min(125vw,880px);
        opacity:.09;
    }
}


/* v1.6.2 TRUE small tiled logo pattern — final override
   No giant watermark. Logos tile small inside every page section from the top. */
body:before,
body::before,
.crs-page-logo-layer,
.crs-page-logo-layer::before,
.crs-page-logo-layer::after{
    display:none !important;
    background-image:none !important;
    content:none !important;
}

.hero-section,
.section{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
}

.hero-section::before,
.section::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:-25% !important;
    z-index:0 !important;
    pointer-events:none !important;
    background-image:var(--crs-bg-logo) !important;
    background-repeat:repeat !important;
    background-position:0 0 !important;
    background-size:
        calc(var(--crs-logo-pattern-size,72px) + var(--crs-logo-pattern-gap,44px))
        calc(var(--crs-logo-pattern-size,72px) + var(--crs-logo-pattern-gap,44px)) !important;
    opacity:calc(var(--crs-bg-logo-opacity,.11) * var(--crs-logo-pattern-enabled,1)) !important;
    transform:rotate(var(--crs-bg-logo-rotate,-24deg)) !important;
    transform-origin:center !important;
}

.hero-section::after{
    z-index:1 !important;
}

.hero-section > .wrap,
.section > .wrap{
    position:relative !important;
    z-index:2 !important;
}

.today-card,
.location-card,
.week-item,
.feature-grid > div,
.post-card{
    position:relative !important;
    z-index:3 !important;
}

@media (max-width:520px){
    .hero-section::before,
    .section::before{
        background-size:112px 112px !important;
        opacity:.08 !important;
    }
}


/* v1.6.3 header home button visibility fix */
.site-header{
    min-height:72px;
    position:sticky;
    top:0;
    z-index:999;
}
.header-wrap{
    min-height:72px;
}
.brand-home{
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height:44px !important;
    color:#fff !important;
    background:rgba(5,6,10,.52);
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    padding:8px 14px;
    position:relative;
    z-index:1001;
}
.brand-home .custom-logo-link,
.brand-home .custom-logo{
    display:block !important;
}
.brand-home img,
.brand img{
    display:block !important;
    max-height:48px !important;
    width:auto !important;
}
.brand-mark{
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--crs-accent,#ffd12f);
    color:#080a0f;
    font-weight:900;
    line-height:1;
}
.brand-text{
    display:inline-block !important;
    color:#fff !important;
    font-weight:950 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase;
    font-size:clamp(.95rem,1.7vw,1.25rem) !important;
    line-height:1 !important;
    white-space:nowrap;
}
@media (max-width:520px){
    .brand-home{padding:7px 10px}
    .brand-text{font-size:.9rem !important}
    .brand-mark{width:24px;height:24px}
}


/* v1.6.4 keep header logo/home button locked to the left */
.site-header{
    width:100%;
}
.header-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
}
.brand-home{
    margin-right:auto !important;
    flex:0 0 auto !important;
    max-width:min(360px,62vw) !important;
}
.brand-home .custom-logo-link{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
}
.brand-home img,
.brand img,
.custom-logo{
    display:block !important;
    width:auto !important;
    max-width:min(300px,58vw) !important;
    max-height:58px !important;
    object-fit:contain !important;
}
.primary-nav{
    margin-left:auto !important;
}
.nav-toggle{
    margin-left:auto !important;
}
@media (max-width:520px){
    .brand-home{
        max-width:70vw !important;
    }
    .brand-home img,
    .brand img,
    .custom-logo{
        max-width:62vw !important;
        max-height:46px !important;
    }
}

/* v1.6.5 client-side today feature rotation */
.daily-promo-card{display:none}
.daily-promo-card.is-active{display:block}
.today-card-rotator .daily-promo-stack{min-height:1px}
