/* __RAR_NEW_CSM_V1__ */
/* Canadian Sexy Males - Cinematic Editorial theme */
:root{
  --bg:#0B0A0A; --panel:#0f0d0c; --panel-2:#181110; --line:#1e1b19; --line-2:#2a2724;
  --ink:#F4F0EA; --muted:#8A8580; --body:#a39d97; --red:#D81E2C;
  --serif:'Bodoni Moda',serif; --sans:'Jost',sans-serif; --mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--red)}
button{font-family:inherit}
::selection{background:var(--red);color:#fff}
img{display:block}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 44px;background:linear-gradient(180deg,rgba(11,10,10,.88),rgba(11,10,10,0));backdrop-filter:blur(2px)}
.brand{display:flex;align-items:center;gap:11px}
.brand-diamond{width:11px;height:11px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 18px var(--red)}
.brand-name{font-family:var(--serif);font-weight:900;font-size:16px;letter-spacing:.11em}
.brand-name .red{color:var(--red)}
.main-nav{display:flex;align-items:center;gap:30px;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.main-nav a.active{color:var(--red)}
.header-actions{display:flex;align-items:center;gap:20px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.lang-btn{background:none;border:1px solid #3a3633;color:var(--ink);font-size:12.5px;letter-spacing:.12em;padding:7px 12px;cursor:pointer;border-radius:2px}
.cart-btn{background:none;border:none;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.cart-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600}

/* primitives */
.kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;color:var(--red);text-transform:uppercase}
.btn{display:inline-block;background:var(--red);color:#fff;border:none;padding:16px 34px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:.25s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn-outline{background:none;border:1px solid #4a4643;color:var(--ink)}
.btn-outline:hover{border-color:var(--ink);background:none;color:var(--ink)}
.btn-small{padding:11px 18px;font-size:12.5px;background:none;border:1px solid var(--red);color:var(--red)}
.btn-small:hover{background:var(--red);color:#fff}
.link-red{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--red);padding-bottom:4px}
.center{text-align:center}
.mt{margin-top:44px}
.num{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.2em}
.placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#1a1615,#0f0d0c)}
.placeholder::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,rgba(255,255,255,.03) 0 2px,transparent 2px 20px)}
.placeholder span{position:absolute;left:18px;bottom:16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:#6f6a65}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
[data-reveal].in{opacity:1;transform:none}

/* hero */
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 26%;animation:drift 18s ease-in-out infinite}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,10,.4) 0%,rgba(11,10,10,.15) 30%,rgba(11,10,10,.88) 100%)}
.hero-play{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;border:1px solid rgba(244,240,234,.4);background:rgba(11,10,10,.25);backdrop-filter:blur(3px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;z-index:2}
.hero-play:hover{border-color:var(--red);background:rgba(216,30,44,.15)}
.hero-play .tri{border-left:16px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.hero-play-label{position:absolute;top:calc(36% + 64px);left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;z-index:2}
.hero-copy{position:relative;z-index:3;padding:0 44px 74px;width:100%}
.hero-copy .kicker{margin-bottom:18px}
.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,8vw,124px);line-height:.94;max-width:16ch;letter-spacing:-.01em}
.hero-copy h1 em{font-style:italic;color:var(--red)}
/* __RAR_HERO_COPY_CSS_V1__ hero View 1: name leads, slogan beneath */
/* __RAR_HERO_SIZES_V2__ bigger kicker + slogan */
.hero-copy .kicker{font-size:clamp(13px,1.15vw,15px);letter-spacing:.24em}
.hero-copy .hero-slogan{font-size:clamp(27px,3.4vw,44px);line-height:1.02}
.hero-copy .hero-name{font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.2vw,84px);line-height:.92;letter-spacing:-.01em;max-width:none}
.hero-copy .hero-slogan{font-family:var(--serif);font-weight:400;font-size:clamp(18px,2vw,26px);line-height:1.05;margin-top:14px;color:var(--ink);letter-spacing:-.005em}
.hero-copy .hero-slogan em{font-style:italic;color:var(--red)}
.hero-ctas{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
@keyframes drift{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-block;animation:marq 26s linear infinite;font-family:var(--serif);font-size:24px;font-style:italic;color:var(--muted)}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* sections */
.section{padding:60px 44px;max-width:1360px;margin:0 auto}
.page{padding-top:130px}
.page-head{padding:20px 44px 0;max-width:1360px;margin:0 auto}
.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0 30px;flex-wrap:wrap;gap:16px}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,86px);line-height:1}
.page-head p{color:var(--body);font-size:15px;max-width:42ch}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:56px;flex-wrap:wrap;gap:16px}
.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,64px);line-height:1}
.section-head p{font-family:var(--mono);font-size:12.5px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;max-width:34ch;text-align:right}
.center-head{display:block;text-align:center;border-bottom:none}
.center-head h2{margin-top:14px}

.manifesto{padding:120px 44px;max-width:1120px;margin:0 auto;text-align:center}
.manifesto p{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,46px);line-height:1.3}
.manifesto .sig{margin-top:34px;font-family:var(--mono);font-size:12.5px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}

/* grids */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.lined{gap:1px;background:var(--line);border:1px solid var(--line)}
.cat-card{background:var(--bg);padding:44px 34px;display:flex;flex-direction:column;gap:16px;min-height:320px;transition:.3s}
.cat-card:hover{background:#111010;color:var(--ink)}
.cat-card h3{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.1}
.cat-card p{color:var(--body);font-size:15px;line-height:1.6;flex-grow:1}
.cat-card .cat-cta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:18px;font-family:var(--serif);font-size:20px}
.cat-card .cat-cta em{font-style:normal;font-family:var(--sans);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;grid-auto-rows:200px}
.g-item{position:relative;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#1a1615,#0f0d0c);border:none;text-align:left;color:var(--ink)}
.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,10,10,.9))}
.span8{grid-column:span 8}.span4{grid-column:span 4}.rows2{grid-row:span 2}
.g-label{position:absolute;left:18px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:4px}
.g-label small{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.g-label span{font-family:var(--serif);font-size:19px}
.g-play{position:absolute;right:18px;bottom:16px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid rgba(244,240,234,.6)}
.g-play::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);border-left:11px solid var(--ink);border-top:7px solid transparent;border-bottom:7px solid transparent}

/* venues teaser + rows */
.venues-teaser{padding:110px 44px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:100%}
.venues-teaser h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.6vw,58px);margin:16px 0 24px;line-height:1.05}
.venues-teaser p{color:var(--body);font-size:16px;line-height:1.7;max-width:44ch;margin-bottom:30px}
.venue-list{list-style:none}
.venue-list li{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);transition:.25s}
.venue-list li:hover{padding-left:10px}
.venue-list span{font-family:var(--serif);font-size:23px}
.venue-list small{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.1em}
.venue-rows .venue-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:60px 0;border-top:1px solid var(--line);align-items:center}
.venue-row h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.6vw,46px);margin-top:14px;line-height:1.05}
.venue-row p{color:var(--body);font-size:15.5px;line-height:1.7;margin-top:18px;max-width:48ch}
.venue-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--panel)}
.venue-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.event-card{background:var(--panel);padding:36px 30px}
.event-card small{font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;color:var(--red)}
.event-card h3{font-family:var(--serif);font-size:26px;font-weight:500;margin-top:14px}
.event-card p{color:var(--muted);font-size:14px;line-height:1.6;margin-top:10px}

/* shop teaser + products */
.shop-teaser{padding:120px 44px;text-align:center}
.shop-teaser h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,84px);margin:16px auto 40px;line-height:1;max-width:16ch}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.product{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);transition:.3s}
.product:hover{border-color:#3a3633}
.product-media{position:relative;aspect-ratio:4/5;overflow:hidden}
.badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--red);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.14em;padding:5px 9px;text-transform:uppercase}
.product h3{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.15;padding:22px 22px 0}
.product p{color:var(--muted);font-size:13px;line-height:1.55;padding:9px 22px 0;flex-grow:1}
.product-row{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 22px}
.product-row strong{font-family:var(--serif);font-size:24px;font-weight:500}

/* services */
.svc-grid{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:50px}
.svc-intro h2{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.08;margin-top:14px}
.svc-intro p{color:var(--body);font-size:15px;line-height:1.65;margin-top:14px}
.svc-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.svc-item{background:var(--bg);padding:28px 24px;display:flex;flex-direction:column;min-height:225px;transition:.3s}
.svc-item:hover{background:#111010}
.svc-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.svc-top h3{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.15}
.svc-top small{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.12em;white-space:nowrap}
.svc-item p{color:var(--muted);font-size:13.5px;line-height:1.6;margin-top:10px;flex-grow:1}
.svc-bottom{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between}
.svc-bottom strong{font-family:var(--serif);font-size:19px;font-weight:500}
.svc-bottom a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:2px}
.quote-band{border:1px solid var(--line);background:linear-gradient(135deg,var(--panel-2),var(--panel));padding:64px 40px}
.quote-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,46px);margin-bottom:28px}

/* quote form */
.quote-panel{background:linear-gradient(135deg,var(--panel-2),var(--panel));border:1px solid var(--line);padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.quote-panel h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,52px);margin-top:16px;line-height:1.05}
.quote-panel p{color:var(--body);font-size:16px;line-height:1.7;margin-top:22px;max-width:40ch}
.quote-panel form{display:flex;flex-direction:column;gap:16px;justify-content:center}
.quote-panel input,.quote-panel textarea{background:var(--bg);border:1px solid var(--line-2);color:var(--ink);font-family:inherit;padding:15px 16px;font-size:14px;resize:none}

/* about */
.about-grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:70px;align-items:center}
.about-logo{background:#fff;border-radius:10px;padding:40px;display:flex;align-items:center;justify-content:center}
.about-logo img{width:100%;max-width:300px;height:auto}
.about-copy .lead{font-family:var(--serif);font-size:clamp(20px,2.2vw,27px);line-height:1.5}
.about-copy p+p{color:var(--body);font-size:16px;line-height:1.75;margin-top:26px}
.values-title{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,44px);margin-bottom:36px}
.value-card{background:var(--bg);padding:40px 32px}
.value-card h3{font-family:var(--serif);font-size:25px;font-weight:500;margin-top:16px}
.value-card p{color:var(--muted);font-size:14.5px;line-height:1.65;margin-top:12px}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:70px 44px 40px}
.footer-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}
.footer-grid>div{display:flex;flex-direction:column;gap:11px;font-size:14px;color:var(--body);align-items:flex-start}
.footer-logo{width:120px;height:auto;background:none;padding:0;border-radius:0;margin-bottom:16px}
.footer-blurb{line-height:1.7;max-width:34ch}
.footer-title{font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;color:#6f6a65;text-transform:uppercase;margin-bottom:6px}
.newsletter{display:flex;border:1px solid var(--line-2);width:100%}
.newsletter input{background:none;border:none;color:var(--ink);font-family:inherit;padding:12px;font-size:13px;flex-grow:1;min-width:0}
.newsletter button{background:var(--red);border:none;color:#fff;padding:0 16px;cursor:pointer;font-family:var(--serif);font-size:16px}
.footer-bottom{max-width:1360px;margin:50px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#6f6a65;text-transform:uppercase;flex-wrap:wrap;gap:10px}

/* cart drawer / modals (injected by main.js) */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80;backdrop-filter:blur(2px)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--panel);border-left:1px solid var(--line);z-index:81;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease}
.drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:26px 28px;border-bottom:1px solid var(--line)}
.drawer-head span{font-family:var(--serif);font-size:24px}
.drawer-close,.modal-close{background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}
.drawer-body{flex-grow:1;overflow-y:auto;padding:12px 28px}
.cart-empty{text-align:center;padding:80px 0;color:var(--muted)}
.cart-empty p:first-child{font-family:var(--serif);font-size:22px;color:var(--ink)}
.cart-line{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.cart-thumb{width:64px;height:80px;flex-shrink:0;background:linear-gradient(135deg,#1a1615,#0f0d0c);border:1px solid var(--line)}
.cart-line-main{flex-grow:1}
.cart-line-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--serif);font-size:16px}
.cart-line-top button{background:none;border:none;color:#6f6a65;cursor:pointer;font-size:18px;line-height:1}
.cart-line-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.qty{display:flex;align-items:center;border:1px solid var(--line-2)}
.qty button{background:none;border:none;color:var(--ink);width:30px;height:30px;cursor:pointer;font-size:16px}
.qty span{width:34px;text-align:center;font-size:14px}
.line-total{font-family:var(--serif);font-size:17px}
.drawer-foot{padding:24px 28px;border-top:1px solid var(--line)}
.drawer-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}
.drawer-total small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.drawer-total strong{font-family:var(--serif);font-size:28px;font-weight:500}
.drawer-foot .btn{width:100%}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}
.login-box{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);padding:44px;position:relative}
.login-box h3{font-family:var(--serif);font-size:30px;text-align:center;margin-bottom:30px}
.login-box form{display:flex;flex-direction:column;gap:14px}
.login-box input{background:var(--bg);border:1px solid var(--line-2);color:var(--ink);font-family:inherit;padding:15px 16px;font-size:14px}
.modal-close{position:absolute;top:14px;right:18px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:95;display:flex;align-items:center;justify-content:center;padding:44px}
.lightbox-frame{position:relative;width:min(1100px,100%);aspect-ratio:16/9;background:linear-gradient(135deg,#1a1615,#0f0d0c);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center}
.lightbox-frame .play{width:84px;height:84px;border-radius:50%;border:1px solid rgba(244,240,234,.4);display:inline-flex;align-items:center;justify-content:center;animation:pulse 2.4s ease-in-out infinite}
.lightbox-frame .play::before{content:"";border-left:20px solid var(--ink);border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.lightbox-label{margin-top:20px;font-family:var(--mono);font-size:12.5px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;text-align:center}
.lightbox-close{position:absolute;top:30px;right:34px;background:none;border:none;color:var(--ink);font-size:36px;cursor:pointer;line-height:1}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}

/* responsive */
@media (max-width:1000px){
  .site-header{padding:16px 20px;flex-wrap:wrap}
  .main-nav{gap:16px;letter-spacing:.14em;order:3;width:100%;justify-content:center;padding-top:10px}
  .section,.page-head,.manifesto,.venues-teaser,.shop-teaser{padding-left:20px;padding-right:20px}
  .venues-teaser,.quote-panel,.svc-grid,.about-grid,.venue-rows .venue-row{grid-template-columns:1fr;gap:36px}
  .quote-panel{padding:36px 24px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .span8,.span4{grid-column:span 2}
  .rows2{grid-row:span 1}
  .footer-grid{grid-template-columns:1fr 1fr}
}


/* === header logo (added) ===
   Logo sized by --logo-h; header text sized by --nav-fs. Tabs + FR/Cart centered
   next to the logo. Transparent bar with a subtle backdrop blur. --page-top clears
   inner-page content below the header (index hero is full-bleed, unaffected). */
:root{ --logo-h:88px; --nav-fs:18.75px; --page-top:200px; } /* __RAR_LOGO_SHRINK_V1__ __RAR_LOGO_HALF_V3__ __RAR_LOGO_V4_25__ header logo 25% smaller again */
.site-header{align-items:center;padding-top:12px;padding-bottom:12px;background:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}
.site-header .brand,.site-header .main-nav,.site-header .header-actions{pointer-events:auto}
.brand-logo{height:var(--logo-h);width:auto;display:block}
.main-nav{font-size:var(--nav-fs);gap:38px}
.header-actions{font-size:var(--nav-fs);gap:26px}
.lang-btn{font-size:calc(var(--nav-fs) - 4px);padding:10px 18px}
.cart-count{font-size:calc(var(--nav-fs) - 6px);min-width:34px;height:34px;border-radius:17px}
.page{padding-top:var(--page-top)}
@media (max-width:1000px){
  :root{ --logo-h:60px; --nav-fs:15px; --page-top:200px; }
  .site-header{padding-left:20px;padding-right:20px}
}

/* hero background video: fades in over the still poster once it can play */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 26%;opacity:0;transition:opacity 1.1s ease;animation:drift 18s ease-in-out infinite}
.hero-video.is-playing{opacity:1}

/* __RAR_HERO_BIGGER_V5__ enlarge hero name + kicker + slogan */
.hero-copy .kicker{font-size:clamp(14px,1.6vw,19px);letter-spacing:.24em}
.hero-copy .hero-name{font-size:clamp(60px,9vw,132px);line-height:.9}
.hero-copy .hero-slogan{font-size:clamp(30px,4.6vw,60px);line-height:1.02}

/* __RAR_HERO_NEON_V6__ option C: red neon glow + dark base for contrast on dark video */
.hero-copy .kicker{text-shadow:0 2px 8px rgba(0,0,0,.8), 0 0 10px rgba(232,42,54,.6), 0 0 26px rgba(216,30,44,.4)}
.hero-copy .hero-slogan em{text-shadow:0 2px 8px rgba(0,0,0,.8), 0 0 10px rgba(232,42,54,.6), 0 0 26px rgba(216,30,44,.4)}

/* __RAR_HERO_FILM_V7__ low-opacity vignette film: adds depth + lifts text, keeps video visible */
.hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(130% 100% at 50% 30%, rgba(11,10,10,0) 44%, rgba(9,8,8,.34) 100%), linear-gradient(rgba(9,8,8,.08), rgba(9,8,8,.08))}

/* __RAR_HERO_CONTRAST_V8__ dark pool behind copy + tight dark outline on red text */
.hero-copy::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-5%;right:-2%;bottom:-24px;height:170%;background:radial-gradient(72% 100% at 24% 90%, rgba(5,4,4,.82), rgba(5,4,4,.45) 42%, transparent 70%)}
.hero-copy .kicker{text-shadow:0 0 2px rgba(0,0,0,.98),0 0 5px rgba(0,0,0,.92),0 2px 10px rgba(0,0,0,.9),0 0 12px rgba(232,42,54,.6),0 0 30px rgba(216,30,44,.4)}
.hero-copy .hero-slogan em{text-shadow:0 0 2px rgba(0,0,0,.98),0 0 5px rgba(0,0,0,.92),0 2px 10px rgba(0,0,0,.9),0 0 12px rgba(232,42,54,.6),0 0 30px rgba(216,30,44,.4)}

/* __RAR_HEADER_SHADOW_V10__ strong drop shadows: header nav + actions + logo legible over video */
.site-header .main-nav a{text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.6)}
.site-header .header-actions{text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.6)}
.site-header .brand-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.85)) drop-shadow(0 4px 12px rgba(0,0,0,.6))}

/* __RAR_FORFAITS_CSS_V16__ services forfait cards + description popups */
.svc-forfaits{padding-top:24px}
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fcard{position:relative;background:var(--bg);border:none;text-align:left;cursor:pointer;padding:40px 30px 34px;display:flex;flex-direction:column;gap:12px;min-height:260px;transition:background .3s;font-family:inherit;color:var(--ink)}
.fcard:hover{background:#111010}
.fcard .num{font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;color:var(--red)}
.fcard h2{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.1}
.fcard p{color:var(--muted);font-size:14px;line-height:1.6;flex-grow:1}
.fcard-cta{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.fmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(6,5,5,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.fmodal[hidden]{display:none}
.fmodal-panel{position:relative;background:var(--panel);border:1px solid var(--line-2);max-width:640px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.fmodal-close{position:sticky;top:0;float:right;margin:10px 10px -10px 0;width:40px;height:40px;border:none;background:none;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;z-index:2}
.fmodal-close:hover{color:var(--red)}
.fmodal-body{padding:14px 40px 40px}
.fmodal-body .kicker{margin-bottom:12px}
.fmodal-body h2{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.05;margin-bottom:16px}
.fmodal-body h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:22px 0 10px}
.fmodal-body p{color:var(--body);font-size:15px;line-height:1.7;margin-bottom:14px}
.fmodal-lead{color:var(--ink)!important;font-size:17px!important;font-style:italic}
.fmodal-sig{font-family:var(--serif);font-style:italic;color:var(--red);font-size:19px;margin:20px 0}
.fmodal-dur{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.fmodal-list{list-style:none;margin:0 0 14px;padding:0}
.fmodal-list li{position:relative;padding-left:20px;color:var(--body);font-size:15px;line-height:1.7}
.fmodal-list li::before{content:"✦";position:absolute;left:0;color:var(--red);font-size:12.5px;top:4px}
.fmodal-quote{margin-top:18px}
body.fmodal-open{overflow:hidden}
@media(max-width:720px){.fcards{grid-template-columns:1fr}.fmodal-body{padding:14px 24px 32px}.fmodal-body h2{font-size:28px}}

/* __RAR_QUOTE_CSS_V17__ site-wide quote popup form */
#quote-modal .fmodal-panel{max-width:680px}
.qf-row{margin-bottom:16px}
.qf-label{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
#qform input[type=text],#qform input[type=email],#qform input[type=tel],#qform input[type=date],#qform input[type=time],#qform select,#qform textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);color:var(--ink);padding:12px 13px;font-family:var(--sans);font-size:14px;border-radius:2px}
#qform input:focus,#qform select:focus,#qform textarea:focus{outline:none;border-color:var(--red)}
.qf-sub{font-family:var(--serif);font-size:18px;color:var(--ink);margin:26px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.qf-opts{display:flex;flex-wrap:wrap;gap:10px 18px}
.qf-opt,.qf-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--body);cursor:pointer;line-height:1.4}
.qf-opt input,.qf-check input{width:auto!important;margin-top:2px;accent-color:var(--red)}
.qf-check{margin-bottom:12px}
.qf-foot{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.qf-submit{margin-top:10px;width:100%;text-align:center;cursor:pointer}
.qf-status{margin-top:14px;font-size:14px}
.qf-status.ok{color:#4ca97a}.qf-status.err{color:var(--red)}
.qf-cond[hidden]{display:none}

/* __RAR_TYPO_V18__ larger, more legible quote form + services typography */
.qf-label{font-size:13px;letter-spacing:.1em}
#qform input[type=text],#qform input[type=email],#qform input[type=tel],#qform input[type=date],#qform input[type=time],#qform select,#qform textarea{font-size:16px;padding:14px 15px}
.qf-opt,.qf-check{font-size:15.5px}
.qf-opts{gap:12px 22px}
.qf-sub{font-size:22px}
#qform .qf-row:has(> #qf-service) .qf-label{font-family:var(--serif);font-size:clamp(20px,2.4vw,24px);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:12px}
#qform #qf-service{font-size:17px;padding:15px 16px}
.fcard h2{font-size:30px}
.fcard p{font-size:16px}
.fcard-cta{font-size:13px}
.fcard .num{font-size:12px}
.fmodal-body p{font-size:16px}
.fmodal-body h3{font-size:22px}
.fmodal-lead{font-size:19px!important}
.fmodal-list li{font-size:16px}

/* __RAR_SVC_DEPTH_V20__ Services & Forfaits: lift the cards off pure black.
   Warm charcoal panels + a low red bloom behind the grid. Same mood, more depth. */
.svc-forfaits{position:relative}
.svc-forfaits::before{content:"";position:absolute;left:50%;top:-8%;transform:translateX(-50%);width:130%;height:135%;pointer-events:none;z-index:0;background:radial-gradient(58% 52% at 50% 42%, rgba(216,30,44,.075), rgba(216,30,44,.028) 46%, transparent 72%)}
.svc-forfaits > *{position:relative;z-index:1}

.fcards{gap:1px;background:#2a2421;border-top:1px solid #2a2421;border-bottom:1px solid #2a2421}
.fcard{background:linear-gradient(165deg,#1a1514 0%,#131010 62%,#100e0d 100%);transition:background .35s ease,box-shadow .35s ease}
.fcard::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,30,44,.6),transparent);opacity:0;transition:opacity .35s ease}
.fcard::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(92% 72% at 14% 0%, rgba(255,236,226,.05), transparent 62%)}
.fcard:hover{background:linear-gradient(165deg,#241c1a 0%,#181413 62%,#141110 100%);box-shadow:inset 0 0 0 1px rgba(216,30,44,.15),0 18px 44px rgba(0,0,0,.55)}
.fcard:hover::before{opacity:1}
.fcard p{color:#a8a29b}

/* quote band: warm ember panel instead of near-black */
.quote-band{border-color:#2a2421;background:linear-gradient(135deg,#221a18 0%,#151211 55%,#0f0d0c 100%)}

/* forfait modal: off pure black so it reads as a lifted surface */
.fmodal-panel{background:linear-gradient(170deg,#191413,#100e0d 72%);border-color:#332b27}

/* __RAR_SVC_RED_V21__ Services & Forfaits: red in the surface, brighter copy.
   Supersedes the V20 card/quote colours above. */
.svc-forfaits::before{background:radial-gradient(60% 55% at 50% 40%, rgba(216,30,44,.20), rgba(216,30,44,.07) 48%, transparent 76%)}
.fcards{background:#4a332f;border-color:#4a332f}
.fcard{background:linear-gradient(165deg,#3a2321 0%,#241716 58%,#1b1413 100%)}
.fcard::before{opacity:.55;background:linear-gradient(90deg,transparent,rgba(232,42,54,.9),transparent)}
.fcard::after{background:radial-gradient(92% 72% at 14% 0%, rgba(255,238,232,.09), transparent 62%)}
.fcard p{color:#c6c0b9}
.fcard:hover{background:linear-gradient(165deg,#4a2b28 0%,#2d1c1a 58%,#221917 100%)}
.quote-band{border-color:#4a332f;background:linear-gradient(135deg,#3d2522 0%,#241816 55%,#1a1413 100%)}

/* __RAR_LAND_RED_V22__ Landing page: same warm-red lift as Services & Forfaits. */
#services-teaser,.shop-teaser{position:relative}
#services-teaser::before{content:"";position:absolute;left:50%;top:6%;transform:translateX(-50%);width:120%;height:110%;pointer-events:none;z-index:0;background:radial-gradient(58% 55% at 50% 50%, rgba(216,30,44,.18), rgba(216,30,44,.06) 48%, transparent 76%)}
#services-teaser > *{position:relative;z-index:1}

.lined{background:#4a332f;border-color:#4a332f}
.cat-card{position:relative;background:linear-gradient(165deg,#3a2321 0%,#241716 58%,#1b1413 100%);transition:background .35s ease,box-shadow .35s ease}
.cat-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,42,54,.9),transparent);opacity:.55;transition:opacity .35s ease}
.cat-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(92% 72% at 14% 0%, rgba(255,238,232,.09), transparent 62%)}
.cat-card:hover{background:linear-gradient(165deg,#4a2b28 0%,#2d1c1a 58%,#221917 100%);box-shadow:inset 0 0 0 1px rgba(216,30,44,.15),0 18px 44px rgba(0,0,0,.55)}
.cat-card:hover::before{opacity:1}
.cat-card p{color:#c6c0b9}
.cat-card .cat-cta{border-top-color:#4a332f}

/* gallery tiles: warmer base than near-black */
.g-item{background:linear-gradient(135deg,#2e1f1d,#17110f)}
.placeholder{background:linear-gradient(135deg,#2e1f1d,#17110f)}

/* venues teaser: ember panel instead of #0f0d0c */
.venues-teaser{background:linear-gradient(135deg,#3d2522 0%,#241816 55%,#1a1413 100%);border-top-color:#4a332f;border-bottom-color:#4a332f}
.venues-teaser p{color:#c6c0b9}
.venue-list li{border-top-color:#4a332f}

/* quote panel: match the services quote band */
.quote-panel{border-color:#4a332f;background:linear-gradient(135deg,#3d2522 0%,#241816 55%,#1a1413 100%)}
.quote-panel p{color:#c6c0b9}
.quote-panel input,.quote-panel textarea{background:#1b1413;border-color:#4a332f}
.newsletter{border-color:#4a332f}

/* __RAR_RED_EDGES_V23__ real brand red on the outer container edges */
.fcards{background:rgba(216,30,44,.55);border-color:var(--red)}
.lined{background:rgba(216,30,44,.55);border-color:var(--red)}
.venues-teaser{border-top:1px solid var(--red);border-bottom:1px solid var(--red)}
.quote-panel{border:1px solid var(--red)}
.quote-band{border:1px solid var(--red)}
.newsletter{border:1px solid var(--red)}
.quote-panel input,.quote-panel textarea{border-color:rgba(216,30,44,.45)}
.cat-card .cat-cta{border-top-color:rgba(216,30,44,.5)}
.venue-list li{border-top-color:rgba(216,30,44,.4)}
.fmodal-panel{border-color:var(--red)}

/* __RAR_RED_BLOCKS_V24__ flat red blocks, gradients only where they earn it.
   Red hierarchy: #D81E2C conversion > #A8141F cards > #7A0F17 text-heavy band. */

/* drop the decorative gradients from V20-V22 */
.svc-forfaits::before,#services-teaser::before{background:none;display:none}
.fcard::after,.cat-card::after{display:none}
.fcard::before,.cat-card::before{display:none}

/* service + category cards: flat deep crimson */
.fcards,.lined{background:rgba(0,0,0,.42);border:none}
.fcard,.cat-card{background:#A8141F;transition:background .25s ease}
.fcard:hover,.cat-card:hover{background:#D81E2C;box-shadow:none}
.fcard h2,.cat-card h3{color:#FFFFFF}
.fcard p,.cat-card p{color:#FBE9EA}
.fcard .num,.cat-card .num{color:#FFC9CD}
.fcard-cta,.cat-card .cat-cta em{color:#FFFFFF}
.cat-card .cat-cta{border-top-color:rgba(255,255,255,.28)}

/* quote band + panel: the loudest block, full brand red */
.quote-band,.quote-panel{background:#D81E2C;border:none}
.quote-band h2,.quote-panel h2{color:#FFFFFF}
.quote-band p,.quote-panel p{color:#FFEDEE}
.quote-band .kicker,.quote-panel .kicker{color:#FFD9DC}
.quote-band .btn,.quote-panel button[type=submit]{background:#FFFFFF;color:#A8141F}
.quote-band .btn:hover,.quote-panel button[type=submit]:hover{background:#0B0A0A;color:#FFFFFF}
.quote-panel input,.quote-panel textarea{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.4);color:#fff}
.quote-panel input::placeholder,.quote-panel textarea::placeholder{color:rgba(255,255,255,.65)}

/* venues teaser: deepest red, carries the most text */
.venues-teaser{background:#7A0F17;border-top:none;border-bottom:none}
.venues-teaser p{color:#FBE9EA}
.venue-list li{border-top-color:rgba(255,255,255,.24)}
.venue-list small{color:#F0C9CC}

/* flat, no gradient */
.placeholder{background:#1B1413}
.g-item{background:#1B1413}
.fmodal-panel{background:#161110;border-color:var(--red)}

/* red-on-red text inside the red blocks */
.venues-teaser .kicker{color:#FFD3D6}
.venues-teaser .link-red{color:#FFFFFF;border-bottom-color:#FFFFFF}
.venues-teaser .link-red:hover{color:#FFD3D6}
.quote-band .link-red,.quote-panel .link-red{color:#fff;border-bottom-color:#fff}

/* __RAR_LIGHT_PAPER_V25__ Option A: ivory content bands.
   Supersedes the V20-V24 red/ember treatments for content sections.
   Header, hero, marquee and footer are deliberately untouched.
   Bands are marked with .csm-band (or an existing id/class) and full-bleed
   via a pseudo-element, so no layout markup changes. */

:root{ --paper:#F5F1EA; --paper-2:#FFFFFF; --paper-line:#E0D7C8;
       --paper-ink:#141110; --paper-body:#5c554d; --paper-mute:#6B6359; }

/* drop the V20-V24 decorative gradients and red card fills */
.svc-forfaits::before,#services-teaser::before{background:none;display:none}
.fcard::after,.cat-card::after{display:none}

/* ---- full-bleed paper bands ---- */
.csm-band,.svc-forfaits,#services-teaser,.shop-teaser{position:relative}
.csm-band::after,.svc-forfaits::after,#services-teaser::after,
.shop-teaser::after{
  content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;
  background:var(--paper);z-index:0;pointer-events:none;
}
.csm-band > *,.svc-forfaits > *,#services-teaser > *,
.shop-teaser > *{position:relative;z-index:1}
.csm-band,.svc-forfaits,#services-teaser{padding-top:76px;padding-bottom:76px}

/* generic type colours inside any band */
.csm-band h1,.csm-band h2,.csm-band h3,
.svc-forfaits h2,#services-teaser h2,.shop-teaser h2{color:var(--paper-ink)}
.csm-band p{color:var(--paper-body)}
.csm-band .section-head,#services-teaser .section-head{border-bottom-color:var(--paper-line)}
.csm-band .section-head p,#services-teaser .section-head p{color:var(--paper-mute)}
.csm-band .kicker,.shop-teaser .kicker,
#services-teaser .kicker,.svc-forfaits .kicker{color:var(--red)}
.csm-band .link-red,#services-teaser .link-red{
  color:var(--paper-ink);border-bottom-color:var(--red)}
.csm-band .link-red:hover,#services-teaser .link-red:hover{color:var(--red)}
.csm-band .num{color:var(--red)}

/* ---- forfait cards (services) ---- */
.fcards{background:transparent;border:none;gap:22px}
.fcard{background:var(--paper-2);color:var(--paper-ink);position:relative;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.fcard h2{color:var(--paper-ink);font-weight:900;letter-spacing:.005em}
.fcard p{color:var(--paper-body)}
.fcard .num,.fcard-cta{color:var(--red)}
.fcard::before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;opacity:1}
.fcard:hover{background:var(--paper-2);box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.fcard:hover::before{transform:scaleX(1)}

/* ---- home category cards ---- */
#services-teaser .lined{background:transparent;border:none;gap:22px}
.cat-card{background:var(--paper-2);color:var(--paper-ink);position:relative;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.cat-card h3{color:var(--paper-ink);font-weight:900;letter-spacing:.005em}
.cat-card p{color:var(--paper-body)}
.cat-card .num{color:var(--red)}
.cat-card .cat-cta{border-top-color:var(--paper-line);color:var(--paper-ink)}
.cat-card .cat-cta em{color:var(--red)}
.cat-card::before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;opacity:1}
.cat-card:hover{background:var(--paper-2);box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.cat-card:hover::before{transform:scaleX(1)}

/* ---- product cards (boutique) ---- */
.product{background:var(--paper-2);border:1px solid var(--paper-line);
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.product:hover{border-color:var(--red);box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.product h3{color:var(--paper-ink)}
.product p{color:var(--paper-body)}
.product-row strong{color:var(--paper-ink)}
.product .btn-small{background:none;border:1px solid var(--red);color:var(--red)}
.product .btn-small:hover{background:var(--red);color:#fff}
.badge{background:var(--red);color:#fff}

/* ---- venues: event cards, rows, home teaser ---- */
.event-card{background:var(--paper-2);box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);transition:box-shadow .3s ease,transform .3s ease}
.event-card:hover{box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.event-card small{color:var(--red)}
.event-card h3{color:var(--paper-ink)}
.event-card p{color:var(--paper-body)}
.csm-band .grid-3.lined{background:transparent;border:none;gap:22px}
.venue-rows .venue-row{border-top-color:var(--paper-line)}
.venue-row h2{color:var(--paper-ink)}
.venue-row p{color:var(--paper-body)}
.venue-media{background:#EBE4D8}
/* "Where the night comes alive" stays dark on purpose: a cinematic break
   between the paper bands. Overrides the V22/V24 ember and red versions. */
.venues-teaser{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.venues-teaser h2{color:var(--ink)}
.venues-teaser p{color:var(--body)}
.venues-teaser .kicker{color:var(--red)}
.venues-teaser .link-red{color:var(--ink);border-bottom-color:var(--red)}
.venues-teaser .link-red:hover{color:var(--red)}
.venues-teaser .lined{background:var(--line);border:1px solid var(--line)}
.venue-list li{border-top-color:var(--line)}
.venue-list span{color:var(--ink)}
.venue-list small{color:var(--muted)}

/* ---- about ---- */
.about-logo{background:var(--paper-2);border:1px solid var(--paper-line);box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16)}
.about-copy .lead{color:var(--paper-ink)}
.about-copy p+p{color:var(--paper-body)}
.values-title{color:var(--paper-ink)}
.value-card{background:var(--paper-2);box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);transition:box-shadow .3s ease,transform .3s ease}
.value-card:hover{box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.value-card h3{color:var(--paper-ink)}
.value-card p{color:var(--paper-body)}

/* ---- shop teaser (home) ---- */
.shop-teaser h2{color:var(--paper-ink)}

/* ---- photo placeholders on paper ---- */
.csm-band .placeholder,.product .placeholder,.venue-media .placeholder{background:#EBE4D8}
.csm-band .placeholder::before,.product .placeholder::before,.venue-media .placeholder::before{
  background:repeating-linear-gradient(125deg,rgba(20,17,16,.045) 0 2px,transparent 2px 20px)}
.csm-band .placeholder span,.product .placeholder span,.venue-media .placeholder span{color:var(--paper-mute)}

/* ---- red keeps conversion: quote blocks stay solid brand red ---- */
.quote-band,.quote-panel{background:var(--red);border:none}
.quote-band h2,.quote-panel h2{color:#fff}
.quote-band p,.quote-panel p{color:#FFEDEE}
.quote-band .kicker,.quote-panel .kicker{color:#FFD9DC}
.quote-band .btn,.quote-panel button[type=submit]{background:#fff;color:#A8141F}
.quote-band .btn:hover,.quote-panel button[type=submit]:hover{background:#0B0A0A;color:#fff}
.quote-panel input,.quote-panel textarea{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.4);color:#fff}
.quote-panel input::placeholder,.quote-panel textarea::placeholder{color:rgba(255,255,255,.65)}
.quote-band .link-red,.quote-panel .link-red{color:#fff;border-bottom-color:#fff}

/* ---- forfait modal on paper ---- */
.fmodal-panel{background:var(--paper-2);border:1px solid var(--paper-line);box-shadow:0 40px 90px rgba(0,0,0,.5)}
.fmodal-close{color:var(--paper-mute)}
.fmodal-close:hover{color:var(--red)}
.fmodal-body h2,.fmodal-body h3{color:var(--paper-ink)}
.fmodal-body h2{font-weight:900;letter-spacing:.005em}
.fmodal-body p{color:var(--paper-body)}
.fmodal-lead{color:var(--paper-ink)!important}
.fmodal-dur{color:var(--paper-mute)}
.fmodal-list li{color:var(--paper-body)}
.fmodal-body .kicker{color:var(--red)}

/* landing "Services & Forfaits" heading: sans for legibility */
#services-teaser .section-head h2{font-weight:700;color:var(--paper-ink)}

/* __RAR_FORM_PAPER_V25B__ Quote form on paper: white fields, black type, red accents.
   Replaces the dark input boxes. Applies to the injected #quote-modal form and to
   the inline quote panel on the landing page. */

/* --- the popup quote form (white modal panel) --- */
#qform input[type=text],#qform input[type=email],#qform input[type=tel],
#qform input[type=date],#qform input[type=time],#qform select,#qform textarea{
  background:#FFFFFF;border:1px solid var(--paper-line);color:var(--paper-ink);
}
#qform input::placeholder,#qform textarea::placeholder{color:var(--paper-mute)}
#qform input:focus,#qform select:focus,#qform textarea:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(216,30,44,.14)}
#qform select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}
#qform .qf-label{color:var(--paper-body)}
#qform .qf-row:has(> #qf-service) .qf-label{color:var(--paper-ink)}
.qf-sub{color:var(--paper-ink);border-bottom-color:var(--paper-line)}
.qf-opt,.qf-check{color:var(--paper-body)}
.qf-foot{border-top-color:var(--paper-line)}
.qf-submit{background:var(--red);color:#fff;border:none}
.qf-submit:hover{background:var(--paper-ink);color:#fff}
.qf-submit[disabled]{opacity:.6;cursor:default}
.qf-status.err{color:var(--red)}
.qf-status.ok{color:#1c7a4f}
#quote-modal .fmodal-body h2{color:var(--paper-ink)}
#quote-modal .fmodal-body p{color:var(--paper-body)}

/* --- inline quote panel on the landing page (red panel, white fields) --- */
.quote-panel input,.quote-panel textarea{
  background:#FFFFFF;border:1px solid #FFFFFF;color:var(--paper-ink)}
.quote-panel input::placeholder,.quote-panel textarea::placeholder{color:#6B6359}
.quote-panel input:focus,.quote-panel textarea:focus{
  outline:none;border-color:var(--paper-ink);box-shadow:0 0 0 3px rgba(0,0,0,.18)}

/* __RAR_CAROUSEL_V26__ Gallery: two carousel rows (photos on top, videos below).
   Stays on the dark page so photography keeps its contrast. */
.car-row{margin-top:40px}
.car-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.car-title{font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--red)}
.car-count{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;color:var(--muted)}
.car-viewport{position:relative}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;
  scrollbar-width:none;-ms-overflow-style:none;padding:2px 0}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 calc((100% - 28px) / 3);scroll-snap-align:start;position:relative;
  aspect-ratio:4/3;overflow:hidden;border:none;padding:0;cursor:pointer;background:#1B1413;
  text-align:left;color:var(--ink)}
.car-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.car-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,10,10,.9))}
.car-slide .placeholder{background:#1B1413}
.car-slide .g-label{position:absolute;left:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:4px}
.car-slide .g-label small{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#b8b0a5}
.car-slide .g-label span{font-family:var(--serif);font-size:18px;color:var(--ink)}
.car-slide .g-play{position:absolute;right:16px;bottom:14px;z-index:2;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(244,240,234,.6);background:rgba(11,10,10,.35)}
.car-slide .g-play::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);
  border-left:11px solid var(--ink);border-top:7px solid transparent;border-bottom:7px solid transparent}
.car-slide:hover img{transform:scale(1.04)}
.car-slide img{transition:transform .5s ease}
.car-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;
  border-radius:50%;border:1px solid rgba(244,240,234,.35);background:rgba(11,10,10,.78);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.25s;padding:0}
.car-arrow:hover{background:var(--red);border-color:var(--red)}
.car-arrow[disabled]{opacity:.25;cursor:default}
.car-arrow[disabled]:hover{background:rgba(11,10,10,.78);border-color:rgba(244,240,234,.35)}
.car-prev{left:-24px}
.car-next{right:-24px}
.car-arrow::before{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.car-prev::before{transform:rotate(-135deg);margin-left:-3px}
.car-next::before{transform:rotate(45deg);margin-right:-3px}
@media (max-width:1100px){
  .car-slide{flex:0 0 calc((100% - 14px) / 2)}
  .car-prev{left:8px}
  .car-next{right:8px}
}
@media (max-width:640px){
  .car-slide{flex:0 0 100%}
}

/* __RAR_SVC_ICONS_V27__ line pictograms above each service title */
.fcard-icon{display:block;height:auto;color:var(--red);margin:0 auto 2px}
/* a quarter of the CARD width, centred; card padding trims so height stays put */
.fcard .fcard-icon{width:calc(25% + 15px)}
.cat-card .fcard-icon{width:calc(25% + 17px)}
.fcard{padding-top:30px}
.cat-card{padding-top:34px}
.fcard .fcard-icon,.cat-card .fcard-icon{transition:transform .35s ease}
.fcard:hover .fcard-icon,.cat-card:hover .fcard-icon{transform:translateY(-2px) scale(1.06)}

/* __RAR_BODONI_OPSZ_V28__ Bodoni Moda is high-contrast: at weight 900 the browser's
   automatic optical sizing keeps the hairlines hairline-thin, so card titles read as
   fragmented rather than heavy. Pin the opsz axis low so the thin strokes thicken.
   Weight stays 900 as specified in the V25 block; only stroke contrast changes. */
.fcard h2,.cat-card h3,.fmodal-body h2{
  font-optical-sizing:none;font-variation-settings:'opsz' 8}

/* __RAR_HEADER_CHIPS_V29__ The header has no background of its own, so over the
   ivory bands the white FR button and CART label disappeared. Fill both controls
   with a dark chip so they read on the hero video AND on the paper sections. */
.lang-btn,.cart-btn{
  background:rgba(11,10,10,.82);
  border:1px solid rgba(244,240,234,.28);
  border-radius:2px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  text-shadow:none}
.cart-btn{padding:10px 16px}
.lang-btn:hover,.cart-btn:hover{background:var(--red);border-color:var(--red)}
.site-header .header-actions{text-shadow:none}

/* __RAR_VENUES_LEGAL_V32__ Show-format layout (bars-venues) + legal document pages.
   Both live on the ivory .csm-band, so they inherit the paper palette above. */

/* ---- at-a-glance row ---- */
.expect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}
.expect-item{background:var(--paper-2);padding:30px 26px 28px;position:relative;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.expect-item::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.expect-item:hover{box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.expect-item:hover::before{transform:scaleX(1)}
.expect-key{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--red);margin-bottom:16px}
.expect-item h3{font-family:var(--serif);font-size:23px;font-weight:900;letter-spacing:.005em;
  line-height:1.14;color:var(--paper-ink);margin-bottom:12px;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.expect-item p{color:var(--paper-body);font-size:14.5px;line-height:1.62}

/* ---- the two show formats ---- */
.format-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.format-card{background:var(--paper-2);padding:44px 40px 40px;position:relative;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.format-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.format-card:hover{box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.format-card:hover::before{transform:scaleX(1)}
.format-head{border-bottom:1px solid var(--paper-line);padding-bottom:22px;margin-bottom:26px}
.format-head .num{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;color:var(--red);margin-bottom:14px}
.format-head .kicker{color:var(--red);margin-bottom:10px}
.format-head h3{font-family:var(--serif);font-size:31px;font-weight:900;letter-spacing:.005em;
  line-height:1.1;color:var(--paper-ink);
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.format-card p{color:var(--paper-body);font-size:15px;line-height:1.68;margin-bottom:18px}
.format-sub{font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--paper-ink);margin:30px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--paper-line)}
.format-note{color:var(--paper-ink);font-style:italic}
.prog-list{list-style:none;margin:0 0 4px;padding:0}
.prog-list li{position:relative;padding:9px 0 9px 28px;color:var(--paper-body);
  font-size:14.5px;line-height:1.55;border-bottom:1px solid var(--paper-line)}
.prog-list li:last-child{border-bottom:none}
.prog-list li::before{content:"";position:absolute;left:2px;top:15px;width:9px;height:5px;
  border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}

/* ---- signature band: full-bleed brand red ---- */
.sig-band{position:relative;text-align:center;padding:96px 24px 104px}
.sig-band::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;
  background:var(--red);z-index:0;pointer-events:none}
.sig-band > *{position:relative;z-index:1}
.sig-band .kicker{color:#FFD9DC;margin-bottom:20px}
.sig-band h2{font-family:var(--serif);font-size:clamp(32px,4.6vw,58px);font-weight:900;
  line-height:1.06;color:#fff;max-width:16ch;margin:0 auto 24px;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.sig-band p{color:#FFEDEE;font-size:16px;line-height:1.68;max-width:62ch;margin:0 auto}

/* ---- legal documents ---- */
.legal .legal-intro{max-width:78ch;margin-bottom:12px}
.legal .legal-intro p{color:var(--paper-body);font-size:15.5px;line-height:1.72;margin-bottom:16px}
.legal-toc{background:var(--paper-2);border:1px solid var(--paper-line);padding:32px 34px;margin:34px 0 56px;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16)}
.legal-toc-title{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--red);margin-bottom:20px}
.legal-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;
  columns:3;column-gap:34px}
.legal-toc li{counter-increment:toc;break-inside:avoid;margin-bottom:9px}
.legal-toc a{color:var(--paper-ink);text-decoration:none;font-size:13.5px;line-height:1.45;
  border-bottom:1px solid transparent;transition:.2s}
.legal-toc a::before{content:counter(toc) ". ";font-family:var(--mono);font-size:12.5px;color:var(--red)}
.legal-toc a:hover{color:var(--red);border-bottom-color:var(--red)}
.legal-sec{max-width:82ch;margin-bottom:46px;scroll-margin-top:120px}
.legal-sec h2{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);
  font-size:26px;font-weight:900;letter-spacing:.005em;line-height:1.15;color:var(--paper-ink);
  margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--paper-line);
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.legal-n{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.2em;color:var(--red);flex:0 0 auto}
.legal-body p{color:var(--paper-body);font-size:15px;line-height:1.72;margin-bottom:14px}
.legal-body ul{list-style:none;margin:6px 0 18px;padding:0}
.legal-body li{position:relative;padding:7px 0 7px 24px;color:var(--paper-body);font-size:14.5px;line-height:1.6}
.legal-body li::before{content:"";position:absolute;left:2px;top:16px;width:7px;height:1px;background:var(--red)}
.footer-legal a{display:inline;color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:.2s}
.footer-legal a:hover{color:var(--red);border-bottom-color:var(--red)}

@media(max-width:1100px){
  .expect-grid{grid-template-columns:repeat(2,1fr)}
  .format-grid{grid-template-columns:1fr}
  .legal-toc ol{columns:2}
}
@media(max-width:720px){
  .expect-grid{grid-template-columns:1fr}
  .format-card{padding:34px 26px 30px}
  .legal-toc{padding:26px 22px}
  .legal-toc ol{columns:1}
  .sig-band{padding:70px 20px 76px}
}

/* __RAR_VENUES_HEAD_V32B__ section heads on paper: Bodoni at 400 goes hairline-thin
   at display sizes, same problem the card titles had. */
.csm-band .section-head h2{font-weight:700;color:var(--paper-ink);
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.format-lede{max-width:64ch;margin:-30px 0 6px;color:var(--paper-body);font-size:16px;line-height:1.7}

/* __RAR_VENUES_FOCUS_V33__ Venues page: the two formats carry the page.
   Bodoni at 400 is hairline-thin at display sizes, so every big title here is
   pinned heavy with a low optical size, same treatment as the card titles. */

/* page-head titles across the site: heavy instead of hairline */
.page-head h1{font-weight:900;letter-spacing:.004em;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}

/* the red "Two formats" line, promoted to a display title */
.formats-head{border-bottom:1px solid var(--paper-line);padding-bottom:30px;margin-bottom:14px}
.kicker-xl{font-family:var(--serif);font-weight:900;letter-spacing:.004em;
  font-size:clamp(38px,5.4vw,68px);line-height:1;color:var(--red);text-transform:none;
  font-optical-sizing:none;font-variation-settings:'opsz' 8;margin-bottom:10px}
.formats-head h2{font-family:var(--sans);font-weight:400;font-size:clamp(17px,1.7vw,22px);
  letter-spacing:.01em;line-height:1.35;color:var(--paper-body);max-width:46ch}

/* the two cards now dominate: more air, bigger type */
.format-grid{gap:26px;margin-top:44px}
.format-card{padding:52px 46px 46px}
.format-head{padding-bottom:26px;margin-bottom:30px}
.format-name{font-family:var(--serif);font-weight:900;letter-spacing:.004em;
  font-size:clamp(34px,3.6vw,50px);line-height:1.02;color:var(--red);margin-bottom:14px;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.format-tag{font-family:var(--serif);font-weight:700;font-size:clamp(19px,1.7vw,24px);
  line-height:1.24;color:var(--paper-ink);margin-bottom:0;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.format-card p{font-size:15.5px;line-height:1.7}
.format-sub{font-size:12.5px;letter-spacing:.28em;margin:34px 0 16px}
.prog-list li{font-size:15px;padding:11px 0 11px 30px}
.prog-list li::before{top:17px}

@media(max-width:720px){
  .format-card{padding:36px 26px 32px}
}

/* __RAR_VENUES_FOCUS_V33B__ format names carry each card; undo the negative
   lede offset now that .formats-head owns the rule above it. */
.format-name{font-size:clamp(40px,4.4vw,62px);line-height:.98;margin-bottom:16px}
.format-lede{margin:20px 0 0;max-width:70ch}
.formats-head{margin-bottom:0}

/* __RAR_VENUES_FOCUS_V33C__ .csm-band h3 (0,1,1) was outranking .format-name (0,1,0)
   and repainting the format titles paper-ink. Match its specificity to keep them red. */
.csm-band .format-name{color:var(--red)}
.csm-band .format-tag{color:var(--paper-ink)}

/* __RAR_VENUES_FOCUS_V33D__ authoritative format-title rules.
   .format-head h3 and .format-card p are (0,1,1) and were beating the bare
   .format-name / .format-tag classes (0,1,0) on size regardless of order.
   Two classes = (0,2,0), which wins cleanly. */
.csm-band .format-name{font-family:var(--serif);font-weight:900;color:var(--red);
  font-size:clamp(40px,4.4vw,62px);line-height:.98;letter-spacing:.004em;margin-bottom:18px;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.csm-band .format-tag{font-family:var(--serif);font-weight:700;color:var(--paper-ink);
  font-size:clamp(20px,1.8vw,26px);line-height:1.22;margin-bottom:0;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}

/* __RAR_PAGEHEAD_KICKER_V34__ page-head eyebrow promoted to a red display line,
   same treatment as "Two formats", with room to breathe above the H1.
   Scoped to .page-head-xl (Venues only), every other page keeps the small
   mono eyebrow, so "Boutique"/"Legal" don't shout above their own H1. */
.page-head-xl .kicker{font-family:var(--serif);font-weight:900;text-transform:none;
  font-size:clamp(28px,3.2vw,44px);letter-spacing:.004em;line-height:1;
  display:block;margin-bottom:22px;color:var(--red);
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.page-head-xl .page-head-row{padding-top:0}
@media(max-width:720px){ .page-head-xl .kicker{margin-bottom:16px} }

/* __RAR_ABOUT_V36__ About page: two story columns, tag chips, 8-up values grid
   and a dark closing band. Sits on the ivory .csm-band palette. */

/* ---- two story columns ---- */
.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px}
.story-col h2{font-family:var(--serif);font-weight:900;letter-spacing:.004em;
  font-size:clamp(27px,2.7vw,38px);line-height:1.08;color:var(--paper-ink);margin-bottom:22px;
  padding-bottom:18px;border-bottom:1px solid var(--paper-line);
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.story-col p{color:var(--paper-body);font-size:15.5px;line-height:1.72;margin-bottom:16px}
.story-note{color:var(--paper-ink);font-style:italic}

/* ---- chips ---- */
.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 24px;padding:0}
.tag-list li{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper-ink);background:var(--paper-2);border:1px solid var(--paper-line);
  padding:9px 14px;transition:.25s}
.tag-list li:hover{border-color:var(--red);color:var(--red)}

/* ---- values, eight up ---- */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}
.values-grid .value-card{background:var(--paper-2);padding:32px 26px 30px;position:relative;
  box-shadow:0 0 0 1px rgba(20,17,16,.07),0 2px 5px rgba(20,17,16,.14),0 12px 24px rgba(20,17,16,.20),0 28px 56px rgba(20,17,16,.16);
  transition:box-shadow .3s ease,transform .3s ease}
.values-grid .value-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.values-grid .value-card:hover{box-shadow:0 0 0 1px rgba(20,17,16,.10),0 4px 10px rgba(20,17,16,.16),0 18px 36px rgba(20,17,16,.24),0 42px 84px rgba(20,17,16,.22);transform:translateY(-5px)}
.values-grid .value-card:hover::before{transform:scaleX(1)}
.values-grid .num{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;
  color:var(--red);margin-bottom:16px}
.values-grid .value-card h3{font-family:var(--serif);font-weight:900;letter-spacing:.004em;
  font-size:22px;line-height:1.14;color:var(--paper-ink);margin-bottom:12px;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.values-grid .value-card p{color:var(--paper-body);font-size:14px;line-height:1.62}

/* ---- dark closing band ---- */
.closing-band{position:relative;text-align:center;padding:104px 24px 112px;background:var(--panel);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.closing-name{font-family:var(--mono);font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--red);margin-bottom:22px}
.closing-band h2{font-family:var(--serif);font-weight:900;letter-spacing:.004em;
  font-size:clamp(32px,4.4vw,56px);line-height:1.06;color:var(--ink);margin:0 auto 22px;max-width:20ch;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}
.closing-band p{color:var(--body);font-size:16px;line-height:1.7;max-width:60ch;margin:0 auto}

@media(max-width:1100px){
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid{grid-template-columns:1fr;gap:52px}
}
@media(max-width:720px){
  .values-grid{grid-template-columns:1fr}
  .closing-band{padding:72px 20px 78px}
}

/* __RAR_ABOUT_V36B__ the intro lead was inheriting Bodoni's default 400, so it
   read hairline at 27px like every other display line before it. */
.csm-band .about-copy .lead{font-weight:700;letter-spacing:.004em;line-height:1.34;
  font-optical-sizing:none;font-variation-settings:'opsz' 8}

/* __RAR_PH_MEDIA_V38__ Drop-in photo slots. Same hatched ivory treatment as the
   boutique / venue media, so real photography can replace them one for one. */
.ph{position:relative;overflow:hidden;background:#EBE4D8}
.csm-band .ph .placeholder,.svc-forfaits .ph .placeholder,
#services-teaser .ph .placeholder,.shop-teaser .ph .placeholder{background:#EBE4D8}
.csm-band .ph .placeholder::before,.svc-forfaits .ph .placeholder::before,
#services-teaser .ph .placeholder::before,.shop-teaser .ph .placeholder::before{
  background:repeating-linear-gradient(125deg,rgba(20,17,16,.045) 0 2px,transparent 2px 20px)}
.csm-band .ph .placeholder span,.svc-forfaits .ph .placeholder span,
#services-teaser .ph .placeholder span,.shop-teaser .ph .placeholder span{color:var(--paper-mute)}
.ph-band{margin:48px 0 0;aspect-ratio:21/9}
.ph-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:38px 0 0}
.ph-row .ph{aspect-ratio:4/5}
.shop-teaser .ph-row{max-width:760px;margin:34px auto 34px}
.shop-teaser .ph-row .ph{aspect-ratio:1/1}
.format-card .ph{aspect-ratio:16/10;margin:0 0 32px}
@media (max-width:900px){.ph-band{aspect-ratio:16/9}.ph-row{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ph-row{grid-template-columns:1fr}}

/* __RAR_REAL_MEDIA_V39__ Real photography lands in the v38 slots.
   The gallery rail flips to 3:4 because every supplied photo is portrait;
   holding 4:3 would have centre-cropped away roughly 44% of each frame. */
.ph img{width:100%;height:100%;object-fit:cover;display:block}

/* the new logo ships with black baked into the artwork, so the tile goes dark
   instead of floating a black rectangle inside a white box */
.csm-band .about-logo{background:#0B0A0A;border-color:#0B0A0A;padding:0;overflow:hidden}
.about-logo img{width:100%;max-width:none;height:auto;display:block}

/* portrait gallery rail */
.car-slide{aspect-ratio:3/4;flex:0 0 calc((100% - 42px) / 4)}
.car-slide:not(:has(.g-label))::after{background:none}
@media (max-width:1100px){.car-slide{flex:0 0 calc((100% - 28px) / 3)}}
@media (max-width:820px){.car-slide{flex:0 0 calc((100% - 14px) / 2)}}
@media (max-width:560px){.car-slide{flex:0 0 100%}}

/* lightbox now shows the photo itself rather than an empty frame */
.lightbox-frame:has(img){aspect-ratio:auto;background:none;border:none}
.lightbox-frame img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;object-fit:contain}

/* __RAR_CATCARD_V40__ Landing category cards: the type and the pictogram were
   sitting light inside a 625x411 card. Scale both up and thicken the icon stroke.
   Scoped to #services-teaser so the Services page cards are untouched. */
#services-teaser .cat-card{padding:40px 40px 36px}
#services-teaser .cat-card .fcard-icon{width:calc(28% + 18px);stroke-width:2.7;margin-bottom:10px}
#services-teaser .cat-card h3{font-size:clamp(30px,2.7vw,38px);line-height:1.06;margin-bottom:4px}
#services-teaser .cat-card p{font-size:17.5px;line-height:1.62}
#services-teaser .cat-card .cat-cta{font-size:24px;padding-top:22px}
#services-teaser .cat-card .cat-cta em{font-size:13.5px;letter-spacing:.2em}

/* __RAR_CARDS_CENTER_V42__ Centred card content, and the service photo now lives
   inside its own forfait card instead of a separate row underneath. */

/* landing "Services & Forfaits" cards */
#services-teaser .cat-card{text-align:center;align-items:center}
#services-teaser .cat-card h3,#services-teaser .cat-card p{width:100%}
#services-teaser .cat-card p{max-width:44ch;margin-left:auto;margin-right:auto}
#services-teaser .cat-card .cat-cta{width:100%;justify-content:center;gap:14px}

/* services page forfait cards */
.fcards .fcard{text-align:center;align-items:center;padding-top:0;overflow:hidden}
.fcards .fcard h2,.fcards .fcard p{width:100%}
.fcards .fcard p{max-width:40ch;margin-left:auto;margin-right:auto}
.fcards .fcard .fcard-cta{width:100%}

/* the photo sits flush to the card's top edge, above the pictogram */
.fcard-photo{aspect-ratio:4/5;width:calc(100% + 60px);margin:0 -30px 26px;flex:0 0 auto}
@media(max-width:720px){.fcard-photo{width:calc(100% + 60px);margin:0 -30px 22px}}

/* __RAR_NAV_FIT_V43__ "Bars & Venues" / "Bars et Salles" is a much longer tab than
   "Venues", which pushed the nav onto a second row between 1000 and 1240px.
   Tighten tracking, gap and size across that band so it stays on one line. */
@media (min-width:1001px) and (max-width:1240px){
  :root{ --nav-fs:16px; }
  .main-nav{gap:24px;letter-spacing:.15em}
  .header-actions{gap:18px}
  .lang-btn{padding:9px 13px}
}
/* the same squeeze on phones, where the nav already sits on its own full-width row */
@media (max-width:760px){
  .main-nav{gap:13px;letter-spacing:.08em;font-size:13px;flex-wrap:nowrap}
  .main-nav a{white-space:nowrap}
}
@media (max-width:420px){
  .main-nav{gap:9px;letter-spacing:.04em;font-size:11.5px}
}

/* __RAR_ANCHOR_OFFSET_V45__ the header is fixed, so an anchored card would land
   underneath it without a scroll margin. */
.fcards .fcard[id]{scroll-margin-top:150px}
.fcards[id]{scroll-margin-top:150px}

/* __RAR_GALLERY_LABELS_V47__ On the dark gallery band the red mono labels were
   12.5px at weight 400, which all but vanished against black. Bigger and properly
   bold now that the mono ships a 700. Scoped to #gallery. */
#gallery .kicker,#gallery .car-title{
  font-size:15px;font-weight:700;letter-spacing:.24em}
#gallery .car-count{font-size:13.5px;font-weight:500;letter-spacing:.16em}

/* __RAR_VIDEO_RAIL_V49__ The video rail carries landscape 16:9 frames, unlike the
   portrait photo rail, so it gets its own aspect and a wider slide. */
.car-row-video .car-slide{aspect-ratio:16/9;flex:0 0 calc((100% - 28px) / 3)}
.car-row-video .car-slide::after{background:linear-gradient(180deg,transparent 40%,rgba(11,10,10,.92))}
@media (max-width:1100px){.car-row-video .car-slide{flex:0 0 calc((100% - 14px) / 2)}}
@media (max-width:700px){.car-row-video .car-slide{flex:0 0 100%}}

/* __RAR_LIGHTBOX_VIDEO_V50__ the video fills the frame the same way the photo does */
.lightbox-frame:has(video){aspect-ratio:auto;background:none;border:none}
.lightbox-frame video{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;background:#000}

/* __RAR_LIGHTBOX_CENTER_V51__ the frame is a fixed-width block inside a wrapper that
   stretches wider than it (the wrapper sizes to the video's intrinsic width), so it sat
   flush left while the label centred correctly. Auto side margins line the two up. */
.lightbox-frame{margin-inline:auto}

/* __RAR_BODONI_FAT_V52__ Bodoni Moda's opsz axis controls stroke contrast, and left on
   auto the browser raises it as the type gets bigger, so the largest headings ended up
   with the thinnest hairlines. V28 pinned the axis low on the service cards only; this
   pins it for the whole page (font-variation-settings inherits, and naming one axis
   leaves font-weight driving wght as normal). Jost and the mono face have no opsz axis,
   so they are unaffected. The weight bumps lift the display type that was still at 400. */
body{font-optical-sizing:none;font-variation-settings:'opsz' 8}
.hero-copy .hero-slogan,.manifesto p,.page-head h1,.venues-teaser h2,
.shop-teaser h2,.quote-band h2,.values-title,.about-copy .lead{font-weight:500}
.quote-panel h2{font-weight:700}

/* __RAR_VENUE_PHOTOS_V53__ Two changes.
   1. The video slides no longer carry a .g-label, so the bottom scrim that existed to
      keep that text readable is just dimming the thumbnail. Rule 988 already clears it
      for label-less slides, but the V49 video rule matches later at equal specificity
      and won the cascade, so it needs restating with one more class here.
   2. The supplied venue photos are 3:2 while the figure was 16:10, which cropped about
      6% off the top and bottom and clipped the "Csm Team" mark in the corner. */
.car-row-video .car-slide:not(:has(.g-label))::after{background:none}
.format-card .ph{aspect-ratio:3/2}

/* __RAR_PLAY_CENTER_V54__ With the labels gone the corner was an odd place for the only
   affordance on the slide, so the play button moves to the optical centre. Scaled up to
   64px because a 38px disc reads as an afterthought once it is the sole marker, and the
   triangle is scaled with it so the proportions hold. Video rail only: the photo slides
   carry no .g-play. */
.car-row-video .car-slide .g-play{
  left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);
  width:64px;height:64px}
.car-row-video .car-slide .g-play::before{
  border-left-width:19px;border-top-width:12px;border-bottom-width:12px}

/* __RAR_FOOTER_LOGO_V55__ The new mark is artwork on a solid black field, not a
   transparent PNG, and its black is #000 against the footer's #0B0A0A, so cropping it
   square left a faintly visible block. The glow fades into that black, so keying it out
   would eat the suit and the halo with it. Screen blending solves it instead: black
   contributes nothing over the backdrop, so the field disappears while the bright
   artwork is unchanged. */
.footer-logo{mix-blend-mode:screen}
