/* Belle Rive Casino Hotel — river arches, asymmetric columns */

:root{
    --blush:#fdf0ee;
    --blush-deep:#f8e5e1;
    --cream:#fffaf7;
    --cream-2:#fdf4f0;
    --sage:#6f8a6a;
    --sage-ink:#4f6a4b;
    --sage-pale:#e8efe4;
    --navy:#20304a;
    --navy-soft:#4a5a72;
    --navy-deep:#1a2639;
    --edge:#cbd8c6;
    --edge-warm:#edd9d3;
    --paper-on-navy:#f4ece7;
    --arch:50% 50% 12px 12px / 30% 30% 12px 12px;
    --arch-sm:50% 50% 8px 8px / 42% 42% 8px 8px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;scroll-padding-top:104px}

body{
    font-family:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:17px;
    line-height:1.72;
    color:var(--navy);
    background:var(--blush);
    -webkit-font-smoothing:antialiased;
}

img,svg{display:block;max-width:100%}
a{color:inherit}

h1,h2,h3,h4{font-family:"Libre Baskerville",Georgia,"Times New Roman",serif;font-weight:400;line-height:1.26}
strong,b{font-weight:700}

.frame{width:min(1160px,100% - 44px);margin-inline:auto}
.frame-slim{width:min(780px,100% - 44px);margin-inline:auto}

/* ---------- small type furniture ---------- */
.overline{
    display:block;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--sage-ink);
}
.archline{
    width:58px;height:13px;
    margin-top:16px;
    border:1px solid var(--sage);
    border-bottom:0;
    border-radius:50% 50% 0 0/100% 100% 0 0;
}
.archline.mid{margin-inline:auto}

.pill{
    display:inline-block;
    padding:13px 28px;
    font-family:"Mulish",sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-decoration:none;
    border:1px solid var(--navy);
    border-radius:999px;
    color:var(--navy);
    background:transparent;
    cursor:pointer;
    transition:background .22s,color .22s,border-color .22s;
}
.pill:hover{background:var(--navy);color:var(--cream)}
.pill--fill{background:var(--navy);color:var(--cream)}
.pill--fill:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.pill--leaf{border-color:var(--sage-ink);color:var(--sage-ink)}
.pill--leaf:hover{background:var(--sage-ink);color:var(--cream);border-color:var(--sage-ink)}
.pill--pale{border-color:var(--paper-on-navy);color:var(--paper-on-navy)}
.pill--pale:hover{background:var(--paper-on-navy);color:var(--navy);border-color:var(--paper-on-navy)}

.token{
    display:inline-grid;
    place-items:center;
    width:46px;height:50px;
    flex:none;
    border:1px solid var(--sage);
    border-radius:var(--arch-sm);
    background:var(--cream);
    font-family:"Libre Baskerville",serif;
    font-size:14px;
    color:var(--sage-ink);
}

.plain-btn{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}

/* ---------- masthead ---------- */
.mast{
    position:sticky;top:0;z-index:70;
    background:var(--blush);
    border-bottom:1px solid var(--edge);
}
.mast-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}

.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none}
.wordmark img{width:40px;height:44px}
.wordmark-name{
    font-family:"Libre Baskerville",serif;
    font-size:21px;
    line-height:1.08;
    letter-spacing:.01em;
}
.wordmark-name span{
    display:block;
    font-family:"Mulish",sans-serif;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--sage-ink);
    margin-top:5px;
}

.nav{display:flex;align-items:center;gap:26px}
.nav a{
    position:relative;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    letter-spacing:.05em;
    color:var(--navy-soft);
    padding-bottom:9px;
    transition:color .2s;
}
.nav a::after{
    content:"";
    position:absolute;
    left:50%;bottom:0;
    transform:translateX(-50%);
    width:26px;height:7px;
    border:1px solid var(--sage);
    border-bottom:0;
    border-radius:50% 50% 0 0/100% 100% 0 0;
    opacity:0;
    transition:opacity .2s;
}
.nav a:hover{color:var(--navy)}
.nav a:hover::after,.nav a.is-here::after{opacity:1}
.nav a.is-here{color:var(--navy)}
.nav .pill{padding:11px 22px;font-size:11.5px}
.nav .pill::after{display:none}
/* .nav a sets a muted colour; the CTA needs its own, at matching specificity */
.nav .pill--fill,.nav .pill--fill:hover{color:var(--cream)}

.nav-toggle{
    display:none;
    width:48px;height:46px;
    border:1px solid var(--edge);
    border-radius:12px;
    background:var(--cream);
    cursor:pointer;
}
.nav-toggle i{display:block;width:19px;height:1.5px;margin:4px auto;background:var(--navy);border-radius:2px}

/* ---------- strips ---------- */
.strip{padding:92px 0}
.strip--cream{background:var(--cream);border-block:1px solid var(--edge-warm)}
.strip--leaf{background:var(--sage-pale)}
.strip--navy{background:var(--navy);color:var(--paper-on-navy)}
.strip--navy .overline{color:#b9cdb3}
.strip--navy .archline{border-color:#b9cdb3}

.heading-mid{max-width:660px;margin:0 auto 54px;text-align:center}
.heading-mid h2{font-size:clamp(26px,3.3vw,38px);margin-top:16px}
.heading-mid p{color:var(--navy-soft);margin-top:14px}

/* ---------- asymmetric split with sticky caption ---------- */
.split{display:grid;grid-template-columns:38% minmax(0,1fr);gap:56px;align-items:start}
.split--flip{grid-template-columns:minmax(0,1fr) 38%}
.split-aside{position:sticky;top:116px}
.split--flip .split-aside{order:2}
.split-aside h2{font-size:clamp(25px,3vw,36px);margin-top:16px}
.split-aside p{color:var(--navy-soft);font-size:15.5px;margin-top:14px}
.strip--navy .split-aside p{color:#cfdbe6}
.split-body>p{color:var(--navy-soft)}
.split-body>p+p{margin-top:16px}
.strip--navy .split-body>p{color:#cfdbe6}

/* ---------- overture / hero ---------- */
.overture{padding:70px 0 84px;position:relative}
.overture-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:end}
.overture h1{font-size:clamp(34px,5.4vw,62px);margin-top:20px;max-width:14em}
.overture h1 em{font-style:italic;color:var(--sage-ink)}
.overture-lead{max-width:46ch;margin-top:22px;font-size:18.5px;color:var(--navy-soft)}
.overture-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}
.overture-note{
    display:inline-flex;align-items:center;gap:13px;
    margin-top:30px;padding:12px 18px 12px 12px;
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:14px;
    font-size:13.5px;
    color:var(--navy-soft);
    max-width:100%;
}

.arcade{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.arcade-bay{
    position:relative;
    aspect-ratio:2/3.1;
    border:1px solid var(--edge);
    border-radius:var(--arch);
    overflow:hidden;
}
.arcade-bay::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(176deg,#eef3ea 0%,#cfdcc9 52%,#9fb699 100%);
}
.arcade-bay::after{
    content:"";position:absolute;
    left:22%;right:22%;top:14%;bottom:0;
    border:1px solid rgba(255,255,255,.62);
    border-bottom:0;
    border-radius:50% 50% 0 0/36% 36% 0 0;
}
.arcade-bay:nth-child(2)::before{background:linear-gradient(176deg,#fdeeea 0%,#f0cdc4 54%,#cf9f96 100%)}
.arcade-bay:nth-child(3)::before{background:linear-gradient(176deg,#e9eef5 0%,#b9c6d8 52%,#5d7190 100%)}
.arcade-bay:nth-child(4)::before{background:linear-gradient(176deg,#f6f1e6 0%,#e0d4bb 52%,#b6a583 100%)}
.arcade-cap{
    position:absolute;left:9px;right:9px;bottom:10px;z-index:2;
    padding:5px 4px;
    text-align:center;
    background:rgba(255,250,247,.93);
    border-radius:9px;
    font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--navy);
}

/* ---------- the house / glance ---------- */
.glance{
    display:grid;grid-template-columns:1fr 1fr;
    gap:0 36px;
    margin-top:34px;
    padding-top:6px;
    border-top:1px solid var(--edge);
}
.glance div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--edge)}
.glance dt{font-size:11.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--sage-ink)}
.glance dd{font-family:"Libre Baskerville",serif;font-size:16px;text-align:right}

.aside-card{
    margin-top:26px;padding:22px;
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:var(--arch);
    font-size:14.5px;
    color:var(--navy-soft);
}
.aside-card b{display:block;font-family:"Libre Baskerville",serif;font-weight:400;font-size:17px;color:var(--navy);margin-bottom:7px}
.strip--navy .aside-card{background:rgba(244,236,231,.08);border-color:rgba(185,205,179,.42);color:#cfdbe6}
.strip--navy .aside-card b{color:#e6efe3}

/* ---------- rooms: alternating full-width rows ---------- */
.keys{display:grid;gap:30px}
.key-row{
    display:flex;align-items:center;gap:46px;
    padding:30px;
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:20px;
}
.key-row:nth-child(even){flex-direction:row-reverse}
.key-art{
    flex:0 0 300px;
    aspect-ratio:4/3.6;
    position:relative;
    border:1px solid var(--edge);
    border-radius:var(--arch);
    overflow:hidden;
}
.key-art::before{content:"";position:absolute;inset:0}
.key-row:nth-child(1) .key-art::before{background:linear-gradient(170deg,#eff4ea 0%,#c7d8c0 58%,#95ae8e 100%)}
.key-row:nth-child(2) .key-art::before{background:linear-gradient(170deg,#eaf0f7 0%,#bfcde0 58%,#728aa9 100%)}
.key-row:nth-child(3) .key-art::before{background:linear-gradient(170deg,#fdeeea 0%,#eecdc5 58%,#c79a91 100%)}
.key-row:nth-child(4) .key-art::before{background:linear-gradient(170deg,#f7f2e7 0%,#e2d6bd 58%,#b5a382 100%)}
.key-art::after{
    content:"";position:absolute;
    left:26%;right:26%;top:16%;bottom:-1px;
    border:1px solid rgba(255,255,255,.66);
    border-bottom:0;
    border-radius:50% 50% 0 0/40% 40% 0 0;
}
.key-body{flex:1 1 auto;min-width:0}
.key-body h3{font-size:25px;margin-top:9px}
.key-body p{color:var(--navy-soft);font-size:15.5px;margin-top:11px;max-width:52ch}
.key-specs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;list-style:none}
.key-specs li{
    padding:9px 16px;
    border:1px solid var(--edge);
    border-radius:999px;
    background:var(--blush);
    font-size:13px;
}
.key-specs li span{color:var(--navy-soft)}
.key-specs li b{font-weight:700}

/* ---------- casino salon ---------- */
.tables{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:30px;border-top:1px solid rgba(185,205,179,.4)}
.tables li{
    list-style:none;
    display:flex;gap:12px;align-items:baseline;
    padding:13px 2px;
    font-size:15px;
    border-bottom:1px solid rgba(185,205,179,.4);
}
.tables li::before{content:"";flex:none;width:13px;height:9px;border:1px solid #b9cdb3;border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0}
.floor-rules{margin-top:34px;counter-reset:fr;list-style:none}
.floor-rules li{
    counter-increment:fr;
    display:flex;gap:16px;
    padding:13px 0;
    border-top:1px solid rgba(185,205,179,.3);
    font-size:15px;
    color:#cfdbe6;
}
.floor-rules li:first-child{border-top:0}
.floor-rules li::before{
    content:counter(fr);
    flex:none;
    display:grid;place-items:center;
    width:26px;height:29px;
    border:1px solid #b9cdb3;
    border-radius:var(--arch-sm);
    font-family:"Libre Baskerville",serif;
    font-size:12px;
    color:#e6efe3;
}
.hours-row{
    margin-top:22px;padding-top:16px;
    border-top:1px solid rgba(185,205,179,.42);
    font-size:14.5px;letter-spacing:.03em;
}
.hours-row b{color:#e6efe3}

/* ---------- venues ---------- */
.venues{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.venue{
    padding:0 0 26px;
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:var(--arch);
    overflow:hidden;
}
.venue-crown{height:74px;position:relative;border-bottom:1px solid var(--edge)}
.venue:nth-child(1) .venue-crown{background:linear-gradient(100deg,#dfe9da,#b6cdaf)}
.venue:nth-child(2) .venue-crown{background:linear-gradient(100deg,#f7ddd6,#ecc0b6)}
.venue:nth-child(3) .venue-crown{background:linear-gradient(100deg,#dde5ef,#b0c0d6)}
.venue:nth-child(4) .venue-crown{background:linear-gradient(100deg,#f3ecdd,#ddceae)}
.venue-in{padding:22px 28px 0}
.venue-kind{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-ink)}
.venue h3{font-size:23px;margin-top:8px}
.venue p{color:var(--navy-soft);font-size:15px;margin-top:10px}
.venue-hours{
    display:inline-block;margin-top:16px;padding:7px 15px;
    border:1px solid var(--sage);border-radius:999px;
    font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--sage-ink);
}

/* ---------- week ---------- */
.week{display:grid;border-top:1px solid var(--edge)}
.week-row{
    display:grid;grid-template-columns:118px minmax(0,1fr) 96px;
    gap:24px;align-items:baseline;
    padding:19px 0;
    border-bottom:1px solid var(--edge);
}
.week-day{font-family:"Libre Baskerville",serif;font-size:17px;color:var(--sage-ink)}
.week-row h3{font-family:"Mulish",sans-serif;font-size:17px;font-weight:700}
.week-row p{font-size:15px;color:var(--navy-soft);margin-top:4px}
.week-row time{font-size:13px;font-weight:700;letter-spacing:.07em;text-align:right;color:var(--navy)}
.week-foot{margin-top:20px;font-size:14px;color:var(--navy-soft);text-align:center}

/* ---------- bassin ---------- */
.bassin-art{
    aspect-ratio:3/3.6;
    position:relative;
    border:1px solid var(--edge);
    border-radius:var(--arch);
    overflow:hidden;
    background:linear-gradient(178deg,#eef4f1 0%,#c5dcd6 50%,#8fb3ac 100%);
}
.bassin-art::before{
    content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
    background:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 1px,transparent 1px 13px);
}
.bassin-art::after{
    content:"";position:absolute;
    left:50%;top:40%;transform:translate(-50%,-50%);
    width:52%;aspect-ratio:1/1.2;
    border:1px solid rgba(255,255,255,.76);
    border-radius:var(--arch);
}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:28px}
.pairs div{padding:16px 0;border-top:1px solid var(--edge)}
.pairs b{display:block;font-family:"Libre Baskerville",serif;font-weight:400;font-size:18px}
.pairs span{display:block;font-size:14px;color:var(--navy-soft);margin-top:3px}

/* ---------- good to know ---------- */
.notes-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.note-card{
    padding:30px 26px;
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:var(--arch);
}
.note-card h3{font-size:20px;margin-bottom:10px}
.note-card p{font-size:15px;color:var(--navy-soft)}

/* ---------- responsible strip ---------- */
.vow{
    display:grid;grid-template-columns:auto minmax(0,1fr) auto;
    gap:30px;align-items:center;
    padding:34px 38px;
    background:var(--cream);
    border:1px solid var(--sage);
    border-radius:26px 26px 20px 20px/18px 18px 20px 20px;
}
.vow .token{width:68px;height:76px;font-size:21px}
.vow h2{font-size:25px;margin-bottom:8px}
.vow p{font-size:15.5px;color:var(--navy-soft)}

/* ---------- questions ---------- */
.queries{max-width:840px;margin-inline:auto;display:grid;gap:12px}
.queries details{
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:18px;
    overflow:hidden;
}
.queries summary{
    list-style:none;cursor:pointer;
    display:flex;gap:16px;align-items:center;
    padding:20px 24px;
    font-family:"Libre Baskerville",serif;
    font-size:17.5px;
}
.queries summary::-webkit-details-marker{display:none}
.queries summary::before{
    content:"";flex:none;
    width:17px;height:12px;
    border:1px solid var(--sage);border-bottom:0;
    border-radius:50% 50% 0 0/100% 100% 0 0;
    transition:transform .25s;
}
.queries details[open] summary::before{transform:rotate(180deg)}
.queries details p{padding:0 24px 22px 57px;color:var(--navy-soft);font-size:15.5px}

/* ---------- reach ---------- */
.reach-card{
    padding:30px;
    background:rgba(244,236,231,.08);
    border:1px solid rgba(185,205,179,.42);
    border-radius:var(--arch);
}
.reach-card div{padding:15px 0;border-top:1px solid rgba(185,205,179,.26)}
.reach-card div:first-child{border-top:0;padding-top:0}
.reach-card dt{font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#b9cdb3}
.reach-card dd{font-size:16.5px;margin-top:5px}
.reach-card a{text-decoration:none;border-bottom:1px solid rgba(185,205,179,.55)}

/* ---------- footer ---------- */
.base{background:var(--blush-deep);border-top:1px solid var(--edge);padding:60px 0 24px;font-size:15px;color:var(--navy-soft)}
.base-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px}
.base h4{font-family:"Mulish",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.base ul{list-style:none;display:grid;gap:9px}
.base a{text-decoration:none}
.base a:hover{color:var(--sage-ink)}
.base-about{margin-top:16px;max-width:400px}
.base-end{
    margin-top:44px;padding-top:22px;
    border-top:1px solid var(--edge);
    display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;
    font-size:13px;
}
.base-end .token{width:34px;height:38px;font-size:11px}
.base-note{display:flex;align-items:center;gap:13px;max-width:660px}

/* ---------- legal pages ---------- */
.legal-head{padding:58px 0 26px;text-align:center}
.legal-head h1{font-size:clamp(29px,4.4vw,46px);margin-top:14px}
.legal-head p{color:var(--navy-soft);max-width:620px;margin:14px auto 0}
.legal-body{padding:0 0 92px}
.doc{
    background:var(--cream);
    border:1px solid var(--edge);
    border-radius:26px 26px 20px 20px/16px 16px 20px 20px;
    padding:clamp(24px,5vw,54px);
}
.doc h2{font-size:23px;margin:36px 0 12px}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{color:var(--navy-soft)}
.doc p+p{margin-top:12px}
.doc ul,.doc ol{padding-left:22px;display:grid;gap:8px;margin-top:10px}
.doc a{color:var(--sage-ink);font-weight:600}
.doc b{color:var(--navy)}
.helpline{list-style:none;padding-left:0!important;gap:12px!important}
.helpline li{
    padding:16px 20px;
    background:var(--sage-pale);
    border:1px solid var(--edge);
    border-radius:16px 16px 12px 12px/10px 10px 12px 12px;
}

/* ---------- age gate pages ---------- */
.doorway{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:34px 20px 180px;
    background:
        radial-gradient(760px 420px at 50% -8%,rgba(111,138,106,.2),transparent 72%),
        linear-gradient(180deg,#fdf0ee 0%,#f6e4e0 100%);
}
.doorcard{
    width:min(580px,100%);
    margin-top:auto;
    background:var(--cream);
    border:1px solid var(--sage);
    border-radius:140px 140px 22px 22px/70px 70px 22px 22px;
    padding:clamp(34px,5vw,54px) clamp(24px,5vw,50px) clamp(30px,5vw,46px);
    text-align:center;
}
.doorcard .wordmark{justify-content:center;margin-bottom:22px}
.doorcard .token{width:76px;height:84px;font-size:23px;margin:0 auto 20px;border-width:1.5px}
.doorcard h1{font-size:clamp(23px,3.3vw,32px)}
.doorcard-lead{color:var(--navy-soft);margin-top:15px;font-size:16px}
.doorcard-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.doorcard-acts .pill{min-width:208px;text-align:center}
.doorcard-list{
    list-style:none;
    margin-top:28px;padding-top:22px;
    border-top:1px solid var(--edge);
    display:grid;gap:10px;
    font-size:14px;color:var(--navy-soft);
    text-align:left;
}
.doorcard-list li{display:flex;gap:12px}
.doorcard-list li::before{content:"";flex:none;margin-top:8px;width:13px;height:9px;border:1px solid var(--sage);border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0}
.doorcard-fine{margin-top:22px;font-size:12.5px;color:var(--navy-soft)}
.doorcard-fine a{color:var(--sage-ink);font-weight:600}
.doorcard-deny{
    display:none;
    margin-top:24px;padding:20px 22px;
    background:var(--blush);
    border:1px solid var(--sage);
    border-radius:18px 18px 14px 14px/12px 12px 14px 14px;
    text-align:left;font-size:15px;color:var(--navy-soft);
}
.doorcard-deny.is-open{display:block}
.doorcard-deny b{display:block;font-family:"Libre Baskerville",serif;font-weight:400;font-size:18px;color:var(--navy);margin-bottom:7px}
.doorcard-deny a{color:var(--sage-ink);font-weight:600}

/* ---------- consent tray ---------- */
.consent-tray{
    position:fixed;left:20px;right:20px;bottom:20px;
    z-index:140;
    max-width:520px;margin-left:auto;
    background:var(--cream);
    border:1px solid var(--sage);
    border-radius:24px 24px 18px 18px/16px 16px 18px 18px;
    padding:24px 26px;
    display:none;
}
.consent-tray.is-open{display:block}
/* on the gate pages the tray sits in the flow, under the card, so it can
   never cover the two age buttons at any viewport size */
.doorway .consent-tray{
    position:static;
    width:min(580px,100%);
    max-width:none;
    margin:26px 0 auto;
}
.consent-tray h2{font-size:19px;margin-bottom:6px}
.consent-tray p{font-size:14px;color:var(--navy-soft)}
.consent-tray a{color:var(--sage-ink);font-weight:600}
.consent-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.consent-acts .pill{padding:11px 20px;font-size:11.5px}

/* ---------- responsive ---------- */
@media(max-width:1040px){
    .overture-grid{grid-template-columns:1fr;gap:40px}
    .arcade{grid-template-columns:repeat(4,1fr)}
    .notes-3{grid-template-columns:1fr}
    .split,.split--flip{grid-template-columns:1fr;gap:34px}
    .split-aside,.split--flip .split-aside{position:static;top:auto;order:0}
    .bassin-art{aspect-ratio:16/9}
}
@media(max-width:900px){
    .nav-toggle{display:block}
    .nav{
        position:absolute;top:100%;left:0;right:0;
        flex-direction:column;align-items:stretch;gap:0;
        background:var(--blush);
        border-bottom:1px solid var(--edge);
        padding:4px 22px 20px;
        display:none;
    }
    .nav.is-open{display:flex}
    .nav a{padding:13px 0;border-bottom:1px solid var(--edge)}
    .nav a::after{left:0;transform:none;bottom:8px;width:22px}
    .nav .pill{margin-top:14px;text-align:center}
    .key-row,.key-row:nth-child(even){flex-direction:column;align-items:stretch;gap:24px}
    .key-art{flex:none;width:100%;aspect-ratio:16/9}
    .venues{grid-template-columns:1fr}
    .vow{grid-template-columns:1fr;gap:20px;text-align:left}
    .base-cols{grid-template-columns:1fr 1fr}
    .base-cols>:first-child{grid-column:1/-1}
}
@media(max-width:620px){
    body{font-size:16px}
    .strip{padding:62px 0}
    .overture{padding:44px 0 56px}
    .arcade{grid-template-columns:1fr 1fr}
    .arcade-bay:nth-child(3),.arcade-bay:nth-child(4){display:none}
    .glance,.tables,.pairs{grid-template-columns:1fr}
    .week-row{grid-template-columns:1fr;gap:3px}
    .week-row time{text-align:left}
    .key-row{padding:20px}
    .doorcard{border-radius:90px 90px 20px 20px/52px 52px 20px 20px}
    .doorcard-acts .pill{min-width:0;width:100%}
    .consent-tray{left:14px;right:14px;bottom:14px;padding:20px}
    .base-cols{grid-template-columns:1fr}
    .queries summary{font-size:16px;padding:17px 18px}
    .queries details p{padding:0 18px 20px 46px}
}
