.tickets-page{
  padding:20px 0 16px;
  color:var(--navy);
  background:#fff;
}
.tickets-hero,
.tickets-section{
  width:min(1600px,calc(100% - 48px));
  margin-left:auto;
  margin-right:auto;
}
.tickets-hero{
  min-height:460px;
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:#f6faff url(../images/hero-butterfly-v2.png) center 58%/cover no-repeat;
}
.tickets-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 36%,rgba(255,255,255,.1) 67%);
}
.tickets-hero-copy{
  width:600px;
  position:relative;
  z-index:2;
  padding:74px 0 64px 6.5%;
}
.tickets-kicker{
  width:max-content;
  padding:9px 14px;
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:18px;
  background:#edf4ff;
  color:#306ebf;
  font-size:12px;
  font-weight:700;
}
.tickets-kicker .ti{width:17px;height:17px}
.tickets-hero h1{
  margin:20px 0 17px;
  font-size:56px;
  line-height:1.04;
  letter-spacing:-2.2px;
}
.tickets-hero-copy>p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
.tickets-hero-actions{
  margin-top:26px;
  display:flex;
  gap:14px;
}
.tickets-hero-actions a{
  min-height:54px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #dbe5f1;
  border-radius:14px;
  background:#fff;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.tickets-hero-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,43,73,.12)}
.tickets-hero-actions .tickets-primary{border-color:var(--blue);background:var(--blue);color:#fff}
.tickets-hero-actions .tickets-primary:hover{background:#1769e8}
.tickets-hero-actions .ti{width:19px;height:19px}

.tickets-section{margin-top:58px}
.tickets-section-heading{
  margin-bottom:24px;
  display:flex;
  align-items:center;
  gap:15px;
}
.tickets-section-heading>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf3ff;
  color:var(--blue);
  font-size:13px;
  font-weight:800;
}
.tickets-section-heading h2{
  margin:0;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.8px;
}
.tickets-section-heading p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
}
.ticket-price-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.ticket-price-card{
  min-height:226px;
  position:relative;
  padding:25px;
  display:grid;
  grid-template-columns:58px 1fr;
  grid-template-rows:auto 1fr auto;
  gap:8px 16px;
  overflow:hidden;
  border:1px solid #e4ebf3;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f3f7ff);
}
.ticket-price-card:after{
  content:"";
  width:120px;
  height:120px;
  position:absolute;
  right:-38px;
  bottom:-48px;
  border:24px solid rgba(41,120,242,.04);
  border-radius:50%;
}
.ticket-price-card.child{background:linear-gradient(145deg,#fff,#f2f9ef)}
.ticket-price-card.discount{background:linear-gradient(145deg,#fff,#f8f2ff)}
.ticket-price-card.ubd{background:linear-gradient(145deg,#fff,#fff6ec)}
.ticket-price-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf3ff;
  color:var(--blue);
}
.child .ticket-price-icon{background:#eef8e9;color:#58a63f}
.discount .ticket-price-icon{background:#f4ecff;color:#9258db}
.ubd .ticket-price-icon{background:#fff0df;color:#e88923}
.ticket-price-icon .ti{width:28px;height:28px}
.ticket-price-name{align-self:center}
.ticket-price-name h3{margin:0;font-size:17px}
.ticket-price-name small{display:block;margin-top:4px;color:#65758a;font-size:12px}
.ticket-price{
  grid-column:2;
  align-self:end;
  display:flex;
  align-items:baseline;
  gap:6px;
}
.ticket-price strong{font-size:43px;line-height:1;font-weight:800;letter-spacing:-1.5px}
.ticket-price span{font-size:13px;font-weight:700}
.ticket-price-card>p{
  grid-column:2;
  min-height:28px;
  margin:2px 0 0;
  color:#6c788a;
  font-size:10px;
  line-height:1.4;
}
.ticket-proof-note{
  margin:18px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#66758a;
  font-size:12px;
  text-align:center;
}
.ticket-proof-note .ti{width:18px;height:18px;color:var(--blue);flex:0 0 auto}

.ticket-eligibility-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:22px;
}
.ticket-info-card,
.free-entry-card,
.group-visit-card,
.visit-rules-grid{
  border:1px solid #e3eaf3;
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(23,43,73,.06);
}
.ticket-info-card{padding:26px 28px}
.ticket-info-card header,
.free-entry-card header,
.group-visit-copy header{
  display:flex;
  align-items:center;
  gap:15px;
}
.ticket-info-card header>span,
.free-entry-card header>span,
.group-visit-copy header>span{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#f4ecff;
  color:#9258db;
}
.ubd-info header>span{background:#fff0df;color:#e88923}
.ticket-info-card header .ti,.free-entry-card header .ti,.group-visit-copy header .ti{width:26px;height:26px}
.ticket-info-card h3,.free-entry-card h2,.group-visit-card h2{margin:0;font-size:19px;line-height:1.25}
.ticket-info-card header p,.free-entry-card header p,.group-visit-card header p{margin:5px 0 0;color:var(--muted);font-size:12px}
.ticket-info-card ul{margin:22px 0 0;padding:0;display:grid;gap:12px;list-style:none}
.ticket-info-card li{display:grid;grid-template-columns:18px 1fr;gap:9px;color:#53637a;font-size:13px;line-height:1.5}
.ticket-info-card li .ti{width:17px;height:17px;margin-top:2px;color:var(--blue)}

.ticket-access-section{
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:24px;
  align-items:start;
}
.free-entry-card{padding:30px}
.free-entry-card header>span{background:#eaf3ff;color:var(--blue)}
.free-entry-card ul{margin:24px 0 0;padding:0;display:grid;gap:14px;list-style:none}
.free-entry-card li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}
.free-entry-card li>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d8e6f8;border-radius:50%;background:#f7fbff;color:var(--blue)}
.free-entry-card li .ti{width:17px;height:17px}
.free-entry-card li p{margin:7px 0 0;color:#4f6076;font-size:13px;line-height:1.5}
.group-visit-card{overflow:hidden}
.group-visit-copy{padding:30px 30px 22px}
.group-visit-copy header>span{background:#eaf3ff;color:var(--blue)}
.group-rate{
  min-height:76px;
  margin-top:14px;
  padding:12px 16px;
  display:grid;
  grid-template-columns:1fr 110px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid #e2e9f2;
  border-radius:15px;
  background:#fbfdff;
}
.group-rate>span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.group-rate>span .ti{width:20px;height:20px;color:var(--blue)}
.group-rate>strong{font-size:28px;white-space:nowrap}
.group-rate>strong small{font-size:12px}
.group-rate>p{margin:0;color:#516176;font-size:12px;line-height:1.4}
.group-rate b{color:var(--navy)}
.rules-section{margin-bottom:60px}
.visit-rules-grid{
  margin:0;
  padding:34px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  list-style:none;
}
.visit-rules-grid li{
  min-height:150px;
  padding:22px 28px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:15px;
  align-items:start;
  border-right:1px solid #e6ebf1;
  border-bottom:1px solid #e6ebf1;
}
.visit-rules-grid li:nth-child(3n){border-right:0}
.visit-rules-grid li:nth-last-child(-n+3){border-bottom:0}
.visit-rules-grid li>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf7e9;
  color:#4e9e3e;
  font-size:13px;
  font-weight:800;
}
.visit-rules-grid p{margin:4px 0 0;color:#4f5e72;font-size:14px;line-height:1.62}

@media(max-width:1100px){
  .ticket-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticket-eligibility-grid,.ticket-access-section{grid-template-columns:1fr}
  .visit-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visit-rules-grid li:nth-child(3n){border-right:1px solid #e6ebf1}
  .visit-rules-grid li:nth-child(2n){border-right:0}
  .visit-rules-grid li:nth-last-child(-n+3){border-bottom:1px solid #e6ebf1}
  .visit-rules-grid li:last-child{border-bottom:0}
}
@media(max-width:650px){
  .tickets-page{padding-top:8px}
  .tickets-hero,.tickets-section{width:calc(100% - 16px)}
  .tickets-hero{min-height:610px;background-position:62% bottom;background-size:auto 58%}
  .tickets-hero:after{background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 53%,rgba(255,255,255,.08) 77%)}
  .tickets-hero-copy{width:100%;padding:34px 22px}
  .tickets-hero h1{font-size:39px;letter-spacing:-1.5px}
  .tickets-hero-copy>p{font-size:14px;line-height:1.55}
  .tickets-hero-actions{align-items:stretch;flex-direction:column;max-width:270px}
  .tickets-hero-actions a{justify-content:flex-start}
  .tickets-section{margin-top:38px}
  .tickets-section-heading{align-items:flex-start}
  .tickets-section-heading h2{font-size:27px}
  .ticket-price-grid{grid-template-columns:1fr;gap:14px}
  .ticket-price-card{min-height:190px;padding:21px}
  .ticket-price strong{font-size:38px}
  .ticket-proof-note{align-items:flex-start;text-align:left;line-height:1.5}
  .ticket-eligibility-grid{margin-top:22px}
  .ticket-info-card,.free-entry-card,.group-visit-copy{padding:22px 18px}
  .ticket-info-card h3,.free-entry-card h2,.group-visit-card h2{font-size:17px}
  .group-rate{grid-template-columns:1fr auto;gap:8px}
  .group-rate>p{grid-column:1/-1;padding-left:28px}
  .group-rate>strong{font-size:24px}
  .visit-rules-grid{padding:8px 18px;grid-template-columns:1fr}
  .visit-rules-grid li{min-height:0;padding:20px 0;border-right:0!important;border-bottom:1px solid #e6ebf1!important}
  .visit-rules-grid li:last-child{border-bottom:0!important}
  .visit-rules-grid p{font-size:14px}
  .rules-section{margin-bottom:38px}
}
