/*
Theme Name: Greg Oleksevic
Theme URI: https://ra.co/dj/gregoleksevic
Author: Custom
Description: Black, red and white artist site for Greg Oleksevic.
Version: 3.6.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: greg-oleksevic
*/
:root{--bg:#080808;--panel:#151515;--ink:#f7f5f2;--muted:#b0ada9;--line:#373331;--accent:#e52b2f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{color:#ff5558}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(1280px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:20px;background:var(--accent);color:#fff;padding:10px;z-index:10}.mast{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:20px 0}.nav{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;text-transform:uppercase;letter-spacing:.1em}
h1,h2,h3,p{margin-top:0}.eyebrow,.kicker{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.hero{min-height:600px;display:flex;flex-direction:column;justify-content:space-between;padding:60px 0 44px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:end;gap:24px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(4.2rem,9.2vw,9rem);line-height:.86;letter-spacing:-.08em;text-transform:uppercase;margin:65px -20% 20px 0}.hero h1 span{display:block}.hero h1 span:last-child{color:var(--accent)}.hero-photo{margin:0;height:min(480px,43vw);min-height:320px;overflow:hidden;background:var(--panel)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% center;filter:contrast(1.04)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-top:28px}.hero-bottom p{max-width:460px;font-size:clamp(18px,2vw,24px);line-height:1.35;margin:0}.hero-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.hero-links a,.button{border-bottom:1px solid var(--accent);padding-bottom:5px}
.section{padding:95px 0;border-bottom:1px solid var(--line);scroll-margin-top:32px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:36px}.section-head h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.95;letter-spacing:-.065em;text-transform:uppercase;margin:0}.section-body{margin-left:33.33%;max-width:780px}.lead{font-size:clamp(21px,2.7vw,32px);line-height:1.35;letter-spacing:-.025em}.muted{color:var(--muted)}.about-photo{width:190px;aspect-ratio:1;margin:38px 0 0}.about-photo img,.live-photo img{width:100%;height:100%;object-fit:cover}.about-photo img{filter:contrast(1.04)}.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:165px 1fr auto;align-items:start;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.row strong{font-size:20px;line-height:1.2}.row small{display:block;color:var(--muted);margin-top:5px;font-size:14px}.row time,.row .tag{color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.row .end{font-size:13px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.row.recent{background:linear-gradient(90deg,rgba(229,43,47,.13),transparent 75%);padding-left:14px;border-left:3px solid var(--accent)}.archive-link,.channel-link{margin-top:28px}.video-feature{margin-top:48px}.video-heading h3{font-size:clamp(26px,3.5vw,44px);letter-spacing:-.05em;line-height:1.1;margin:12px 0 23px}.video-frame{width:100%;aspect-ratio:16/9;background:#161616}.video-frame iframe{width:100%;height:100%;border:0}.video-feature p{margin:14px 0 0;text-align:right;color:var(--accent)}.feature{background:var(--panel);padding:32px;border-left:2px solid var(--accent);margin-bottom:20px}.feature h3{font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;line-height:1.1;margin:14px 0}.feature p{max-width:650px}.feature a{color:var(--accent);border-bottom:1px solid currentColor}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);padding:28px;min-height:230px}.card h3{font-size:25px;letter-spacing:-.03em}.card p{color:var(--muted)}.live-photo{margin:18px 0 0;width:225px;aspect-ratio:1}.footer{padding:44px 0 65px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.empty{padding:28px 0;color:var(--muted)}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr 42%}.hero h1{font-size:clamp(4rem,10vw,7rem)}.hero-bottom{align-items:start;flex-direction:column}}@media(max-width:760px){.wrap{width:min(100% - 36px,1280px)}.mast{align-items:start;flex-direction:column}.nav{gap:12px 18px}.hero{min-height:0;padding:42px 0 35px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:20px}.hero h1{font-size:clamp(3.3rem,13.4vw,6rem);margin:42px 0 0;overflow-wrap:anywhere}.hero-photo{height:55vw;min-height:220px}.hero-bottom{padding-top:22px}.section{padding:64px 0}.section-head{display:block}.section-head h2{margin-top:16px}.section-body{margin-left:0}.row{grid-template-columns:95px minmax(0,1fr);gap:12px}.row .end{grid-column:2}.cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-photo,.about-photo,.live-photo{position:relative;isolation:isolate}.hero-photo::after,.about-photo::after,.live-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,0) 55%,rgba(200,0,8,.13) 100%)}

/* Full width photo panels with copy over the images. */
#main{width:100%}#main>.section{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.photo-section{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:620px;border-bottom:1px solid var(--line);scroll-margin-top:0;background:#080808}
.photo-section>.panel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.67) 35%,rgba(0,0,0,.2) 74%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%)}
.photo-section .photo-content{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding-top:88px;padding-bottom:72px}
.photo-section .panel-copy{max-width:650px}.photo-section h2{font-size:clamp(3.3rem,7vw,7.5rem);line-height:.94;letter-spacing:-.075em;text-transform:uppercase;margin:16px 0 32px;text-shadow:0 2px 24px #000}
.photo-section .kicker{color:#ff5b5d}.photo-section .lead{font-size:clamp(19px,2.4vw,29px);line-height:1.38}.photo-section p{color:#f5f2f0;text-shadow:0 2px 12px #000}
.hero{min-height:min(880px,calc(100svh - 72px));padding:0}.hero>.panel-image{object-position:center 33%}.hero::before{background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.55) 35%,rgba(0,0,0,.1) 80%),linear-gradient(90deg,rgba(0,0,0,.5),transparent 75%)}.hero .hero-content{min-height:min(880px,calc(100svh - 72px));justify-content:space-between;padding-top:54px;padding-bottom:48px}.hero h1{font-size:clamp(4rem,10vw,10.5rem);line-height:.82;letter-spacing:-.085em;margin:0 0 30px;max-width:100%;text-shadow:0 3px 24px rgba(0,0,0,.8)}.hero h1 span:last-child{color:#f7f5f2}.hero .eyebrow{color:#ff5558;font-size:15px}.hero-bottom{padding-top:0}.hero-bottom p{color:#fff}.hero-links a{border-color:var(--accent)}
.about-panel{min-height:740px}.about-panel>.panel-image{object-position:60% 30%}.about-panel::before{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 32%,rgba(0,0,0,.12) 80%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 70%)}
.studio-panel{min-height:740px}.studio-panel>.panel-image{object-position:38% 35%}.studio-panel::before{background:linear-gradient(270deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.77) 40%,rgba(0,0,0,.13) 85%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 70%)}.studio-panel .panel-copy{max-width:760px;margin-left:auto}.studio-panel .cards{margin-top:36px}.studio-panel .card{background:rgba(0,0,0,.7);border-color:rgba(255,255,255,.2);backdrop-filter:blur(5px);min-height:0}.studio-panel .card p{color:#f2efed}
@media(max-width:760px){#main>.section{width:min(100% - 36px,1280px)}.photo-section{min-height:0}.photo-section .photo-content{min-height:650px;padding-top:55px;padding-bottom:42px}.photo-section h2{font-size:clamp(3rem,12vw,5rem)}.hero,.hero .hero-content{min-height:min(750px,calc(100svh - 100px))}.hero .hero-content{padding-top:35px;padding-bottom:32px}.hero>.panel-image{object-position:53% 30%}.hero h1{font-size:clamp(3.4rem,12.7vw,6rem);margin:0 0 20px;overflow-wrap:anywhere}.hero-bottom{gap:20px}.hero-links{gap:12px 18px}.about-panel .photo-content{min-height:720px}.about-panel>.panel-image{object-position:59% center}.about-panel::before{background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.55) 55%,rgba(0,0,0,.15))}.studio-panel .photo-content{min-height:900px}.studio-panel>.panel-image{object-position:39% center}.studio-panel::before{background:linear-gradient(0deg,rgba(0,0,0,.96),rgba(0,0,0,.7) 67%,rgba(0,0,0,.18))}.studio-panel .cards{grid-template-columns:1fr}.studio-panel .card{padding:18px}.studio-panel .card h3{font-size:21px}.photo-section .lead{font-size:19px}}
@media(max-width:420px){.hero h1{font-size:12vw}.hero .hero-content{min-height:650px}.studio-panel .photo-content{min-height:1050px}}

.bio-details .section-body{max-width:840px}.bio-entry{border-top:1px solid var(--line);padding:28px 0 30px}.bio-entry h3{font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.15;letter-spacing:-.03em;margin-bottom:14px}.bio-entry p{font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:14px;max-width:72ch}.bio-entry p:last-child{margin-bottom:0}
.upcoming-section .section-body{margin-left:0;max-width:none}.upcoming-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upcoming-card{min-height:220px;padding:28px 25px;display:flex;flex-direction:column;background:linear-gradient(145deg,#211013 0%,#141112 45%,#0d0d0d 100%);border:1px solid #453033;border-top:3px solid var(--accent)}.upcoming-card time,.upcoming-tba{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ff7578}.upcoming-card h3{font-size:clamp(21px,2.3vw,32px);line-height:1.13;letter-spacing:-.035em;margin:12px 0 6px;overflow-wrap:anywhere}.upcoming-card p{font-size:15px;color:#c7bfbc;margin-bottom:18px}.upcoming-link{margin-top:auto;padding-top:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.upcoming-link a{color:#ff7578;border-bottom:1px solid currentColor;padding-bottom:4px}.upcoming-card-empty{border-top-color:#675155;background:linear-gradient(145deg,#171113,#0c0c0c);color:#b6aeac}.upcoming-card-empty h3{font-size:clamp(18px,2vw,24px);font-weight:400}
@media(max-width:760px){.upcoming-container{grid-template-columns:1fr}.upcoming-card{min-height:180px}}
@media(max-width:760px){.bio-entry p{font-size:16px;line-height:1.6}}

.link-list{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.link-list .link-item{display:flex;align-items:center;min-height:70px;padding:17px 4px;border-bottom:1px solid var(--line);font-size:clamp(16px,1.5vw,20px);font-weight:700;letter-spacing:-.015em}.link-list .link-item:hover,.link-list .link-item:focus-visible{color:#ff5558;border-bottom-color:var(--accent)}
@media(max-width:760px){.link-list{grid-template-columns:1fr}.link-list .link-item{min-height:62px}}

.music-panel,.music-panel .photo-content{min-height:610px}.music-panel>.panel-image{object-position:center 31%}.music-panel::before{background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.44) 55%,rgba(0,0,0,.09) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 70%)}.music-panel .panel-copy{max-width:900px}.music-panel h2{margin-bottom:0}.music-content .section-body{max-width:840px;margin-left:auto}
@media(max-width:760px){.music-panel,.music-panel .photo-content{min-height:570px}.music-panel>.panel-image{object-position:center 33%}.music-panel::before{background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.35) 75%,rgba(0,0,0,.12))}.music-content .section-body{margin-left:0}}

.about-text .section-body{max-width:800px}.about-text .section-body>.muted{font-size:18px;line-height:1.6}
.story-panel,.story-panel .photo-content{min-height:720px}.story-panel>.panel-image{object-position:center 34%}.story-panel::before{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.25) 66%,transparent),linear-gradient(0deg,rgba(0,0,0,.72),transparent 70%)}.story-panel .panel-copy{max-width:850px}
.studio-panel .session-note{margin:20px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-size:16px;line-height:1.55}.studio-panel .session-note a{display:inline;color:#ff7476;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere}.studio-panel .session-note a:hover,.studio-panel .session-note a:focus-visible{color:#fff}
@media(max-width:760px){.story-panel,.story-panel .photo-content{min-height:650px}.story-panel>.panel-image{object-position:58% center}.story-panel::before{background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.25) 70%,rgba(0,0,0,.08))}.about-text .section-body>.muted{font-size:16px}.studio-panel .photo-content{min-height:980px}}
@media(max-width:420px){.studio-panel .photo-content{min-height:1150px}}


.brand{display:inline-flex;align-items:center;flex:none;line-height:1}.brand-logo{display:block;width:265px;height:auto;max-width:100%}
@media(max-width:760px){.brand-logo{width:225px;height:auto}}

/* Past events on the supplied stage photo. */
.archive-panel{min-height:850px}.archive-panel>.panel-image{object-position:center 37%}
.archive-panel::before{background:linear-gradient(90deg,rgba(0,0,0,.87) 0%,rgba(0,0,0,.72) 37%,rgba(0,0,0,.44) 100%),linear-gradient(0deg,rgba(0,0,0,.89),transparent 65%)}
.archive-panel .photo-content{display:block;min-height:0;padding-top:90px;padding-bottom:90px}
.archive-panel .section-head h2{font-size:clamp(3.3rem,7vw,7.5rem);line-height:.94;letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 2px 24px #000}
.archive-panel .section-body>.muted{color:#f0ece9}
.archive-panel .rows{border-color:rgba(255,255,255,.28)}
.archive-panel .row{padding:20px 16px;background:rgba(0,0,0,.58);border-color:rgba(255,255,255,.25);backdrop-filter:blur(2px)}
.archive-panel .row.recent{background:linear-gradient(90deg,rgba(180,22,28,.62),rgba(0,0,0,.66) 65%);border-left:3px solid var(--accent)}
.archive-panel .row small{color:#e6dfdb}.archive-panel .row time{color:#ff7476}
.archive-panel .video-feature{padding:22px;background:rgba(0,0,0,.67);border:1px solid rgba(255,255,255,.2)}
.archive-panel .video-heading h3{text-shadow:0 2px 16px #000}
@media(max-width:760px){.archive-panel .photo-content{min-height:0;padding-top:65px;padding-bottom:60px}.archive-panel .section-body{margin-left:0}.archive-panel .section-head h2{font-size:clamp(3rem,12vw,5rem)}.archive-panel>.panel-image{object-position:56% center}.archive-panel::before{background:linear-gradient(0deg,rgba(0,0,0,.93),rgba(0,0,0,.62) 70%,rgba(0,0,0,.35))}.archive-panel .row{padding:16px 10px}.archive-panel .video-feature{padding:12px}}

/* Fixed navigation */
.mast {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(8, 8, 8, 0.96);
    padding: 16px 32px;
}

body {
    padding-top: 76px;
}

/* Instagram tiles */
.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.instagram-tile {
  display: block;
  min-width: 0;
  border: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  background: #080808;
  transition: border-color .2s ease, transform .2s ease;
}
.instagram-tile:hover {
  border-color: #e53935;
  transform: translateY(-3px);
}
.instagram-tile img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.instagram-tile > span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  font-size: .95rem;
  font-weight: 600;
}
.instagram-tile > span span {
  color: #e53935;
}
@media (max-width: 760px) {
  .instagram-grid {
    grid-template-columns: 1fr;
  }
  .instagram-tile img {
    aspect-ratio: 16 / 9;
  }
}

/* Compact Instagram tiles */
.instagram-grid {
  grid-template-columns: repeat(3, minmax(0, 180px));
  gap: 12px;
}
.instagram-tile img {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
}
.instagram-tile > span {
  padding: 10px;
  font-size: 0.8rem;
}
@media (max-width: 760px) {
  .instagram-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .instagram-tile img {
    aspect-ratio: 1 / 1;
  }
  .instagram-tile > span {
    padding: 8px 5px;
    font-size: 0.7rem;
  }
}
