:root{--yellow:#ffd400}

/* A tighter rhythm keeps the page moving without sections running together. */
.section{padding:82px 0}
.intro-grid{gap:55px}
.perks{margin-top:48px}
.section-heading{margin-bottom:36px}

.promo.section{padding:52px 0;background:#fff8df;overflow:hidden}
.promo-label{margin:0 0 18px;text-align:center;color:var(--red);font:900 14px Montserrat;text-transform:uppercase;letter-spacing:.18em}
.promo-ticket{position:relative;min-height:285px;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-left:68px;padding:34px 46px 34px 310px;color:#fff;background:linear-gradient(135deg,#f02c30,#d80f1e);border-radius:27px;box-shadow:0 22px 55px rgba(157,15,24,.25);isolation:isolate}
.promo-ticket:before,.promo-ticket:after{content:"";position:absolute;z-index:3;top:50%;width:42px;height:84px;background:#fff8df;transform:translateY(-50%)}
.promo-ticket:before{left:-1px;border-radius:0 42px 42px 0}
.promo-ticket:after{right:-1px;border-radius:42px 0 0 42px}
.promo-ticket-intro,.promo-ticket-prize{position:relative;z-index:2;min-width:0;text-align:center;text-transform:uppercase}
.promo-ticket-intro{padding:20px 38px 20px 10px;border-right:2px dashed rgba(255,255,255,.65)}
.promo-ticket-intro span,.promo-ticket-prize span{display:block;margin-bottom:4px;color:#fff2a5;font:800 14px Montserrat;letter-spacing:.08em}
.promo-ticket-intro strong{display:block;color:var(--yellow);font:900 clamp(42px,5vw,66px)/.95 Montserrat}
.promo-ticket-intro small{font:800 16px Montserrat;letter-spacing:.12em}
.promo-ticket-prize{padding:18px 22px 18px 42px}
.promo-ticket-prize strong{display:block;font:900 clamp(31px,4vw,54px)/.95 Montserrat;letter-spacing:-.04em}
.promo-ticket-prize strong b{color:var(--yellow);font:inherit}
.promo-crocodile{position:absolute;z-index:4;left:-104px;bottom:-32px;width:450px;height:330px;object-fit:contain;filter:drop-shadow(0 17px 14px rgba(39,5,8,.35));pointer-events:none}
.promo-details{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:start;margin:22px 85px 0;padding:24px 30px;border:1px solid #eadfbd;border-radius:20px;background:#fff}
.promo-details>p{margin:0;color:#49564f;font-size:16px}
.promo-details details{border-left:1px solid #e4dcc5;padding-left:35px}
.promo-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;font:900 16px Montserrat;text-transform:uppercase}
.promo-details summary::-webkit-details-marker{display:none}
.promo-details summary span{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--red);font-size:24px;transition:.25s}
.promo-details details[open] summary span{transform:rotate(45deg)}
.promo-details ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;margin:22px 0 0;padding:0;list-style:none}
.promo-details li{position:relative;padding-left:21px;font-size:14px;line-height:1.35}
.promo-details li:before{content:"✓";position:absolute;left:0;color:var(--forest);font-weight:900}

@media(max-width:960px){
  .section{padding:68px 0}
  .promo-ticket{margin-left:25px;padding-left:250px}
  .promo-crocodile{left:-80px;width:360px}
  .promo-details{margin-inline:30px;grid-template-columns:1fr}
  .promo-details details{border-left:0;border-top:1px solid #e4dcc5;padding:20px 0 0}
}

@media(max-width:640px){
  .section{padding:54px 0}
  .intro-grid{gap:24px}
  .perks{margin-top:30px}
  .promo.section{padding:34px 0}
  .promo-label{text-align:left;margin-left:4px}
  .promo-ticket{min-height:510px;display:block;margin:0;padding:245px 24px 36px;border-radius:24px}
  .promo-ticket:before,.promo-ticket:after{top:62%;width:26px;height:52px}
  .promo-crocodile{left:50%;top:-35px;bottom:auto;width:350px;height:300px;transform:translateX(-50%)}
  .promo-ticket-intro{padding:15px 0 24px;border-right:0;border-bottom:2px dashed rgba(255,255,255,.65)}
  .promo-ticket-intro strong{font-size:50px}
  .promo-ticket-prize{padding:25px 0 5px}
  .promo-ticket-prize strong{font-size:39px}
  .promo-details{display:block;margin:14px 0 0;padding:21px 20px}
  .promo-details details{margin-top:19px}
  .promo-details ul{grid-template-columns:1fr}
}
