/* Stage-door lineup: one dark stage, beams from the top corners, each division lit in its own color. */
:root{
  --ink:#101010; --stage:#181816; --raise:#22211e; --line:#36342f;
  --text:#f5f2ec; --muted:#aaa59a; --ivory:#f5f2ec;
  --gold:#b79a6a; --pink:#e0559f; --blue:#5f8fe6; --review:#e0bf7a; --ember:#e0834a;
  --accent:var(--gold);
  --display:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  --body:Arial,Helvetica,sans-serif;
  --mono:Arial,Helvetica,sans-serif;
  color-scheme:dark;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font:400 17px/1.6 var(--body)}
img{max-width:100%;display:block}
a{color:var(--text)}
h1,h2,h3,p,ul{margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* division themes */
.t-home{--accent:var(--gold);--bA:var(--gold);--bB:#6e5d3e}
.t-dj{--accent:var(--pink);--bA:var(--pink);--bB:#8a2d62}
.t-prod{--accent:var(--blue);--bA:var(--blue);--bB:#34508a}
.t-review{--accent:var(--review);--bA:var(--review);--bB:#8a6c32}
.t-moto{--accent:var(--ember);--bA:var(--ember);--bB:#8a4220}

.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:760px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}

/* header */
.site-head{position:relative;z-index:5;padding-block:18px}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 32px}
.brand{font:400 26px/1 var(--display);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--text)}
.brand b{color:var(--pink);font-weight:400}
.nav{display:flex;flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none}
.nav a{display:inline-block;padding:10px 0 6px;font:500 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--c,var(--pink))}
.nav a[data-k=dj]{--c:var(--pink)}
.nav a[data-k=productions],.nav a[data-k=rentals],.nav a[data-k=shop]{--c:var(--blue)}
.nav a[data-k=review]{--c:var(--review)}
.nav a[data-k=moto]{--c:var(--ember)}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,8vw,104px) clamp(40px,6vw,72px)}
.hero.sub{padding-block:clamp(36px,6vw,72px) clamp(32px,5vw,56px)}
.hero-in{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px}
.hero h1{font:400 clamp(3.6rem,12.5vw,9.4rem)/.88 var(--display);text-transform:uppercase;text-wrap:balance}
.hero.sub h1{font-size:clamp(3.2rem,10vw,7rem)}
.outline{color:transparent;-webkit-text-stroke:2px var(--text)}
@supports not (-webkit-text-stroke:1px #fff){.outline{color:var(--text)}}
.eyebrow{font:500 13px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lede{max-width:60ch;font-size:clamp(1.08rem,2vw,1.32rem);color:var(--muted)}
.lede strong{color:var(--text);font-weight:500}
.beams{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.beam{position:absolute;top:-30px;width:34vw;max-width:420px;height:min(640px,95%);filter:blur(18px);opacity:.3;transform-origin:50% 0;background:linear-gradient(to bottom,var(--bc),transparent 88%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);animation:sway 10s ease-in-out infinite alternate}
.beam:nth-child(1){left:-4%;--bc:var(--bA,var(--pink));transform:rotate(-16deg)}
.beam:nth-child(2){left:16%;--bc:var(--bB,var(--blue));transform:rotate(-6deg);animation-delay:-3s}
.beam:nth-child(3){right:16%;--bc:var(--bB,var(--blue));transform:rotate(6deg);animation-delay:-5s}
.beam:nth-child(4){right:-4%;--bc:var(--bA,var(--pink));transform:rotate(16deg);animation-delay:-7s}
@keyframes sway{from{opacity:.16}to{opacity:.34}}
@media(prefers-reduced-motion:reduce){.beam{animation:none}html{scroll-behavior:auto}}

/* sections */
.band{padding-block:clamp(40px,6vw,72px)}
.band.alt{background:var(--stage);border-block:1px solid var(--line)}
.sect{font:400 clamp(2rem,5vw,3.4rem)/1 var(--display);text-transform:uppercase;text-wrap:balance}
.stack{display:flex;flex-direction:column;gap:18px}
.stack.lg{gap:32px}
.muted{color:var(--muted)}
.small{font-size:14px;color:var(--muted)}
.row{display:flex;flex-wrap:wrap;gap:12px}

/* buttons + chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;font:700 15px/1 var(--body);letter-spacing:.02em;text-decoration:none;color:var(--ink);background:var(--accent);border:2px solid var(--accent);border-radius:4px;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--text)}
.btn.ghost:hover{background:var(--accent);color:var(--ink);filter:none}
.chip{display:inline-block;padding:5px 10px;font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px}
.chip.live{color:var(--text);border-color:var(--c,var(--accent))}

/* home doors */
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.door{position:relative;display:flex;flex-direction:column;gap:14px;min-height:300px;padding:24px;background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden;isolation:isolate}
.door::before{content:"";position:absolute;left:-20%;right:-20%;bottom:-45%;height:75%;background:radial-gradient(closest-side,var(--c),transparent);opacity:.3;z-index:-1;transition:opacity .25s}
.door:hover::before{opacity:.55}
.door{min-width:0}
.door h2{font:400 clamp(2rem,3vw,2.7rem)/.95 var(--display);text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto}
.door p{color:var(--muted)}
.door-link{color:inherit;text-decoration:none}
.door-link::after{content:"";position:absolute;inset:0;z-index:1}
.door .go{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 18px;position:relative;z-index:2}
.door .go a{font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-decoration:none;padding:10px 0;border-bottom:2px solid var(--c)}
.door .go a:hover{background:var(--c);color:var(--ink);padding-inline:6px}
.d-dj{--c:var(--pink)}.d-prod{--c:var(--blue)}.d-review{--c:var(--gold)}.d-moto{--c:var(--ember)}

/* cards + steps */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.card{padding:22px;background:var(--stage);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card h3{font:400 1.7rem/1 var(--display);text-transform:uppercase}
.card p{color:var(--muted)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.step{counter-increment:s;padding:22px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:8px}
.step::before{content:counter(s);font:400 3rem/1 var(--display);color:var(--accent)}
.step h3{font:700 1.1rem/1.3 var(--body)}
.step p{color:var(--muted)}

/* contact */
.contact{display:flex;flex-direction:column;gap:6px}
.crow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.crow .k{flex:0 0 112px;font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crow .v{font:700 1.15rem/1.3 var(--body);color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.crow a.v:hover{color:var(--accent)}
.copy{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:4px;padding:8px 10px;min-height:36px;cursor:pointer}
.copy:hover{border-color:var(--accent)}
.social{display:flex;flex-wrap:wrap;gap:10px}
.social a,.social span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--text);border:1px solid var(--accent);border-radius:999px}
.social a:hover{background:var(--accent);color:var(--ink)}
.social .is-empty{color:var(--muted);border:1px dashed var(--line)}
.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.side{display:flex;flex-direction:column;gap:22px;padding:24px;background:var(--stage);border:1px solid var(--line);border-radius:6px}
.side h2{font:400 1.6rem/1 var(--display);text-transform:uppercase}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(24px,5vw,56px);align-items:start}

/* forms */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:620px){.form{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:7px;min-width:0;border:0;padding:0;margin:0}
.field.full{grid-column:1/-1}
.field label,.field legend{font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;font:400 16px/1.4 var(--body);color:var(--text);background:var(--stage);border:1px solid var(--line);border-radius:4px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.check{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;background:var(--stage);border:1px solid var(--line);border-radius:4px;font:400 16px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer}
.check input{width:20px;min-height:20px;height:20px;accent-color:var(--accent)}
.note{padding:14px 16px;border:1px solid var(--accent);border-radius:4px;color:var(--text);font-size:15px}
.result{margin-top:32px;padding:24px;background:var(--stage);border:1px solid var(--accent);border-radius:6px;display:flex;flex-direction:column;gap:16px}
.result h2{font:400 1.9rem/1 var(--display);text-transform:uppercase}
.result h2:focus{outline:none}
.result textarea{width:100%;min-height:240px;padding:14px;font:400 14px/1.5 var(--mono);color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:4px}

/* coming soon */
.count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:520px}
.tile{padding:14px 6px;text-align:center;background:var(--stage);border:1px solid var(--line);border-radius:4px}
.tile b{display:block;font:400 clamp(2.1rem,9vw,3.6rem)/1 var(--display);font-variant-numeric:tabular-nums}
.tile span{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* reviews */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.rv{display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--stage);border:1px solid var(--line);border-radius:6px;min-width:0}
.rv h3{font:400 1.8rem/1 var(--display);text-transform:uppercase}
.rv .meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.stars{display:inline-flex;gap:3px;color:var(--gold)}
.stars svg{width:20px;height:20px}
.rv ul{padding-left:20px;display:flex;flex-direction:column;gap:4px;color:var(--muted)}
.rv .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.rv h4{margin:0 0 6px;font:500 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.rv.sample{border-style:dashed}
.topics{display:flex;flex-wrap:wrap;gap:10px}

/* calendar */
.cal{background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cal-head h2{font:400 clamp(1.5rem,4vw,2.2rem)/1 var(--display);text-transform:uppercase}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:46px;height:46px;font:700 18px/1 var(--body);color:var(--text);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}
.cal-nav button:hover{border-color:var(--accent)}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.dow{padding:8px 4px;text-align:center;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.day{min-height:84px;padding:6px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font:500 13px/1.2 var(--mono);color:var(--muted);background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;min-width:0}
.day:nth-child(7n){border-right:0}
.day.today .n{color:var(--ink);background:var(--text);border-radius:3px;padding:1px 5px}
.day.has{cursor:pointer;color:var(--text);background:rgba(255,122,61,.14)}
.day.has:hover,.day.has[aria-pressed=true]{background:rgba(255,122,61,.32)}
.day .t{font:700 11px/1.2 var(--body);color:var(--text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
@media(max-width:620px){.day{min-height:54px;align-items:center}.day .t{display:none}.day.has::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember)}}
.flyers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}
.event{display:flex;flex-direction:column;background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}
.flyer{display:block;width:100%;aspect-ratio:4/5;padding:0;border:0;background:var(--raise);cursor:zoom-in;overflow:hidden}
.flyer img{width:100%;height:100%;object-fit:cover}
.poster{width:100%;height:100%;padding:22px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;background:linear-gradient(160deg,#2a130b,#07060d 70%);color:var(--text);container-type:inline-size}
.poster b{font:400 clamp(2.4rem,14cqw,4.4rem)/.9 var(--display);text-transform:uppercase;color:var(--ember)}
.poster span{font:500 13px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.ev-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px}
.ev-body h3{font:400 1.6rem/1 var(--display);text-transform:uppercase}
.ev-date{font:500 13px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(8,8,8,.94)}
.lightbox .frame{width:min(520px,100%);max-height:88vh;aspect-ratio:4/5;background:var(--raise);overflow:hidden}
.lightbox img{width:100%;height:100%;object-fit:contain}
.lightbox .close{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}

/* footer */
.site-foot{border-top:1px solid var(--line);padding-block:36px;margin-top:24px}
.foot-in{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-start;justify-content:space-between}
.foot-in nav ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-in nav a{font:500 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:inline-block;padding:8px 0}
.foot-in nav a:hover{color:var(--text)}

/* ===== navigation with dropdowns, mobile menu ===== */
.site-head{position:sticky;top:0;z-index:50;background:rgba(16,16,16,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-block:12px}
.menu-btn{display:none;min-height:44px;padding:0 18px;font:700 14px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}
.nav{align-items:center;gap:0 22px}
.nav>li{position:relative}
.nav a,.sub-btn{display:inline-block;padding:12px 0 8px;font:700 13px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}
.sub-btn::after{content:"";display:inline-block;margin-left:7px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.sub-btn:hover,.has-sub.on>.sub-btn,.has-sub.open>.sub-btn{color:var(--text);border-bottom-color:var(--pink)}
.subnav{display:none;list-style:none;margin:0;padding:8px 0;min-width:230px;background:var(--stage);border:1px solid var(--line);border-radius:6px}
.subnav a{display:block;padding:12px 18px;border:0}
.subnav a:hover,.subnav a[aria-current=page]{background:var(--raise);color:var(--text)}
@media(min-width:1100px){
  .has-sub:hover>.subnav,.has-sub.open>.subnav,.has-sub:focus-within>.subnav{display:block;position:absolute;left:-12px;top:100%;z-index:60;box-shadow:0 18px 40px rgba(0,0,0,.5)}
}
@media(max-width:1099px){
  .site-head .wrap{flex-wrap:wrap}
  .menu-btn{display:inline-flex;align-items:center}
  #main-nav{display:none;width:100%;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow:auto}
  #main-nav.open{display:block}
  .nav{flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
  .nav>li{border-top:1px solid var(--line)}
  .nav a,.sub-btn{display:block;width:100%;text-align:left;padding:15px 4px;font-size:15px;min-height:48px}
  .subnav{padding:0 0 8px 14px;border:0;background:transparent}
  .has-sub.open>.subnav{display:block}
  .subnav a{padding:13px 4px}
}

/* ===== brand tiles with photo behind, home ===== */
.tiles4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.bt{position:relative;display:flex;align-items:flex-end;min-height:clamp(260px,34vw,420px);padding:24px;border-radius:6px;overflow:hidden;isolation:isolate;text-decoration:none;color:var(--text);background:var(--stage) center/cover no-repeat;border:1px solid var(--line)}
.bt::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(16,16,16,.92),rgba(16,16,16,.25) 65%,rgba(16,16,16,.1))}
.bt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--c)}
.bt h2{font:400 clamp(2rem,3.4vw,2.8rem)/.95 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.bt p{margin:8px 0 14px;color:#d9d5ee;font-size:15px}
.bt span.go{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;font:700 13px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--c);border-radius:3px}
.bt:hover{border-color:var(--c)}
.bt:hover span.go{filter:brightness(1.12)}
.bt:focus-visible{outline:3px solid var(--c);outline-offset:3px}

/* ===== generic content blocks ===== */
.split2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,4vw,48px);align-items:center}
.photo-slot{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted);background:repeating-linear-gradient(45deg,var(--stage),var(--stage) 12px,var(--raise) 12px,var(--raise) 24px);border:1px dashed var(--line);border-radius:6px}
.empty-state{padding:36px 24px;border:1px dashed var(--line);border-radius:6px;background:var(--stage);display:flex;flex-direction:column;gap:10px}
.empty-state h3{font:400 1.8rem/1 var(--display);text-transform:uppercase}
.empty-state p{color:var(--muted)}
.list{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.lcard{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--stage);border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--text);min-width:0}
.lcard h3{font:400 1.5rem/1.05 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.lcard p{color:var(--muted);font-size:15px}
.lcard:hover{border-color:var(--accent)}
.lcard .tag{font:700 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.vcard{display:flex;flex-direction:column;min-width:0;background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--text)}
.vthumb{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(closest-side,rgba(183,154,106,.25),transparent),var(--raise);position:relative}
.vthumb img{width:100%;height:100%;object-fit:cover}
.vthumb i{position:absolute;width:64px;height:64px;border-radius:50%;background:rgba(16,16,16,.7);border:2px solid var(--text)}
.vthumb i::after{content:"";position:absolute;left:25px;top:19px;border-left:20px solid var(--text);border-top:12px solid transparent;border-bottom:12px solid transparent}
.vbody{padding:16px;display:flex;flex-direction:column;gap:6px}
.vbody h3{font:400 1.4rem/1.05 var(--display);text-transform:uppercase}
.vbody p{color:var(--muted);font-size:14px}
.sec-nav{display:flex;flex-wrap:wrap;gap:8px}
.ev-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding:18px;background:var(--stage);border:1px solid var(--line);border-left:5px solid var(--c,var(--accent));border-radius:6px}
.ev-date{text-align:center;font:400 2.6rem/.9 var(--display);text-transform:uppercase}
.ev-date small{display:block;font:700 12px/1.2 var(--body);letter-spacing:.1em;color:var(--muted)}
.ev-row h3{font:400 1.7rem/1.05 var(--display);text-transform:uppercase}
.ev-row p{color:var(--muted)}
@media(max-width:480px){.ev-row{grid-template-columns:1fr}.ev-date{text-align:left}}

/* ===== rentals: category menu + rates ===== */
.rlay{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
@media(min-width:1100px){.rlay{grid-template-columns:270px minmax(0,1fr)}.rmenu{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}}
.rmenu{background:var(--stage);border:1px solid var(--line);border-radius:6px;padding:6px}
.rmenu button{font:700 14px/1.2 var(--body);color:var(--muted);background:none;border:0;text-align:left;cursor:pointer;width:100%;min-height:40px;padding:8px 10px;border-radius:4px}
.rmenu button:hover{color:var(--text);background:var(--raise)}
.rmenu button[aria-pressed=true]{color:var(--ink);background:var(--accent)}
.rmenu button.none{opacity:.55;font-weight:400}
.rmenu em{font-style:normal;font-size:12px;opacity:.75;margin-left:4px}
.rgrp summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font:400 1.25rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.rgrp summary::-webkit-details-marker{display:none}
.rgrp summary::after{content:"+";font:700 18px/1 var(--body);color:var(--accent)}
.rgrp[open] summary::after{content:"\2212"}
.rgrp ul{list-style:none;margin:0 0 6px;padding:0 0 0 8px}
.rates{display:flex;flex-wrap:wrap;gap:4px 16px}

/* ===== sales (new/used) ===== */
.best{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;align-items:center;padding:20px;background:var(--stage);border:1px solid var(--line);border-radius:6px}
.best .pic{background:#fff;border-radius:6px;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.best .pic img{width:100%;height:100%;object-fit:contain;padding:10px}
.best h3{font:400 clamp(1.8rem,3vw,2.4rem)/1 var(--display);text-transform:uppercase}
.best ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted)}
.best:nth-child(even) .pic{order:2}
@media(max-width:700px){.best:nth-child(even) .pic{order:0}}
.hot{display:flex;flex-direction:column;gap:20px}

/* form fields reused on careers/contact */
.fgrid{display:grid;gap:14px;max-width:640px}
.fgrid .field label{display:block;margin-bottom:6px;font:700 12px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fgrid input,.fgrid select,.fgrid textarea{width:100%;min-height:48px;padding:12px;font:400 16px/1.4 var(--body);color:var(--text);background:var(--stage);border:1px solid var(--line);border-radius:4px}
.fgrid textarea{min-height:120px}
.fgrid input:focus,.fgrid select:focus,.fgrid textarea:focus{border-color:var(--accent)}

/* brand logos in page heroes */
.brand-logo{display:block;align-self:flex-start;height:auto;width:min(100%,460px);background:none;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}
.brand-logo.light{}
.brand-logo.logo-co{width:min(60%,230px)}
.brand-logo.logo-review{width:min(100%,520px)}
.brand-logo.logo-dj{width:min(100%,520px)}
@media(max-width:600px){.brand-logo{width:min(100%,340px)}.brand-logo.logo-co{width:150px}}
@media(max-width:1099px){.site-head .brand{flex:1 1 auto}}
@media(max-width:1099px){.site-head .wrap{gap:8px 12px;flex-wrap:wrap}.brand{font-size:22px}}

/* reservation form */
.rf{display:grid;gap:28px}
.rf section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;background:var(--stage);border:1px solid var(--line);border-radius:6px}
.rf section>h2{grid-column:1/-1;font:400 1.7rem/1 var(--display);text-transform:uppercase;color:var(--accent)}
.rf .full{grid-column:1/-1}
.rf .hint{grid-column:1/-1;color:var(--muted);font-size:14px}
@media(max-width:600px){.rf section{grid-template-columns:minmax(0,1fr);padding:16px}}
.rf .opt{display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--ink);border:1px solid var(--line);border-radius:4px;min-width:0}
.rf .opt b{font:700 16px/1.25 var(--body)}
.rf .opt .pr{color:var(--accent);font-weight:700}
.rf .yn{display:flex;flex-wrap:wrap;gap:8px}
.rf .yn label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:4px;cursor:pointer;font:400 15px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--text)}
.rf .yn input{width:18px;height:18px;min-height:0;accent-color:var(--accent)}
.rf .yn label:has(input:checked){border-color:var(--accent);background:var(--raise)}
.rf .opt input[type=number],.rf .opt input[type=text]{min-height:44px}
.rf fieldset.opt{margin:0}
.rf legend{padding:0;font:700 16px/1.25 var(--body);letter-spacing:0;text-transform:none;color:var(--text)}
.genres{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}
.genres label{display:flex;gap:10px;align-items:flex-start;padding:12px;background:var(--ink);border:1px solid var(--line);border-radius:4px;cursor:pointer;font:700 15px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--text)}
.genres label small{display:block;margin-top:4px;font:400 12px/1.35 var(--body);color:var(--muted)}
.genres input{width:18px;height:18px;min-height:0;margin-top:1px;flex:none;accent-color:var(--accent)}
.genres label:has(input:checked){border-color:var(--accent);background:var(--raise)}
.est{position:sticky;top:76px;z-index:20;padding:16px 18px;background:var(--stage);border:1px solid var(--accent);border-radius:6px;display:grid;gap:6px}
.est b{font:400 2rem/1 var(--display);color:var(--text)}
.est ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px;display:grid;gap:2px}
.est small{color:var(--muted)}
.info details{border-top:1px solid var(--line);padding:6px 0}
.info summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:400 1.4rem/1 var(--display);text-transform:uppercase}
.info details p,.info details li{color:var(--muted);margin:0 0 10px}
.info details ul{padding-left:20px}
@media(max-width:700px){.est{padding:10px 14px;grid-auto-flow:column;justify-content:space-between;align-items:center;top:64px}.est ul,.est small{display:none}.est b{font-size:1.6rem}}


/* ===== editorial system: midnight, ivory, muted gold ===== */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 18px;background:var(--ivory);color:var(--ink);font:700 14px/1 var(--body);border-radius:4px;text-decoration:none}
.skip:focus{top:12px}
.eyebrow{display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";flex:none;width:40px;height:7px;border-top:2px solid var(--accent);border-bottom:2px solid var(--text)}
.band.ivory{--text:#101010;--muted:#5a564e;--stage:#ffffff;--raise:#ebe6db;--line:#d6cfc0;--ink:#f5f2ec;background:var(--ivory);color:var(--text)}
.band.ivory .btn.ghost{color:#101010}
.band.ivory .btn.ghost:hover{color:#101010}
.band.ivory a{color:#101010}
.band.ivory .eyebrow{color:#7a6238}
.band.ivory .eyebrow::before{border-top-color:#7a6238;border-bottom-color:#101010}
.band.ivory .card,.band.ivory .step,.band.ivory .lcard{background:#fff}
.hd-cta{min-height:44px;padding:0 18px;white-space:nowrap}
.hd-cta .s{display:none}
.site-head .wrap{align-items:center}
.site-head .right{display:flex;align-items:center;gap:10px}
@media(min-width:1100px){.site-head .wrap{flex-wrap:nowrap}.site-head nav{margin-left:auto}.site-head .right{order:3}}
@media(max-width:1099px){.site-head .wrap{flex-wrap:wrap}.hd-cta{padding:0 14px}.hd-cta .l{display:none}.hd-cta .s{display:inline}.site-head .right{margin-left:auto}.site-head .brand{flex:0 1 auto;font-size:20px}}
.site-foot{background:var(--stage);padding-block:48px 28px;margin-top:0}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px 40px}
.fcols h2{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fcols a{display:inline-block;padding:7px 0;color:var(--muted);text-decoration:none;font-size:15px}
.fcols a:hover{color:var(--text)}
.fbase{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
/* brand tiles: editorial */
.bt p{max-width:30ch}
.bt .k{font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--c);margin-bottom:8px;display:block}
/* project / work cards */
.work{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.wc{display:flex;flex-direction:column;background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.wc .im{aspect-ratio:4/3;background:var(--raise);display:grid;place-items:center;color:var(--muted)}
.wc .im img{width:100%;height:100%;object-fit:cover}
.wc .bd{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px}
.wc h3{font:400 1.5rem/1.05 var(--display);text-transform:uppercase}
.wc p{color:var(--muted);font-size:15px}
/* faq */
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 17px/1.3 var(--body);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px/1 var(--body);color:var(--accent);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);padding:0 0 18px;max-width:70ch}
/* inquiry routing cards */
.route{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px}
.route label{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--stage);cursor:pointer;font:700 16px/1.25 var(--body);letter-spacing:0;text-transform:none;color:var(--text)}
.route label small{font:400 13px/1.35 var(--body);color:var(--muted)}
.route input{position:absolute;opacity:0;pointer-events:none}
.route label:has(input:checked){border-color:var(--accent);background:var(--raise);box-shadow:inset 0 0 0 1px var(--accent)}
.route label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.chip.st{border-color:var(--accent);color:var(--text)}
.chip.st.done{opacity:.7;border-style:dashed}
.pull{font:400 clamp(1.8rem,4.5vw,3rem)/1.1 var(--display);text-transform:uppercase;max-width:22ch}
.kicker{font:700 12px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.route label{position:relative}.route input{left:0;top:0}
.brand{white-space:nowrap}.nav{flex-wrap:nowrap}.nav a,.sub-btn{white-space:nowrap}@media(min-width:1100px) and (max-width:1250px){.nav{gap:0 14px}.nav a,.sub-btn{font-size:12px;letter-spacing:.05em}}

.vplay{aspect-ratio:auto;max-height:520px;background:#000}.vplay video{width:100%;max-height:520px;object-fit:contain;display:block}

.topbar{background:#0b0b0b;border-bottom:1px solid var(--line);font:400 13px/1 var(--body)}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;padding-block:9px}
.topbar a{color:var(--muted);text-decoration:none;padding:6px 0}.topbar a:hover,.topbar a:focus-visible{color:var(--text);text-decoration:underline}
.likebar{background:var(--raise);border-top:1px solid var(--line);padding-block:22px}
.likebar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px}
.likebar p{margin:0}
.like-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;font:700 15px/1 var(--body);color:var(--text);background:transparent;border:2px solid var(--accent);border-radius:999px;cursor:pointer}
.like-btn:hover,.like-btn:focus-visible{background:rgba(183,154,106,.15)}
.like-btn.on{background:var(--accent);color:var(--ink)}
.like-btn .heart{font-size:20px;line-height:1}
.like-count{padding-left:10px;border-left:1px solid currentColor;font-variant-numeric:tabular-nums}
.like-note{min-width:12ch}
.copyright{max-width:70ch}
.field input[type=range]{padding:0;min-height:32px;accent-color:var(--accent);background:none;border:0}
.scale{display:flex;justify-content:space-between;font:400 12px/1 var(--mono);color:var(--muted)}
.rate{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.rate .check{min-height:42px;padding:0 14px}

.hd-acct{color:var(--muted);font:700 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:10px 4px;margin-right:6px}
.hd-acct:hover,.hd-acct:focus-visible{color:var(--text);text-decoration:underline}
@media(max-width:1100px){.hd-acct{display:none}}
.acct-top{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.acct-balance{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:24px;background:var(--raise);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px}
.acct-balance .k{font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.acct-balance b{font:400 clamp(2.4rem,7vw,3.6rem)/1 var(--display);color:var(--text);font-variant-numeric:tabular-nums}
.tbl-wrap{overflow-x:auto}
.acct-table{width:100%;border-collapse:collapse;font-size:15px}
.acct-table th,.acct-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.acct-table th{font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acct-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

.tagline{margin:0;font:400 1.35rem/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
