/* =========================================================
   BODRUM 2025 — pink illustrated identity (original slider rebuilt)
   ========================================================= */
.page-b25{background:var(--cream)}

/* ============ hero ============ */
.b25-hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
  background:radial-gradient(90% 70% at 50% 45%,#f28ba0 0%,var(--pink) 55%,#e76d87 100%);padding:130px var(--gutter) 100px}
.b25-hero-inner{position:relative;z-index:5;max-width:860px}
/* background video, tinted with the brand pink so the identity stays */
.b25-video{position:absolute;inset:0;z-index:0;isolation:isolate;overflow:hidden}
.b25-video video{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(1.45)}
.b25-tint{position:absolute;inset:0;background:var(--pink);mix-blend-mode:multiply}
.b25-video::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 50%,rgba(237,121,144,.55),rgba(237,121,144,0) 75%),
  linear-gradient(rgba(107,20,40,.25),rgba(107,20,40,0) 30%,rgba(107,20,40,0) 70%,rgba(107,20,40,.35))}
.b25-kicker{display:inline-block;padding:8px 18px;border-radius:999px;background:var(--ink);color:var(--cream);
  font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.b25-tiesto{width:min(62vw,402px);height:auto;margin:26px auto 4px;filter:drop-shadow(0 16px 26px rgba(107,20,40,.35));
  animation:tiestoIn 1s var(--ease) .3s both}
@keyframes tiestoIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.b25-date{font-family:var(--font-display);font-weight:800;font-size:clamp(1.05rem,2.4vw,1.7rem);color:#fff;letter-spacing:.04em;
  margin-top:14px;animation:tiestoIn .7s var(--ease) 1.2s both}
.b25-date .hash{color:#ffd6e0}
.b25-title{margin:26px auto 10px;max-width:18ch;font-size:clamp(1.7rem,4vw,3rem);color:#fff;text-shadow:0 4px 24px rgba(60,10,25,.45)}
.b25-sub{max-width:46ch;margin:0 auto;color:rgba(255,255,255,.92);font-weight:600;text-shadow:0 2px 14px rgba(60,10,25,.5)}
.b25-actions{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:tiestoIn .7s var(--ease) 1.5s both}

/* ============ details ============ */
.b25-details{position:relative;z-index:6;margin-top:-54px}
.details-row{display:grid;grid-template-columns:repeat(4,1fr);border-radius:26px;overflow:hidden;background:var(--ink);color:var(--cream);box-shadow:var(--shadow)}
.detail{padding:24px 26px;border-right:1px solid rgba(255,255,255,.1)}
.detail:last-child{border-right:0}
.detail small{display:block;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--pink);margin-bottom:6px}
.detail b{font-family:var(--font-display);font-weight:700;font-size:1.02rem;line-height:1.3}

/* ============ story ============ */
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,6vw,90px);align-items:center}
.story-visual{position:relative;padding:30px}
.blob-frame{position:relative;z-index:2;aspect-ratio:1;overflow:hidden;background:#e9d5bd;
  border-radius:42% 58% 62% 38%/44% 45% 55% 56%;animation:morph 14s ease-in-out infinite;box-shadow:var(--shadow)}
.blob-frame img{width:100%;height:100%;object-fit:cover;object-position:19% 0}
@keyframes morph{0%,100%{border-radius:42% 58% 62% 38%/44% 45% 55% 56%}33%{border-radius:60% 40% 44% 56%/56% 40% 60% 44%}66%{border-radius:38% 62% 55% 45%/42% 58% 42% 58%}}
.story-shape{position:absolute;z-index:3;pointer-events:none}
.story-shape.s1{right:-10px;top:-20px;width:26%;animation:hsBob10 6s ease-in-out infinite alternate}
.story-shape.s2{left:-6px;bottom:-30px;width:20%;transform-origin:50% 100%;animation:hsSwing 7s ease-in-out infinite alternate}
.story-copy p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:14px;max-width:56ch}

/* ============ line-up ============ */
.b25-lineup{background:var(--pink);overflow:hidden}
.lineup-shapes{position:absolute;inset:0 0 auto;width:100%;height:clamp(160px,26vw,380px);object-fit:cover;object-position:top}
.b25-lineup .wrap{position:relative}
.b25-lineup .sec-head{padding-top:clamp(70px,12vw,170px)}
.b25-lineup .eyebrow{color:var(--ink)}
.b25-lineup .sec-title{color:#fff;text-shadow:0 6px 0 rgba(107,20,40,.22)}
.b25-lineup .lead{color:var(--ink)}
.artist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,56px) clamp(24px,3vw,44px)}
.artist{position:relative}
.artist-card{position:relative;z-index:3;border-radius:22px;overflow:hidden;box-shadow:0 26px 40px -22px rgba(60,10,25,.6);
  transition:transform .55s var(--ease);cursor:zoom-in}
.artist-card img{width:100%;aspect-ratio:1;object-fit:cover}
.disc{position:absolute;z-index:1;top:0;right:8%;width:78%;aspect-ratio:1;border-radius:50%;
  background:url("../assets/deco/disc.png") center/contain no-repeat;transition:right .6s var(--ease)}
.artist:hover .disc{right:-26%}
.artist:hover .disc{animation:spin 2.6s linear infinite}
.artist:hover .artist-card{transform:translateX(-10px) rotate(-1.5deg)}
@keyframes spin{to{transform:rotate(360deg)}}
.artist-info{display:flex;flex-direction:column;margin-top:16px}
.artist-info .stage{font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.artist-info .name{font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:#fff}
.artist.headliner .name{font-size:2rem}

/* ============ banner ============ */
.b25-banner{background:var(--pink);padding:0 var(--gutter) clamp(80px,10vw,130px)}
.b25-banner img{width:min(100%,1400px);margin-inline:auto;border-radius:30px;box-shadow:var(--shadow)}

/* ============ prev → 2023 ============ */
.b25-prev{background:var(--cream)}
.prev-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;overflow:hidden;isolation:isolate;
  padding:clamp(26px,4vw,50px);border-radius:36px;background:var(--forest-deep);color:#f2e2bd;transition:transform .5s var(--ease)}
.prev-card:hover{transform:translateY(-6px)}
.prev-forest{position:absolute;inset:-60px;z-index:-1;background-size:cover;background-position:center;filter:blur(26px) brightness(.45)}
.prev-poster{width:clamp(150px,18vw,240px);border-radius:14px;border:5px solid #f2e2bd;transform:rotate(3deg);box-shadow:0 30px 50px -24px #000}
.prev-year{font-family:"Alegreya SC",serif;font-weight:800;font-size:clamp(2.4rem,5vw,4rem);color:var(--gold);line-height:1}
.prev-copy h2{font-family:"Alegreya SC",serif;font-size:clamp(1.6rem,3.2vw,2.6rem);margin:6px 0 10px}
.prev-copy p{margin-bottom:20px;max-width:46ch;opacity:.85}

/* ============ responsive ============ */
@media (max-width:980px){
  .details-row{grid-template-columns:repeat(2,1fr)}
  .detail:nth-child(2){border-right:0}
  .detail:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .story-grid{grid-template-columns:1fr}
  .artist-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .details-row{grid-template-columns:1fr}
  .detail{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .artist-grid{grid-template-columns:1fr;max-width:340px;margin-inline:auto}
  .prev-card{grid-template-columns:1fr;text-align:center}
  .prev-poster{margin-inline:auto}
}

html[dir="rtl"] .prev-copy h2,html[dir="rtl"] .prev-year{font-family:"Cairo","Alegreya SC",serif}
