/* Casino Lounge Montréal — the app's tokens, on the web. */
@font-face{font-family:'Fraunces';src:url('fonts/Fraunces-Variable.ttf') format('truetype');font-weight:300 900;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}

:root{--night950:#0A0812;--night900:#110E1B;--night800:#181425;--night700:#211B31;--night600:#2C2440;--amber500:#F5961C;--amber600:#D9760C;--amber400:#FFA535;--amber300:#FFBE63;--gold400:#DDB45C;--gold300:#E9CC7E;--gold600:#A47A2C;--ink:#F7F3FA;--ink2:#B9AFCF;--ink3:#8B7FA6;--hair:rgba(255,255,255,.1);--hair2:rgba(255,255,255,.18);--ease:cubic-bezier(.16,1,.3,1)}
html{background:var(--night950)}
body{background:linear-gradient(180deg,#110E1B 0%,#0A0812 100%);color:var(--ink);font-family:'Manrope',system-ui,sans-serif;font-variation-settings:'wght' 500}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:16px}
@media (max-width:360px){.wrap{padding-inline:12px}}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber500);color:#1F1006;padding:8px 14px;border-radius:999px;z-index:100}
.skip:focus{left:12px}

/* atmosphere */
.bloom{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bloom::before{content:'';position:absolute;left:50%;bottom:-30vh;width:120vw;height:80vh;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(245,150,28,.26) 0%,rgba(245,150,28,.08) 40%,transparent 70%);animation:breathe 11s ease-in-out infinite alternate}
.bokeh{position:absolute;bottom:-10vh;border-radius:50%;background:radial-gradient(circle,rgba(221,180,92,.55) 0%,rgba(221,180,92,0) 70%);opacity:.7;animation:rise linear infinite}
.b1{left:8%;width:140px;height:140px;animation-duration:38s}
.b2{left:26%;width:90px;height:90px;animation-duration:47s;animation-delay:-12s}
.b3{left:48%;width:160px;height:160px;animation-duration:53s;animation-delay:-30s}
.b4{left:66%;width:110px;height:110px;animation-duration:41s;animation-delay:-20s}
.b5{left:82%;width:70px;height:70px;animation-duration:59s;animation-delay:-5s}
.b6{left:93%;width:120px;height:120px;animation-duration:44s;animation-delay:-36s}
@keyframes rise{from{transform:translateY(0)}to{transform:translateY(-130vh)}}
@keyframes breathe{from{opacity:.75}to{opacity:1.05}}
@media (prefers-reduced-motion:reduce){.bloom::before,.bokeh,.float,.phone-hero{animation:none!important}}

/* type */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold300)}
.display{font-family:'Fraunces',Georgia,serif;font-weight:600;font-variation-settings:'wght' 600,'opsz' 72;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.02em}
.display-xl{font-family:'Fraunces',Georgia,serif;font-weight:600;font-variation-settings:'wght' 600,'opsz' 144;font-size:clamp(2.4rem,7vw,4.8rem);line-height:1;letter-spacing:-.025em}
.font-display{font-family:'Fraunces',Georgia,serif;font-variation-settings:'wght' 600}
.lead{font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.65;color:var(--ink2)}
.link-gold{color:var(--gold300);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.link-gold:hover{border-bottom-color:var(--gold300)}

/* buttons: the app's amber pill and hairline pill */
.btn-amber,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font-weight:800;font-size:16px;letter-spacing:.01em;text-decoration:none;white-space:normal;text-align:center;line-height:1.1;transition:transform .15s var(--ease),box-shadow .2s,filter .2s;border:0;cursor:pointer}
.btn-amber{background:linear-gradient(180deg,#FFA535 0%,#F5961C 55%,#D9760C 100%);color:#1F1006;box-shadow:0 8px 24px rgba(245,150,28,.35)}
.btn-amber:hover{filter:brightness(1.06);box-shadow:0 10px 30px rgba(245,150,28,.5)}
.btn-amber:active,.btn-ghost:active{transform:scale(.97)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--hair2)}
.btn-ghost:hover{border-color:var(--gold600);color:var(--gold300)}
.btn-lg{height:56px;padding:0 28px}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
@media (max-width:400px){.btn-lg,.btn-amber,.btn-ghost{height:auto;min-height:48px;padding:12px 18px;font-size:15px}}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(17,14,27,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav-link{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);text-decoration:none;transition:color .2s,background .2s}
.nav-link:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav-link.is-active{color:var(--amber300)}
.mnav-toggle{width:44px;height:44px;border-radius:999px;border:1px solid var(--hair2);background:var(--night800);color:var(--ink);font-size:18px}
.mnav{border-top:1px solid var(--hair);background:rgba(17,14,27,.98)}
.mnav-link{padding:12px 8px;border-radius:12px;font-weight:700;color:var(--ink2);text-decoration:none}
.mnav-link:hover,.mnav-link.is-active{color:var(--amber300)}

/* sections */
.section{padding-block:clamp(56px,8vw,112px)}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--hair)}
.hero-scene{position:absolute;inset:0;z-index:0}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.55) saturate(1.05)}
.hero-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,18,.92) 0%,rgba(10,8,18,.7) 45%,rgba(10,8,18,.35) 100%),linear-gradient(180deg,rgba(10,8,18,.5) 0%,rgba(10,8,18,0) 35%,rgba(10,8,18,.85) 100%)}
.hero .wrap{position:relative;z-index:1}
.hero-grid{min-height:min(calc(100vh - 4rem),820px)}
.stats li strong{display:block;font-family:'Fraunces',serif;font-variation-settings:'wght' 600;font-size:28px;color:var(--gold300);line-height:1}
.stats li span{display:block;margin-top:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.hero-stage{position:relative;width:min(100%,360px)}
.phone{margin:0;aspect-ratio:1206/2622;border-radius:44px;border:10px solid #1a1626;background:#0A0812;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(221,180,92,.25);position:relative}
.phone img{display:block;width:100%;height:100%;object-fit:cover}
.phone-hero{width:min(78vw,300px);margin-inline:auto;animation:hover 6s ease-in-out infinite alternate}
@keyframes hover{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-10px) rotate(1deg)}}
.float{position:absolute;width:92px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.5));animation:drift 7s ease-in-out infinite alternate}
.f1{left:-6%;top:12%;width:120px;animation-duration:8s}
.f2{right:-4%;top:38%;animation-duration:9s;animation-delay:-3s}
.f3{left:-2%;bottom:14%;animation-duration:10s;animation-delay:-5s}
@keyframes drift{from{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-14px) rotate(4deg)}}
@media (max-width:420px){.float{display:none}}

.card-solid{background:var(--night800);border:1px solid var(--hair2);border-radius:20px;padding:24px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.orig-card{background:var(--night800);border:1px solid var(--hair2);border-radius:20px;padding:20px;box-shadow:0 6px 16px rgba(0,0,0,.4);transition:transform .25s var(--ease),border-color .25s}
.orig-card:hover{transform:translateY(-4px);border-color:rgba(245,150,28,.5)}
.orig-art{position:relative;height:150px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 50% 60%,rgba(245,150,28,.42) 0%,rgba(217,118,12,.1) 55%,transparent 72%)}
.orig-art img{max-height:130px;width:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}
.orig-hero{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:420px;margin-inline:auto;border-radius:28px;background:radial-gradient(circle at 50% 55%,rgba(245,150,28,.45) 0%,rgba(217,118,12,.12) 50%,transparent 70%)}
.orig-hero img{width:82%;filter:drop-shadow(0 16px 30px rgba(0,0,0,.55))}

.floor-band{position:relative;overflow:hidden;border-block:1px solid var(--hair)}
.floor-scene{position:absolute;inset:0}
.floor-scene img{width:100%;height:100%;object-fit:cover;filter:brightness(.4)}
.floor-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,18,.95),rgba(10,8,18,.55))}
.tile{display:block;width:100%;aspect-ratio:180/236;object-fit:cover;border-radius:14px;border:1px solid var(--hair2);background:var(--night800);box-shadow:0 6px 16px rgba(0,0,0,.4)}
.studio-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--hair2);background:rgba(24,20,37,.8);font-size:13px;font-weight:700}
.studio-pill span{color:var(--gold300);font-size:12px}
.floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}
.floor-grid li span{display:block;margin-top:8px;font-size:13px;font-weight:700;line-height:1.2}
.floor-grid li small{display:block;color:var(--ink3);font-size:11px;margin-top:2px}
.studio-list{columns:2;column-gap:40px}
@media (max-width:520px){.studio-list{columns:1}}
.studio-row{break-inside:avoid;display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair);font-size:14px}

.pw{background:var(--night800);border:1px solid var(--hair2);border-radius:16px;padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.pw img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));margin-bottom:6px}
.pw strong{font-size:15px}
.pw span{font-size:12px;color:var(--ink3)}

.gallery-wrap{margin-top:40px}
.gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px calc(50vw - 120px) 24px;scrollbar-width:thin;scrollbar-color:var(--gold600) transparent;list-style:none;margin:0}
.gallery li{flex:0 0 240px;scroll-snap-align:center}
.gallery .phone{border-width:8px;border-radius:36px}
@media (max-width:300px){.gallery li{flex-basis:200px}.gallery{padding-inline:calc(50vw - 100px)}}

.step{background:var(--night800);border:1px solid var(--hair2);border-radius:20px;padding:24px}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#E9CC7E,#DDB45C 55%,#A47A2C);color:#1C1407;font-family:'Fraunces',serif;font-variation-settings:'wght' 700;font-size:22px}
.step h3{font-family:'Fraunces',serif;font-variation-settings:'wght' 600;font-size:22px;margin-top:14px}
.step p{color:var(--ink2);margin-top:8px;line-height:1.6;font-size:15px}
.rules-band{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:var(--night800);border:1px solid rgba(221,180,92,.45);border-radius:20px;padding:28px;box-shadow:0 8px 24px rgba(221,180,92,.15)}
.rules-band>div{flex:1 1 260px}
.cta-band{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(221,180,92,.35);padding:clamp(28px,5vw,56px)}
.cta-scene{position:absolute;inset:0}
.cta-scene img{width:100%;height:100%;object-fit:cover;filter:brightness(.42)}
.cta-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,18,.9),rgba(10,8,18,.4))}

.value{background:var(--night800);border:1px solid var(--hair2);border-radius:16px;padding:20px}
.value i{font-size:20px;color:var(--amber300)}
.value h3{font-weight:800;margin-top:12px;font-size:16px}
.value p{color:var(--ink3);font-size:14px;margin-top:6px;line-height:1.5}

.faq{background:var(--night800);border:1px solid var(--hair2);border-radius:16px;padding:0 20px;margin-bottom:10px}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-weight:800;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{color:var(--gold300);transition:transform .25s var(--ease);font-size:12px}
.faq[open] summary i{transform:rotate(180deg)}
.faq p{color:var(--ink2);padding-bottom:18px;line-height:1.65}

.field{display:block}
.field span{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:var(--night900);border:1px solid rgba(239,234,247,.12);border-radius:14px;padding:14px 16px;color:var(--ink);font:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber400);box-shadow:0 0 0 3px rgba(245,150,28,.2)}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold300) 50%),linear-gradient(135deg,var(--gold300) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.field .is-invalid,.field input:user-invalid{border-color:#FF4D5E}
.form-error{color:#FF4D5E;font-size:13px;margin-top:12px}
.contact-form.is-sent>*:not(.form-sent){display:none}
.form-sent{text-align:center;padding:16px 0}
.sent-disc{width:72px;height:72px;margin-inline:auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#E9CC7E,#DDB45C 55%,#A47A2C);color:#1C1407;font-size:28px;box-shadow:0 8px 24px rgba(221,180,92,.3)}
.btn-amber.is-busy{pointer-events:none;opacity:.85}

/* legal */
.legal h1{margin-bottom:24px}
.legal-meta{color:var(--ink3);font-size:14px;margin-bottom:28px}
.legal h2{font-family:'Fraunces',serif;font-variation-settings:'wght' 600;font-size:clamp(1.3rem,2.2vw,1.65rem);margin:44px 0 12px;scroll-margin-top:90px;color:var(--gold300)}
.legal h3{font-weight:800;font-size:17px;margin:26px 0 8px;scroll-margin-top:90px}
.legal p{color:var(--ink2);line-height:1.7;margin:10px 0;font-size:15px}
.legal ul{margin:10px 0 14px 22px;color:var(--ink2);line-height:1.65;font-size:15px;list-style:disc}
.legal li{margin:4px 0}
.legal a{color:var(--gold300);text-decoration:underline;text-decoration-color:rgba(233,204,126,.4)}
.table-wrap{overflow-x:auto;margin:14px 0}
.legal table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.legal th,.legal td{text-align:left;padding:10px 12px;border:1px solid var(--hair2);vertical-align:top;color:var(--ink2)}
.legal th{background:var(--night800);color:var(--ink);font-weight:800}
.toc{background:var(--night800);border:1px solid var(--hair2);border-radius:16px;padding:18px;max-height:calc(100vh - 110px);overflow:auto}
@media (min-width:1024px){.toc{position:sticky;top:88px}}
.toc ol{margin-top:12px;counter-reset:toc}
.toc li{font-size:13px;line-height:1.4;margin:6px 0}
.toc a{color:var(--ink2);text-decoration:none}
.toc a:hover{color:var(--gold300)}

/* footer + cookies */
.site-footer{border-top:1px solid var(--hair);background:rgba(10,8,18,.7);padding:clamp(40px,6vw,72px) 0 28px;margin-top:40px}
.foot-link{color:var(--ink2);font-size:14px;text-decoration:none}
.foot-link:hover{color:var(--gold300)}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(24,20,37,.97);border-top:1px solid rgba(221,180,92,.35);padding:16px 0;box-shadow:0 -12px 32px rgba(0,0,0,.5);animation:up .4s var(--ease)}
@keyframes up{from{transform:translateY(100%)}to{transform:translateY(0)}}
