/*
============================================================
Camp 4 Champs website
File: assets/css/styles.css
What this file does: Main visual stylesheet for layout, components, page sections and responsive behaviour.
Maintenance note: Keep comments clear and practical. They should help
the next person understand the file without exposing private local
paths, account details or short-term notes.
Website architecture, design and development:
Professionally crafted by Sebastian Galazka, bringing together
creative direction, technical care and close attention to detail.
Built with modern development standards and a steady focus on
maintainability, scalability, performance and user experience.
Sebastian Galazka | info@ihomepage.co.uk
============================================================
*/
/*
============================================================
Stylesheet guide

This is the main stylesheet for the live site. It stays as one ordered bundle so the current design, cascade and page-specific polish keep working together. Future edits should keep styles grouped in this order:

1. Global variables and reset
2. Base typography and layout primitives
3. Header, navigation and buttons
4. Shared cards, panels, forms and content utilities
5. Page sections and page-specific enhancements
6. Animation and motion systems
7. Responsive rules and accessibility fallbacks

When editing, keep shared patterns near the top and place page-specific rules behind a body class so changes stay easy to trace.
============================================================
*/
:root {
  --lime: #B2D235;
  --satsuma: #F37121;
  --raspberry: #D20F8C;
  --blueberry: #283A97;
  --blackberry: #151F6D;
  --sky: #2E8AEF;
  --purple: #6C22E8;
  --soft: #F6F5FE;
  --line: #DADDF0;
  --shadow: 0 18px 45px rgba(21, 31, 109, .11);
  --page-section-gap: clamp(30px, 3vw, 46px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #fff;
  color: var(--blackberry);
  font-family: GilroyRegular, Arial, sans-serif;
  line-height: 1.48;
  letter-spacing: 0;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
strong,
.btn,
.book-link,
.desktop-nav {
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  letter-spacing: 0;
}

p {
  font-size: clamp(1rem, .98vw, 1.16rem);
}

svg {
  width: 1.2em;
  height: 1.2em;
}

.section-inner {
  width: min(1360px, calc(100% - 48px));
  margin: 0 auto;
}

.page-content {
  position: relative;
  overflow: hidden;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  box-shadow: 0 3px 18px rgba(21, 31, 109, .08);
}

.header-shell {
  height: 140px;
  width: min(1440px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
}

.brand-link {
  height: 140px;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo {
  height: 140px;
  width: auto;
  object-fit: contain;
}

.desktop-nav {
  margin-left: auto;
}

.desktop-nav ul {
  display: flex;
  align-items: center;
  gap: 38px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.desktop-nav a {
  font-size: 1rem;
  text-transform: lowercase;
  color: var(--blackberry);
  font-weight: 900;
}

.desktop-nav .is-active>a {
  color: var(--raspberry);
}

.has-submenu {
  position: relative;
}

.chev {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 7px;
  margin-bottom: 4px;
}

.submenu {
  position: absolute!important;
  left: -20px;
  top: 28px;
  min-width: 245px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 12px!important;
  display: grid!important;
  gap: 4px!important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .18s ease;
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.submenu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .94rem;
}

.submenu a:hover {
  background: var(--soft);
  color: var(--raspberry);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.login-link {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: GilroyBold, Arial, sans-serif;
  color: var(--blackberry);
  white-space: nowrap;
}

.book-link,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 10px;
  min-height: 54px;
  padding: 0 28px;
  border: 2px solid transparent;
  font-size: 1rem;
  text-transform: none;
  box-shadow: 0 10px 22px rgba(210, 15, 140, .16);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.book-link,
.btn-primary {
  background: var(--raspberry);
  color: #fff;
}

.btn-lime {
  background: var(--lime);
  color: #fff;
  box-shadow: 0 10px 22px rgba(178, 210, 53, .2);
}

.btn-outline {
  background: #fff;
  color: var(--raspberry);
  border-color: var(--raspberry);
  box-shadow: none;
}

.btn-blue {
  background: var(--sky);
  color: #fff;
}

.btn-purple {
  background: var(--purple);
  color: #fff;
}

.btn-satsuma {
  background: var(--satsuma);
  color: #fff;
}

.book-link:hover,
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(21, 31, 109, .18);
}

.menu-toggle {
  display: none;
  background: none;
  border: 0;
  width: 48px;
  height: 48px;
}

.menu-toggle span {
  display: block;
  height: 4px;
  background: var(--blackberry);
  border-radius: 5px;
  margin: 6px 0;
}

.mobile-panel {
  display: none;
}

.sticky-booking {
  display: none;
}

.hero-slider {
  min-height: 620px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.hero-bg,
.hero-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-bg img {
  object-position: center;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 17, 95, .96) 0%, rgba(10, 26, 104, .82) 28%, rgba(10, 26, 104, .15) 58%, rgba(255, 255, 255, .35) 100%);
  z-index: 1;
}

.hero-slide-content {
  position: relative;
  z-index: 2;
  width: min(1360px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0;
  color: #fff;
}

.hero-slide-content h1 {
  font-size: clamp(3rem, 5vw, 5.8rem);
  line-height: .98;
  margin: 0 0 26px;
  max-width: 650px;
}

.hero-slide-content h1 strong {
  color: #ff0b72;
}

.hero-slide-content p {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.2rem, 1.7vw, 1.75rem);
  line-height: 1.28;
  max-width: 580px;
}

.hero-buttons {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  margin: 34px 0;
}

.hero-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  gap: 18px 30px;
  max-width: 640px;
  margin-top: 38px;
  font-family: GilroyBold, Arial, sans-serif;
}

.hero-trust span {
  display: flex;
  align-items: center;
  gap: 11px;
}

.hero-trust svg {
  background: var(--lime);
  border-radius: 50%;
  padding: 5px;
  color: #fff;
  width: 30px;
  height: 30px;
}

.doodle-star {
  position: absolute;
  color: var(--raspberry);
  opacity: .98;
}

.doodle-star svg {
  width: 86px;
  height: 86px;
  stroke-width: 1.5;
}

.hero-star-one {
  left: 43%;
  top: 55px;
  color: #fff;
}

.hero-star-two {
  right: 8%;
  top: 115px;
}

.orange-corner {
  position: absolute;
  right: -90px;
  bottom: -55px;
  width: 360px;
  height: 360px;
  background: radial-gradient(#fff 2px, transparent 3px) 0 0/24px 24px, var(--satsuma);
  border-radius: 60% 0 0 0;
  transform: rotate(-18deg);
  z-index: 2;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 36px;
  font-family: GilroyBold, Arial, sans-serif;
  color: var(--blueberry);
}

.breadcrumb b::after {
  content: ">";
  font-family: Arial;
}

.page-hero {
  padding: 38px 0 42px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
  gap: 52px;
  align-items: center;
}

.hero-copy {
  position: relative;
}

.hero-copy h1 {
  font-size: clamp(4rem, 9vw, 8.8rem);
  line-height: .88;
  margin: 0 0 30px;
  color: #06177f;
  text-transform: lowercase;
}

.hero-copy h2 {
  font-size: clamp(1.5rem, 2.7vw, 3rem);
  line-height: 1.06;
  margin: 0 0 24px;
  color: var(--blackberry);
}

.hero-copy p {
  max-width: 570px;
  font-family: GilroyBold, Arial, sans-serif;
}

.hero-visual {
  position: relative;
  min-height: 390px;
}

.hero-visual img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 54% 46% 45% 55%/45% 49% 51% 55%;
  position: relative;
  z-index: 2;
}

.blob {
  position: absolute;
  right: -18px;
  bottom: 8px;
  width: 170px;
  height: 190px;
  border-radius: 55% 45% 48% 52%;
  z-index: 1;
}

.blob-satsuma {
  background: var(--satsuma);
}

.blob-pink {
  background: var(--raspberry);
}

.blob-lime {
  background: #f7ca13;
}

.dot-field {
  position: absolute;
  right: -44px;
  top: -24px;
  width: 170px;
  height: 170px;
  background: radial-gradient(var(--raspberry) 2px, transparent 3px) 0 0/20px 20px;
  z-index: 0;
}

.doodle-star-pink {
  right: 18%;
  top: 18px;
  color: var(--raspberry);
}

.section-heading {
  text-align: center;
  margin-bottom: 28px;
}

.section-heading h2,
.split-heading h2 {
  font-size: clamp(2.8rem, 4.4vw, 5rem);
  line-height: .98;
  color: var(--blackberry);
  margin: 0;
  text-transform: lowercase;
}

.section-heading p,
.section-lede {
  font-family: GilroyBold, Arial, sans-serif;
  max-width: 780px;
  margin: 12px auto 0;
}

.split-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.split-heading h2 span {
  color: var(--raspberry);
}

.split-heading a {
  font-family: GilroyBold, Arial, sans-serif;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 9px;
}

.venue-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
}

.venue-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(21, 31, 109, .08);
  display: flex;
  flex-direction: column;
}

.venue-card img {
  height: 120px;
  width: 100%;
  object-fit: cover;
}

.venue-card-body {
  padding: 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.venue-card h3 {
  font-size: 1.2rem;
  margin: 0 0 4px;
}

.venue-card p {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .9rem;
  margin: 0 0 10px;
}

.venue-card ul {
  padding: 0;
  margin: 0 0 14px;
  list-style: none;
  text-align: left;
  display: grid;
  gap: 7px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .86rem;
}

.venue-card li {
  display: flex;
  gap: 8px;
  align-items: center;
}

.venue-card li svg {
  color: var(--lime);
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.venue-card a {
  margin-top: auto;
  background: var(--raspberry);
  color: #fff;
  border-radius: 8px;
  padding: 11px 10px;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: .9rem;
}

.venue-grid-large {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.venue-grid-large .venue-card img {
  height: 190px;
}

.itinerary-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.itinerary-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(21, 31, 109, .08);
}

.itinerary-card img {
  height: 116px;
  width: 100%;
  object-fit: cover;
}

.itinerary-card h3 {
  text-align: center;
  font-size: 1.1rem;
  margin: 12px 0 0;
}

.itinerary-card p {
  text-align: center;
  margin: 2px 0 12px;
  font-family: GilroyBold, Arial, sans-serif;
}

.itinerary-card div {
  display: flex;
  gap: 9px;
  padding: 0 12px 14px;
}

.itinerary-card a {
  flex: 1;
  border: 2px solid var(--raspberry);
  color: var(--raspberry);
  border-radius: 7px;
  padding: 8px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .8rem;
  text-align: center;
}

.itinerary-card a:last-child {
  background: var(--raspberry);
  color: #fff;
}

.note-text {
  text-align: center;
  font-size: .92rem;
  color: #445;
  max-width: 900px;
  margin: 24px auto;
}

.pricing-panel {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 34px;
  padding: 34px;
  border-radius: 22px;
  background: #fff9ec;
  box-shadow: var(--shadow);
}

.pricing-panel>div+div {
  border-left: 1px solid #d5d0c5;
  padding-left: 34px;
}

.pricing-panel h2,
.soft-card h2,
.content-block h2,
.price-card h2,
.ways-card h2,
.contact-panel h2,
.map-panel h2 {
  font-size: clamp(2rem, 2.4vw, 3rem);
  line-height: 1;
  margin: 0 0 18px;
  text-transform: lowercase;
}

.check-list {
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
  display: grid;
  gap: 12px;
  font-family: GilroyBold, Arial, sans-serif;
}

.check-list li {
  position: relative;
  padding-left: 30px;
}

.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .26em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--lime);
}

.check-list li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: .58em;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.time-list {
  list-style: none;
  margin: 18px 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.time-list li {
  display: grid;
}

.activity-strip {
  display: grid;
  grid-template-columns: 1.1fr repeat(6, 1fr);
  gap: 22px;
  align-items: center;
  padding: 30px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
}

.activity-strip-centered {
  grid-template-columns: repeat(6, 1fr);
  box-shadow: none;
}

.activity-icon {
  text-align: center;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  color: var(--blackberry);
  display: grid;
  gap: 10px;
  place-items: center;
}

.activity-icon svg {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 16px;
  background: #eaf4ff;
  color: var(--blueberry);
}

.activity-icon:nth-child(2) svg,
.icon-craft svg {
  background: #ffe4f1;
  color: var(--raspberry);
}

.activity-icon:nth-child(3) svg,
.icon-cook svg {
  background: #fff0d3;
  color: var(--satsuma);
}

.activity-icon:nth-child(4) svg,
.icon-star svg {
  background: #efe5ff;
  color: var(--purple);
}

.activity-icon:nth-child(5) svg,
.icon-swim svg {
  background: #dff2ff;
  color: var(--sky);
}

.activity-icon:nth-child(6) svg,
.icon-heart svg {
  background: #eaf7d2;
  color: var(--lime);
}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.soft-card,
.content-block {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eef0fa;
  box-shadow: var(--shadow);
  padding: 34px;
  position: relative;
  overflow: hidden;
}

.soft-card {
  background: linear-gradient(135deg, #fff, #f7f6ff);
}

.cta-panel {
  display: grid;
  grid-template-columns: 1.3fr auto;
  align-items: center;
  gap: 28px;
  padding: 34px 42px;
  background: linear-gradient(135deg, #041374, #092998);
  color: #fff;
  border-radius: 22px;
  position: relative;
  overflow: hidden;
}

.cta-panel h2 {
  font-size: clamp(2.2rem, 3vw, 4rem);
  line-height: 1;
  margin: 0;
}

.cta-panel p {
  font-family: GilroyBold, Arial, sans-serif;
  margin: 8px 0 0;
}

.cta-actions {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}

.cta-star {
  right: 34px;
  top: 24px;
  color: #fff;
  opacity: .28;
}

.card-grid {
  display: grid;
  gap: 24px;
}

.card-grid-two {
  grid-template-columns: repeat(2, 1fr);
}

.card-grid-three {
  grid-template-columns: repeat(3, 1fr);
}

.card-grid-four {
  grid-template-columns: repeat(4, 1fr);
}

.card-grid-five {
  grid-template-columns: repeat(5, 1fr);
}

.info-card {
  background: #fff;
  border: 1px solid #eef0fa;
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 28px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.round-icon {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  background: var(--raspberry);
  color: #fff;
}

.round-icon svg {
  width: 42px;
  height: 42px;
}

.accent-lime .round-icon {
  background: var(--lime);
}

.accent-satsuma .round-icon {
  background: var(--satsuma);
}

.accent-purple .round-icon {
  background: var(--purple);
}

.accent-blueberry .round-icon {
  background: var(--sky);
}

.info-card h3 {
  font-size: clamp(1.55rem, 1.8vw, 2.2rem);
  line-height: 1.05;
  margin: 0 0 10px;
  text-transform: lowercase;
}

.info-card p {
  font-family: GilroyBold, Arial, sans-serif;
}

.info-card .btn {
  margin-top: auto;
}

.quote-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.quote-card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  background: #fff;
}

.quote-card span {
  font-size: 4rem;
  color: var(--raspberry);
  font-family: Georgia, serif;
  line-height: .5;
}

.quote-card p {
  font-family: GilroyBold, Arial, sans-serif;
  font-style: italic;
}

.center-btn {
  display: flex;
  width: max-content;
  margin: 24px auto 0;
}

.faq-wrap {
  display: grid;
  gap: 18px;
  max-width: 1220px;
}

.faq-item {
  background: #f7f6ff;
  border-radius: 22px;
  border: 1px solid #f0eff8;
  box-shadow: 0 10px 24px rgba(21, 31, 109, .06);
  overflow: hidden;
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 28px 44px;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: clamp(1.5rem, 2.2vw, 2.5rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary span {
  font-size: 2.8rem;
  color: var(--purple);
}

.faq-item p {
  padding: 0 44px 30px;
  margin: 0;
  max-width: 900px;
  font-family: GilroyBold, Arial, sans-serif;
}

.price-page-grid {
  display: grid;
  gap: 36px;
  max-width: 1240px;
}

.large-card {
  background: #f8f7ff;
  border-radius: 26px;
  padding: 56px;
  box-shadow: var(--shadow);
  position: relative;
}

.price-row {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 16px 0;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: clamp(1.4rem, 2vw, 2.2rem);
}

.price-row strong,
.pink {
  color: var(--raspberry);
}

.large-card hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 18px 0;
}

.payment-list {
  padding: 0;
  margin: 20px 0 40px;
  list-style: none;
  display: grid;
  gap: 24px;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: 1.7rem;
}

.payment-list li {
  display: flex;
  align-items: center;
  gap: 20px;
}

.payment-list svg {
  background: #eaf4ff;
  border-radius: 50%;
  padding: 12px;
  width: 64px;
  height: 64px;
  color: var(--blueberry);
}

.payment-logos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 38px;
}

.payment-logos strong {
  border-right: 1px solid var(--line);
  min-height: 80px;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--blueberry);
  font-size: 1.7rem;
}

.payment-logos strong:last-child {
  border-right: 0;
  color: green;
}

.policy-panel {
  padding: 34px;
  border-radius: 22px;
  background: #f8f7ff;
  box-shadow: var(--shadow);
}

.policy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 28px;
}

.policy-link {
  display: grid;
  grid-template-columns: 70px 1fr 30px;
  gap: 18px;
  align-items: center;
  background: #fff;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid #eef0fa;
}

.policy-link>svg:first-child {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  padding: 14px;
  background: var(--raspberry);
  color: #fff;
}

.policy-link:nth-child(2n)>svg:first-child {
  background: var(--satsuma);
}

.policy-link:nth-child(3n)>svg:first-child {
  background: var(--lime);
}

.policy-link:nth-child(4n)>svg:first-child {
  background: var(--purple);
}

.policy-link strong {
  display: block;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: 1.25rem;
}

.policy-link small {
  font-family: GilroyBold, Arial, sans-serif;
}

.highlight-card {
  background: #fff1f8;
}

.mini-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.do-not-card {
  background: #fff0f7;
  border-radius: 18px;
  padding: 26px 34px;
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
  box-shadow: var(--shadow);
  font-family: GilroyBold, Arial, sans-serif;
}

.do-not-card h2 {
  margin: 0;
  font-size: 2rem;
}

.offer-feature {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: center;
  background: #fff6fb;
  border-radius: 22px;
  padding: 36px;
  box-shadow: var(--shadow);
}

.offer-feature h2 {
  font-size: 3rem;
  line-height: 1;
  margin: 0;
}

.offer-feature h3 {
  font-size: 2rem;
  color: var(--raspberry);
  line-height: 1.15;
  margin: 10px 0;
  font-family: EquitySansAltBlack, Arial, sans-serif;
}

.bird-shape {
  width: 180px;
  height: 160px;
  background: #ffd22a;
  border-radius: 60% 50% 55% 45%;
  position: relative;
}

.bird-shape::after {
  content: "";
  position: absolute;
  right: -22px;
  top: 40px;
  border-left: 32px solid #ff7a18;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
}

.important-card {
  background: #fff8fb;
}

.contact-lines {
  display: grid;
  gap: 22px;
  margin: 30px 0;
}

.contact-lines p {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
}

.contact-lines svg,
.note-card svg {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  padding: 15px;
  background: var(--raspberry);
  color: #fff;
  flex: 0 0 auto;
}

.contact-lines strong {
  font-size: 1.65rem;
  display: block;
  font-family: EquitySansAltBlack, Arial, sans-serif;
}

.contact-lines small {
  font-size: 1.05rem;
}

.note-card {
  display: flex;
  gap: 20px;
  align-items: center;
  background: #f7f6ff;
  border-radius: 16px;
  padding: 24px;
  max-width: 620px;
}

.note-card svg {
  background: var(--purple);
}

.contact-panel {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 50px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 42px;
  background: #fff;
  box-shadow: var(--shadow);
}

.contact-form {
  display: grid;
  gap: 14px;
}

.contact-form label span {
  position: absolute;
  left: -999px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
  width: 100%;
  border: 1px solid #ccd2e8;
  border-radius: 8px;
  padding: 17px 20px;
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: 1rem;
  color: var(--blackberry);
  background: #fff;
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form button {
  border: 0;
  width: 100%;
  margin-top: 8px;
}

.form-confirmation {
  background: #ecffd7;
  border-radius: 8px;
  padding: 12px;
  font-family: GilroyBold, Arial, sans-serif;
}

.help-card {
  border-left: 1px solid var(--line);
  padding-left: 48px;
}

.paper-plane {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ebffd8;
  color: var(--blueberry);
  margin-bottom: 34px;
}

.paper-plane svg {
  width: 52px;
  height: 52px;
}

.map-panel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 30px;
  align-items: center;
}

.map-placeholder {
  min-height: 310px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eef5f0, #fff);
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  color: var(--blackberry);
}

.map-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 48%, rgba(21, 31, 109, .09) 49%, rgba(21, 31, 109, .09) 51%, transparent 52%), linear-gradient(0deg, transparent 48%, rgba(21, 31, 109, .09) 49%, rgba(21, 31, 109, .09) 51%, transparent 52%);
  background-size: 90px 90px;
  opacity: .8;
}

.map-placeholder span,
.map-placeholder strong {
  position: relative;
  z-index: 2;
}

.map-placeholder span {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: var(--raspberry);
  color: #fff;
  display: grid;
  place-items: center;
}

.map-placeholder span svg {
  width: 42px;
  height: 42px;
}

.map-placeholder.small {
  min-height: 230px;
}

.parent-login-panel,
.social-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  background: #f7f6ff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 0 10px 24px rgba(21, 31, 109, .06);
}

.parent-login-panel>div {
  display: flex;
  align-items: center;
  gap: 22px;
}

.parent-login-panel svg {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  padding: 17px;
}

.socials {
  display: flex;
  gap: 12px;
}

.socials a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--blueberry);
  color: #fff;
  display: grid;
  place-items: center;
  font-family: EquitySansAltBlack, Arial, sans-serif;
}

.socials.large a {
  width: 58px;
  height: 58px;
}

.venue-hero {
  padding: 38px 0 20px;
  overflow: hidden;
}

.venue-hero-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 32px;
  align-items: center;
}

.venue-hero-copy h1 {
  font-size: clamp(4rem, 7vw, 8rem);
  line-height: .86;
  margin: 0 0 28px;
  color: #06177f;
  text-transform: lowercase;
}

.venue-hero-copy p {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.6rem, 2.4vw, 2.9rem);
  line-height: 1.14;
}

.venue-hero-image {
  position: relative;
}

.venue-hero-image img {
  height: 470px;
  width: 100%;
  object-fit: cover;
  border-radius: 50% 0 0 50%/55% 0 0 55%;
}

.quick-facts {
  display: grid;
  grid-template-columns: 1.1fr repeat(6, 1fr);
  gap: 0;
  align-items: center;
  background: #fff;
  border: 1px solid #eef0fa;
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 26px;
  margin-top: -20px;
  position: relative;
  z-index: 2;
}

.quick-facts h2 {
  font-size: 2.5rem;
  margin: 0;
  text-transform: lowercase;
}

.fact-item {
  display: grid;
  place-items: center;
  text-align: center;
  gap: 6px;
  border-left: 1px solid var(--line);
  padding: 0 18px;
  font-family: GilroyBold, Arial, sans-serif;
}

.fact-item svg {
  width: 46px;
  height: 46px;
  color: var(--blueberry);
}

.fact-item strong {
  font-size: 1.05rem;
}

.venue-layout {
  display: grid;
  grid-template-columns: 1fr .9fr 1fr;
  gap: 24px;
}

.card-photo {
  height: 155px;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  margin: 18px 0;
}

.image-copy-card {
  display: grid;
  grid-template-columns: .9fr 1fr;
  background: #fff;
  border: 1px solid #eef0fa;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.image-copy-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-copy-card div {
  padding: 30px;
}

.icon-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.trust-band .mini-trust-grid,
.footer-mobile-trust {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.mini-trust-item {
  display: grid;
  place-items: center;
  text-align: center;
  gap: 8px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .9rem;
}

.mini-trust-item svg {
  width: 42px;
  height: 42px;
  color: var(--blueberry);
}

.site-footer {
  position: relative;
  overflow: hidden;
  background: #fff;
  margin-top: 50px;
}

.footer-main {
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .8fr 1.15fr 1.15fr 1.3fr;
  gap: 58px;
  padding: 80px 0 48px;
}

.footer-main h2 {
  font-family: EquitySansAltBold, EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 34px;
  text-transform: lowercase;
  text-decoration: underline;
  text-decoration-color: var(--raspberry);
  text-decoration-thickness: 4px;
  text-underline-offset: 14px;
}

.footer-book-card {
  display: flex;
  gap: 20px;
  align-items: center;
  background: var(--raspberry);
  color: #fff;
  border-radius: 14px;
  padding: 26px;
  margin-bottom: 38px;
}

.footer-book-card svg {
  width: 58px;
  height: 58px;
}

.footer-book-card strong,
.footer-login strong {
  display: block;
  font-family: EquitySansAltBold, EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: lowercase;
}

.footer-book-card small,
.footer-login small {
  display: block;
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: 1rem;
}

.footer-login {
  display: flex;
  gap: 18px;
  align-items: center;
}

.footer-login svg {
  width: 56px;
  height: 56px;
  color: var(--raspberry);
}

.footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.footer-list li+li {
  border-top: 1px solid var(--line);
}

.footer-list a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 17px 0;
  font-family: GilroyRegular, Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
}

.footer-list a::before {
  content: ">";
  color: var(--raspberry);
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: 1.5rem;
}

.footer-venues a::before {
  display: none;
}

.pin svg {
  width: 34px;
  height: 34px;
  stroke-width: 3;
}

.pin-pink {
  color: var(--raspberry);
}

.pin-blueberry {
  color: var(--blueberry);
}

.pin-lime {
  color: var(--lime);
}

.pin-satsuma {
  color: var(--satsuma);
}

.pin-purple {
  color: var(--purple);
}

.pin-aqua {
  color: #27b6c9;
}

.footer-about img {
  width: 270px;
  margin-bottom: 18px;
}

.footer-about p {
  font-size: 1.25rem;
}

.footer-checks {
  border-top: 1px dashed var(--line);
  border-bottom: 1px dashed var(--line);
  padding: 18px 0;
  margin: 18px 0;
  list-style: none;
  display: grid;
  gap: 8px;
  font-family: GilroyBold, Arial, sans-serif;
}

.footer-checks li::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: var(--raspberry);
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 12px;
}

.footer-email {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1.25rem;
}

.footer-email svg {
  background: var(--raspberry);
  color: #fff;
  border-radius: 50%;
  padding: 8px;
  width: 42px;
  height: 42px;
}

.footer-trust {
  width: min(1120px, calc(100% - 64px));
  margin: 0 auto 26px;
  background: #fbfaf6;
  border-radius: 18px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 22px;
}

.trust-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 16px;
  align-items: center;
  border-right: 1px solid var(--line);
  padding: 0 20px;
}

.trust-item:last-child {
  border-right: 0;
}

.trust-item span {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--raspberry);
  color: #fff;
}

.trust-item:nth-child(2) span {
  background: var(--lime);
}

.trust-item:nth-child(3) span {
  background: var(--sky);
}

.trust-item:nth-child(4) span {
  background: var(--satsuma);
}

.footer-legal {
  background: linear-gradient(135deg, #03125c, #082a86);
  color: #fff;
  text-align: center;
  padding: 30px 24px;
  font-size: 0.84rem;
  line-height: 1.45;
}

.legal-line {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.legal-line span+span {
  border-left: 2px solid var(--raspberry);
  padding-left: 28px;
}

.footer-mobile-trust {
  display: none;
}

.page-home .site-footer {
  margin-top: 0;
}

@media (max-width:1180px) {
  .desktop-nav {
    display: none;
  }

  .menu-toggle {
    display: block;
  }

  .header-shell {
    justify-content: space-between;
  }

  .mobile-panel.is-open {
    display: grid;
    gap: 8px;
    padding: 0 24px 24px;
    background: #fff;
  }

  .mobile-panel a {
    padding: 14px 20px;
    border-radius: 10px;
    background: #f7f6ff;
    font-family: EquitySansAltBlack, Arial, sans-serif;
  }

  .mobile-book {
    background: var(--raspberry)!important;
    color: #fff;
  }

  .venue-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .itinerary-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing-panel,
  .activity-strip,
  .footer-main,
  .venue-layout {
    grid-template-columns: 1fr;
  }

  .pricing-panel>div+div {
    border-left: 0;
    border-top: 1px solid #d5d0c5;
    padding-left: 0;
    padding-top: 24px;
  }

  .activity-strip-centered {
    grid-template-columns: repeat(3, 1fr);
  }

  .card-grid-five,
  .card-grid-four {
    grid-template-columns: repeat(2, 1fr);
  }

  .quick-facts {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .quick-facts h2 {
    grid-column: 1/-1;
  }

  .fact-item {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 18px;
  }

  .footer-trust {
    grid-template-columns: 1fr 1fr;
  }

  .trust-item:nth-child(2) {
    border-right: 0;
  }

  .trust-item {
    padding: 18px;
  }

  .hero-grid,
  .venue-hero-grid,
  .contact-panel,
  .map-panel {
    grid-template-columns: 1fr;
  }

  .hero-visual img {
    height: 420px;
  }

  .help-card {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 32px 0 0;
  }

  .icon-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width:760px) {
  .section-inner {
    width: min(100% - 28px, 540px);
  }

  .header-shell {
    height: 108px;
    width: calc(100% - 28px);
  }

  .brand-link,
  .brand-logo {
    height: 108px;
  }

  .header-actions {
    gap: 10px;
  }

  .login-link,
  .book-link {
    display: none;
  }

  .sticky-booking {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 60;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background: var(--raspberry);
    color: #fff;
    border-radius: 12px;
    min-height: 54px;
    font-family: EquitySansAltBlack, Arial, sans-serif;
    box-shadow: 0 12px 28px rgba(21, 31, 109, .25);
  }

  .hero-slider {
    min-height: 690px;
  }

  .hero-overlay {
    background: linear-gradient(180deg, rgba(3, 17, 95, .95), rgba(3, 17, 95, .75), rgba(3, 17, 95, .18));
  }

  .hero-slide-content {
    width: calc(100% - 28px);
    padding: 42px 0;
  }

  .hero-slide-content h1 {
    font-size: 3.4rem;
  }

  .hero-trust {
    grid-template-columns: 1fr;
  }

  .orange-corner {
    width: 210px;
    height: 210px;
  }

  .page-hero {
    padding-top: 20px;
  }

  .hero-copy h1,
  .venue-hero-copy h1 {
    font-size: 4.2rem;
  }

  .hero-copy h2,
  .venue-hero-copy p {
    font-size: 1.55rem;
  }

  .hero-buttons,
  .cta-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .hero-visual {
    min-height: 300px;
  }

  .hero-visual img {
    height: 320px;
  }

  .venue-grid,
  .venue-grid-large,
  .itinerary-row,
  .two-col,
  .card-grid-two,
  .card-grid-three,
  .card-grid-four,
  .card-grid-five,
  .quote-row,
  .policy-grid,
  .price-row,
  .parent-login-panel,
  .social-panel,
  .offer-feature {
    grid-template-columns: 1fr;
  }

  .pricing-panel,
  .soft-card,
  .large-card,
  .contact-panel,
  .policy-panel {
    padding: 24px;
  }

  .activity-strip,
  .activity-strip-centered {
    grid-template-columns: repeat(2, 1fr);
  }

  .activity-strip>div:first-child {
    grid-column: 1/-1;
  }

  .cta-panel {
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .quick-facts {
    grid-template-columns: 1fr;
  }

  .venue-hero-image img {
    height: 300px;
    border-radius: 28px;
  }

  .venue-card img {
    height: 170px;
  }

  .image-copy-card {
    grid-template-columns: 1fr;
  }

  .footer-main {
    width: calc(100% - 28px);
    gap: 28px;
    padding-top: 46px;
  }

  .footer-trust {
    grid-template-columns: 1fr;
    width: calc(100% - 28px);
  }

  .trust-item {
    border-right: 0 !important;
    border-top: 1px solid var(--line);
  }

  .trust-item:first-child {
    border-top: 0;
  }

  .legal-line {
    display: grid;
    gap: 10px;
  }

  .legal-line span+span {
    border-left: 0;
    padding-left: 0;
  }

  .footer-mobile-trust,
  .trust-band .mini-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .payment-logos {
    grid-template-columns: 1fr;
  }

  .payment-logos strong {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .payment-logos strong:last-child {
    border-bottom: 0;
  }

  .contact-lines strong {
    font-size: 1.2rem;
  }

  .contact-lines svg {
    width: 50px;
    height: 50px;
  }

  .note-card {
    align-items: flex-start;
  }

  .map-panel {
    gap: 18px;
  }

}


/* ==========================================================================
   Shared section spacing
   ========================================================================== */
.site-section,
.page-content > section:not(.hero-slider):not(.page-hero):not(.venue-hero) {
  padding: 80px 0;
}

.page-content > .section-inner {
  margin-top: var(--page-section-gap);
  margin-bottom: var(--page-section-gap);
}

.page-content > .section-inner:first-child {
  margin-top: 0;
}

.page-content > .section-inner:last-child {
  margin-bottom: 0;
}

.section-inner > .venue-grid,
.section-inner > .itinerary-row,
.section-inner > .pricing-panel,
.section-inner > .two-col,
.section-inner > .cta-panel,
.section-inner > .card-grid {
  margin-bottom: var(--page-section-gap);
}

.section-inner > .venue-grid:last-child,
.section-inner > .itinerary-row:last-child,
.section-inner > .pricing-panel:last-child,
.section-inner > .two-col:last-child,
.section-inner > .cta-panel:last-child,
.section-inner > .card-grid:last-child {
  margin-bottom: 0;
}

.pricing-panel,
.cta-panel,
.soft-card,
.content-block,
.policy-panel,
.contact-panel,
.map-panel,
.parent-login-panel,
.social-panel,
.large-card {
  padding: clamp(28px, 3.2vw, 42px);
}

.our-camp-activity-icons {
  --our-camp-icon-navy: #1e2a78;
  --our-camp-c-sports: #d4eaf7;
  --our-camp-c-crafts: #fbd9e0;
  --our-camp-c-cookery: #fde4c0;
  --our-camp-c-enrich: #e0d9f5;
  --our-camp-c-swim: #d6e8fa;
  --our-camp-c-tuck: #e3eecf;
  gap: clamp(22px, 4vw, 72px);
  align-items: start;
  padding-top: 0;
  padding-bottom: 0;
}

.our-camp-activity-icons .activity-icon {
  gap: 20px;
}

.our-camp-activity-icons .icon-animation-circle {
  width: clamp(124px, 9vw, 140px);
  height: clamp(124px, 9vw, 140px);
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.our-camp-activity-icons .icon-animation-circle svg {
  width: clamp(68px, 5vw, 78px);
  height: clamp(68px, 5vw, 78px);
  display: block;
  overflow: visible;
  padding: 0;
  background: transparent;
  border-radius: 0;
  color: var(--our-camp-icon-navy);
}

.our-camp-activity-icons .icon-animation-circle svg [stroke="#fff"] {
  stroke: var(--our-camp-icon-navy);
}

.our-camp-activity-icons .icon-animation-circle svg [fill="#fff"] {
  fill: var(--our-camp-icon-navy);
}

.our-camp-activity-icons .c-blue svg [stroke="#1e3a8a"] {
  stroke: var(--our-camp-c-sports);
}

.our-camp-activity-icons .c-pink svg [stroke="#d6307a"] {
  stroke: var(--our-camp-c-crafts);
}

.our-camp-activity-icons .c-orange svg [stroke="#f06b1f"] {
  stroke: var(--our-camp-c-cookery);
}

.our-camp-activity-icons .c-purple svg [fill="#6a2bd9"] {
  fill: var(--our-camp-c-tuck);
}

.our-camp-activity-icons .c-purple svg [stroke="#6a2bd9"] {
  stroke: var(--our-camp-c-tuck);
}

.our-camp-activity-icons .c-blue {
  background: var(--our-camp-c-sports);
}

.our-camp-activity-icons .c-pink {
  background: var(--our-camp-c-crafts);
}

.our-camp-activity-icons .c-orange {
  background: var(--our-camp-c-cookery);
}

.our-camp-activity-icons .c-green {
  background: var(--our-camp-c-enrich);
}

.our-camp-activity-icons .c-lightblue {
  background: var(--our-camp-c-swim);
}

.our-camp-activity-icons .c-purple {
  background: var(--our-camp-c-tuck);
}

.our-camp-activity-icons .anim-ball {
  transform-origin: 50% 50%;
  animation: ballRoll 6s ease-in-out infinite;
}

.our-camp-activity-icons .anim-brush {
  transform-origin: 50% 88%;
  animation: brushSway 5s ease-in-out infinite;
}

.our-camp-activity-icons .shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.18) 50%, transparent 60%);
  transform: translateX(-100%);
  animation: iconShimmer 5s ease-in-out infinite;
  pointer-events: none;
}

.our-camp-activity-icons .anim-basket {
  transform-origin: 50% 90%;
  animation: basketLift 5s ease-in-out infinite;
}

.our-camp-activity-icons .steam {
  position: absolute;
  left: 50%;
  top: 30%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.6);
  opacity: 0;
  animation: steamRise 5s ease-in-out infinite;
}

.our-camp-activity-icons .anim-kite {
  transform-origin: 50% 50%;
  animation: kiteDrift 6s ease-in-out infinite;
}

.our-camp-activity-icons .kite-tail {
  transform-origin: 50% 0%;
  animation: tailWave 6s ease-in-out infinite;
}

.our-camp-activity-icons .anim-bird {
  animation: birdGlide 5s ease-in-out infinite;
}

.our-camp-activity-icons .wave {
  animation: waveShimmer 4s ease-in-out infinite;
}

.our-camp-activity-icons .wave-2 {
  animation-delay: .4s;
}

.our-camp-activity-icons .anim-robot {
  transform-origin: 50% 80%;
  animation: robotTilt 5s ease-in-out infinite;
}

.our-camp-activity-icons .eye {
  transform-origin: center;
  animation: iconBlink 5s ease-in-out infinite;
}

.our-camp-activity-icons .activity-icon strong {
  min-height: 58px;
  color: var(--blackberry);
  font-size: clamp(.9rem, 1.05vw, 1.12rem);
  line-height: 1.18;
  text-transform: uppercase;
}

.our-camp-activity-icons .activity-icon strong span,
.our-camp-activity-icons .activity-icon strong small {
  display: block;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .82em;
  text-transform: none;
  white-space: nowrap;
}

@keyframes ballRoll {
  0% { transform: rotate(0deg); }
  60% { transform: rotate(360deg); }
  70% { transform: rotate(352deg); }
  80% { transform: rotate(362deg); }
  90%, 100% { transform: rotate(360deg); }
}

@keyframes brushSway {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-7deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(7deg); }
}

@keyframes iconShimmer {
  0%, 70% { transform: translateX(-100%); }
  85%, 100% { transform: translateX(100%); }
}

@keyframes basketLift {
  0%, 100% { transform: translateY(0) scale(1); }
  40% { transform: translateY(-6px) scale(1.02); }
  55% { transform: translateY(0) scale(1); }
  62% { transform: translateY(-2px); }
  70% { transform: translateY(0); }
}

@keyframes steamRise {
  0%, 30% { opacity: 0; transform: translate(-50%,0) scale(.5); }
  50% { opacity: .7; transform: translate(-50%,-20px) scale(1); }
  70%, 100% { opacity: 0; transform: translate(-50%,-40px) scale(1.5); }
}

@keyframes kiteDrift {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(6deg) translateY(-3px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(-6deg) translateY(-3px); }
}

@keyframes tailWave {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-12deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(12deg); }
}

@keyframes birdGlide {
  0%, 100% { transform: translate(0,0); }
  30% { transform: translate(2px,-3px); }
  60% { transform: translate(-2px,-1px); }
}

@keyframes waveShimmer {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(3px); }
}

@keyframes robotTilt {
  0%, 60%, 100% { transform: rotate(0deg); }
  70% { transform: rotate(-4deg); }
  80% { transform: rotate(4deg); }
  90% { transform: rotate(0deg); }
}

@keyframes iconBlink {
  0%, 40%, 46%, 100% { transform: scaleY(1); }
  43% { transform: scaleY(.1); }
}

@media (prefers-reduced-motion: reduce) {
  .our-camp-activity-icons .anim-ball,
  .our-camp-activity-icons .anim-brush,
  .our-camp-activity-icons .shimmer,
  .our-camp-activity-icons .anim-basket,
  .our-camp-activity-icons .steam,
  .our-camp-activity-icons .anim-kite,
  .our-camp-activity-icons .kite-tail,
  .our-camp-activity-icons .anim-bird,
  .our-camp-activity-icons .wave,
  .our-camp-activity-icons .anim-robot,
  .our-camp-activity-icons .eye {
    animation: none !important;
  }
}

@media (max-width: 760px) {
  .our-camp-activity-icons > .activity-icon:first-child {
    grid-column: auto;
  }
}

body.page-standard:has(.our-camp-activity-icons) .page-content {
  overflow: visible;
}

.page-hero .hero-visual .blob,
.page-hero .hero-visual .dot-field {
  display: none;
}

.page-hero .hero-visual {
  isolation: isolate;
  overflow: visible;
}

.page-hero .hero-visual::before,
.page-hero .hero-visual::after {
  content: "";
  position: absolute;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.page-hero .hero-visual::before {
  left: -70px;
  bottom: 18px;
  width: 112px;
  height: 126px;
  background-image: url("../images/orange_bars_hires.svg");
  z-index: 1;
}

.page-hero .hero-visual::after {
  right: -96px;
  top: -58px;
  width: 292px;
  height: 292px;
  background-image: url("../images/halftone-sphere.svg");
  z-index: 1;
}

.page-hero .hero-visual img {
  border: 7px solid #b3d334;
}

.page-hero,
.venue-hero {
  padding-top: 38px;
}

.page-hero .hero-visual {
  min-height: 320px;
  width: min(100%, 500px);
  justify-self: end;
}

.page-hero .our-camp-hero-visual {
  align-self: start;
  min-height: 430px;
}

.page-hero .our-camp-hero-visual::after {
  right: -118px;
  top: -4px;
  width: 340px;
  height: 340px;
  background-image: url("../images/halftone-sphere.svg");
}

.page-hero .hero-dots-lime::after {
  background-image: url("../images/halftone-sphere-lime.svg");
}

.page-hero .hero-dots-orange::after {
  background-image: url("../images/halftone-sphere-orange.svg");
}

.page-hero .hero-dots-pink::after {
  background-image: url("../images/halftone-sphere.svg");
}

.page-hero .hero-dots-blue::after {
  background-image: url("../images/halftone-sphere-blue.svg");
}

.page-hero .our-camp-hero-visual::before {
  left: -18px;
  bottom: -4px;
}

.page-hero .hero-visual img {
  height: 360px;
}

.page-hero .our-camp-hero-visual .our-camp-hero-frame {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 430px;
  border: 0;
  overflow: visible;
  transform: translateY(22px);
}

@media (min-width: 761px) {
  body:is(.page-our-camp, .page-prices, .page-work) .page-hero .our-camp-hero-frame picture,
  body:is(.page-our-camp, .page-prices, .page-work) .page-hero .our-camp-hero-frame picture img {
    display: block;
    width: 100%;
    height: 100%;
  }

  body:is(.page-our-camp, .page-prices, .page-work) .page-hero .our-camp-hero-frame picture img {
    max-width: none;
    border: 0;
    border-radius: 0;
    object-fit: cover;
  }
}

.page-home .page-content > .section-inner:first-child {
  padding-top: clamp(28px, 4vw, 56px);
}

body.page-home .hero-slide-content h1 strong {
  color: #D20f8C;
}

.page-home .venue-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 20px;
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

.page-home .venue-card {
  border: 1px solid #e6e9f5;
  border-radius: 24px;
  box-shadow: 0 12px 32px rgba(21, 31, 109, .1);
  height: 100%;
  text-align: left;
  transition: opacity .55s ease, transform .28s ease, box-shadow .28s ease;
}

.page-home .venue-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(21, 31, 109, .16);
}

.page-home .venue-card__image {
  position: relative;
  height: 230px;
  overflow: hidden;
}

.page-home .venue-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.page-home .venue-card:hover .venue-card__image img {
  transform: scale(1.04);
}

.page-home .venue-card__badge {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: .35rem .9rem;
  border-radius: 999px;
  background: var(--raspberry);
  color: #fff;
  box-shadow: 0 8px 18px rgba(210, 15, 140, .25);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.page-home .venue-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px 30px 30px;
  text-align: left;
}

.page-home .venue-card__location {
  margin: 0 0 12px;
  color: var(--blackberry);
  font-size: 1.65rem;
  line-height: 1;
  text-transform: lowercase;
}

.page-home .venue-card__school {
  margin: 0 0 18px;
  color: #5f637d;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1rem;
}

.page-home .venue-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
}

.page-home .venue-card__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f0f2ff;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .86rem;
  line-height: 1;
  white-space: nowrap;
}

.page-home .venue-card__tag svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: var(--lime);
}

.page-home .venue-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  margin-top: auto;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--blackberry);
  color: #fff;
  box-shadow: none;
  font-family: EquitySansAltBlack, Arial, sans-serif;
  font-size: 1rem;
  text-align: center;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.page-home .venue-card__btn:hover {
  background: var(--blueberry);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(21, 31, 109, .18);
}

.page-home .venue-card.fade-up {
  opacity: 0;
  transform: translateY(24px);
}

.page-home .venue-card.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-home .venue-card.fade-up.is-visible:hover {
  transform: translateY(-4px);
}

.page-home .venue-card.fade-up-delay-1 {
  transition-delay: .08s;
}

.page-home .venue-card.fade-up-delay-2 {
  transition-delay: .16s;
}

@media (max-width: 1180px) {
  .page-home .venue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .page-home .venue-card__image {
    height: 210px;
  }

  .page-home .venue-card__body {
    padding: 22px;
  }

  .page-home .venue-card__tag {
    white-space: normal;
  }
}

.page-home .itinerary-carousel {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  align-items: center;
  gap: 14px;
  margin: 28px 0 clamp(2.5rem, 4vw, 5rem);
}

.page-home .itinerary-carousel .itinerary-row {
  display: flex;
  grid-template-columns: none;
  gap: 24px;
  margin: 0;
  overflow-x: auto;
  padding: 0 0 4px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.page-home .itinerary-carousel .itinerary-row::-webkit-scrollbar {
  display: none;
}

.page-home .itinerary-carousel .itinerary-card {
  flex: 0 0 calc((100% - 72px) / 4);
  scroll-snap-align: start;
  transition: opacity .55s ease, transform .28s ease, box-shadow .28s ease;
}

.page-home .itinerary-carousel .itinerary-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(21, 31, 109, .16);
}

.page-home .itinerary-carousel .itinerary-card img {
  transition: transform .5s ease;
}

.page-home .itinerary-carousel .itinerary-card:hover img {
  transform: scale(1.04);
}

.page-home .itinerary-carousel .itinerary-card.fade-up {
  opacity: 0;
  transform: translateY(24px);
}

.page-home .itinerary-carousel .itinerary-card.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-home .itinerary-carousel .itinerary-card.fade-up.is-visible:hover {
  transform: translateY(-4px);
}

.page-home .itinerary-carousel .itinerary-card.fade-up-delay-1 {
  transition-delay: .08s;
}

.page-home .itinerary-carousel .itinerary-card.fade-up-delay-2 {
  transition-delay: .16s;
}

.page-home .itinerary-nav {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--blackberry);
  color: #fff;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, opacity .16s ease;
}

.page-home .itinerary-nav:hover {
  background: var(--blueberry);
  transform: translateY(-1px);
}

.page-home .itinerary-nav:disabled {
  cursor: default;
  opacity: .35;
  transform: none;
}

.page-home .itinerary-nav svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 1180px) {
  .page-home .itinerary-carousel .itinerary-card {
    flex-basis: calc((100% - 48px) / 3);
  }
}

@media (max-width: 760px) {
  .page-home .itinerary-carousel {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 10px;
  }

  .page-home .itinerary-carousel .itinerary-card {
    flex-basis: 100%;
  }

  .page-home .itinerary-nav {
    width: 42px;
    height: 42px;
  }
}

.page-home .page-content > .section-inner:first-of-type .section-heading h2,
.page-home .page-content > .section-inner:nth-of-type(2) .split-heading h2 {
  font-size: clamp(2.35rem, 3.6vw, 4.25rem);
}

.footer-about p {
  font-size: 1.05rem;
}

.site-footer {
  background: #fafafa;
  border-top: 1px solid #e7e7e7;
  isolation: isolate;
}

.page-home .site-footer {
  margin-top: clamp(28px, 3vw, 48px);
}

.footer-main {
  position: relative;
  z-index: 2;
}

.footer-decor,
.footer-policy-star,
.footer-logo-star {
  position: absolute;
  pointer-events: none;
}

.footer-loop-left {
  left: -16px;
  top: -12px;
  width: 120px;
  height: 78px;
  z-index: 1;
}

.footer-loop-left::before,
.footer-loop-left::after {
  content: "";
  position: absolute;
  border: 5px solid var(--raspberry);
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  opacity: .82;
}

.footer-loop-left::before {
  left: 0;
  top: 30px;
  width: 52px;
  height: 36px;
  transform: rotate(42deg);
}

.footer-loop-left::after {
  left: 50px;
  top: 1px;
  width: 58px;
  height: 68px;
  transform: rotate(128deg);
}

.footer-star-left {
  left: 142px;
  top: 16px;
  color: var(--lime);
  z-index: 1;
}

.footer-star-left svg {
  width: 62px;
  height: 62px;
  stroke-width: 2.2;
}

.footer-dots-right {
  right: 24px;
  top: -34px;
  width: 104px;
  height: 82px;
  background: radial-gradient(#4f7fde 5px, transparent 6px) 0 0 / 34px 28px;
  opacity: .95;
  z-index: 1;
}

.footer-policies {
  position: relative;
}

.footer-book {
  position: relative;
}

.footer-policy-star {
  left: 72px;
  top: 374px;
  z-index: 1;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.footer-about img {
  width: 285px;
  max-width: none;
  margin-top: -18px;
  margin-bottom: 8px;
}

.footer-about {
  position: relative;
}

.footer-logo-star {
  z-index: 3;
}

.footer-about img.footer-logo-star {
  width: 38px;
  height: 38px;
  max-width: none;
  margin: 0;
  object-fit: contain;
}
.page-home .footer-about > img:not(.footer-logo-star) {
  height: auto;
  object-fit: contain;
}

.footer-logo-star-left {
  left: -42px;
  top: 126px;
}

.footer-logo-star-pink {
  left: 50.5%;
  top: 402px;
  width: 56px;
  height: 56px;
  max-width: none;
  margin: 0;
  object-fit: contain;
  transform: translateX(-50%);
}

.footer-logo-star-lime {
  right: -32px;
  top: 174px;
}

.footer-ribbon {
  width: 340px;
  max-width: 100%;
  min-height: 38px;
  display: grid;
  place-items: center;
  margin: 0 0 26px 8px;
  padding: 0 34px;
  background: var(--raspberry);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
}

.footer-checks li {
  position: relative;
  padding-left: 38px;
}

.footer-checks li::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  margin-right: 0;
}

.footer-checks li::after {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.footer-checks {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.footer-about .footer-email {
  width: 100%;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.footer-about .socials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  isolation: isolate;
  margin-top: 18px;
}

.footer-social-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(218, 221, 240, .95);
  border-radius: 999px;
  background: #fff;
  color: var(--blackberry);
  box-shadow: 0 10px 24px rgba(21, 31, 109, .07);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .9rem;
  line-height: 1;
  white-space: nowrap;
  animation: footer-social-label-glow 5.8s ease-in-out infinite;
}

.footer-social-label::before {
  content: "";
  position: relative;
  z-index: 1;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--raspberry);
  box-shadow: 0 0 0 6px rgba(210, 15, 140, .12);
  animation: footer-social-dot-pulse 2.8s ease-in-out infinite;
}

.footer-social-label::after {
  content: "";
  position: absolute;
  left: 19px;
  top: 50%;
  z-index: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 68% 30%, rgba(255, 255, 255, .95) 0 14%, transparent 16%),
    radial-gradient(circle, rgba(210, 15, 140, .22) 0 35%, transparent 38%);
  pointer-events: none;
  transform: translate(-50%, -50%) scale(1);
  animation: footer-social-dot-ring 2.8s ease-in-out infinite;
}

.footer-about .socials a {
  position: relative;
  isolation: isolate;
  font-size: 0;
  box-shadow: 0 12px 22px rgba(21, 31, 109, .12);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.footer-about .socials a::before {
  content: "";
  position: absolute;
  inset: -6px;
  z-index: -1;
  border-radius: inherit;
  background: conic-gradient(from 140deg, rgba(178, 210, 53, .28), rgba(210, 15, 140, .2), rgba(40, 58, 151, .18), rgba(178, 210, 53, .28));
  opacity: .28;
  transform: scale(.78) rotate(0deg);
  animation: footer-social-halo 4.8s ease-in-out infinite;
}

.footer-about .socials a::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, .32), transparent 48%);
  pointer-events: none;
}

.footer-about .socials a:last-child {
  background: var(--raspberry);
}

.footer-about .socials a:nth-of-type(2)::before {
  animation-delay: .55s;
}

.footer-about .socials a:hover,
.footer-about .socials a:focus-visible {
  transform: translateY(-3px) scale(1.045);
  filter: saturate(1.08);
  box-shadow: 0 16px 28px rgba(21, 31, 109, .18);
}

.footer-about .socials a:hover::before,
.footer-about .socials a:focus-visible::before {
  opacity: .72;
  transform: scale(1.08) rotate(18deg);
}

.footer-about .social-icon {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  animation: footer-social-icon-breathe 4.2s ease-in-out infinite;
}

.footer-about .socials a:first-child .social-icon {
  fill: currentColor;
  stroke: none;
  width: 20px;
  height: 20px;
}

@keyframes footer-social-dot-pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 5px rgba(210, 15, 140, .12), 0 0 0 0 rgba(210, 15, 140, 0);
  }

  42% {
    transform: scale(.82);
    box-shadow: 0 0 0 8px rgba(210, 15, 140, .08), 0 0 18px rgba(210, 15, 140, .3);
  }

  68% {
    transform: scale(1.18);
    box-shadow: 0 0 0 4px rgba(210, 15, 140, .14), 0 0 22px rgba(210, 15, 140, .36);
  }
}

@keyframes footer-social-dot-ring {
  0%,
  100% {
    opacity: .48;
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 0 0 rgba(210, 15, 140, .18);
  }

  48% {
    opacity: .9;
    transform: translate(-50%, -50%) scale(1.55);
    box-shadow: 0 0 0 7px rgba(210, 15, 140, .07);
  }

  78% {
    opacity: .28;
    transform: translate(-50%, -50%) scale(2.05);
    box-shadow: 0 0 0 12px rgba(210, 15, 140, 0);
  }
}

@keyframes footer-social-label-glow {
  0%,
  100% {
    box-shadow: 0 10px 24px rgba(21, 31, 109, .07);
  }

  50% {
    box-shadow: 0 14px 30px rgba(21, 31, 109, .1);
  }
}

@keyframes footer-social-halo {
  0%,
  100% {
    opacity: .22;
    transform: scale(.78) rotate(0deg);
  }

  50% {
    opacity: .52;
    transform: scale(1.04) rotate(16deg);
  }
}

@keyframes footer-social-icon-breathe {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-social-label,
  .footer-social-label::before,
  .footer-social-label::after,
  .footer-about .socials a::before,
  .footer-about .social-icon {
    animation: none;
  }
}

.footer-book {
  position: relative;
  min-height: 535px;
  padding-top: 0;
}

.footer-book h2 {
  position: relative;
  z-index: 2;
  width: max-content;
  margin-left: 0;
  text-decoration-style: solid;
  text-decoration-thickness: 4px;
  text-underline-offset: 14px;
}

.footer-main h2 {
  font-size: 1.55rem;
}

.footer-book-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  z-index: 2;
  width: 274px;
  min-height: 88px;
  margin: 36px 0 54px 0;
  padding: 15px 18px;
  gap: 14px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .28), transparent 28%),
    linear-gradient(135deg, #f02a78 0%, #d20f8c 58%, #b91383 100%);
  background-size: 140% 140%, 180% 180%;
  box-shadow: 0 18px 34px rgba(210, 15, 140, .20), inset 0 1px 0 rgba(255, 255, 255, .32);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  animation: footer-book-gradient-breathe 7.2s ease-in-out infinite;
}

.footer-book-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(from 0deg, rgba(255, 255, 255, .16), rgba(178, 210, 53, .72), rgba(243, 113, 33, .62), rgba(255, 255, 255, .2), rgba(210, 15, 140, .78), rgba(255, 255, 255, .16));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .48;
  pointer-events: none;
  animation: footer-book-border-orbit 8.5s linear infinite;
}

.footer-book-card::after {
  content: "";
  position: absolute;
  left: 82px;
  top: 50%;
  z-index: 1;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  box-shadow: 13px 0 0 rgba(178, 210, 53, .72), 26px 0 0 rgba(255, 255, 255, .42), 0 0 18px rgba(255, 255, 255, .28);
  opacity: 0;
  pointer-events: none;
  transform: translate(-22px, 18px) scale(.72);
  animation: footer-book-dot-trail 5.8s cubic-bezier(.4, 0, .2, 1) infinite;
}

.footer-book-card:hover {
  transform: translateY(-2px) scale(1.012);
  filter: saturate(1.06);
  box-shadow: 0 24px 44px rgba(210, 15, 140, .27), inset 0 1px 0 rgba(255, 255, 255, .4);
}

.footer-book-card > svg,
.footer-book-card > span {
  position: relative;
  z-index: 1;
}

.footer-book-card svg {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 10px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .18);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34);
  stroke-width: 2.6;
  transform-box: fill-box;
  transform-origin: center;
  animation: footer-book-calendar-lift 5.8s ease-in-out infinite;
}

.footer-book-card svg path {
  transform-box: fill-box;
  transform-origin: center;
}

.footer-book-card svg path:nth-child(2),
.footer-book-card svg path:nth-child(3) {
  animation: footer-book-calendar-tabs 5.8s ease-in-out infinite;
}

.footer-book-card svg path:nth-child(4) {
  animation: footer-book-calendar-line 5.8s ease-in-out infinite;
}

.footer-book-card strong {
  font-size: 1.25rem;
  line-height: .98;
  white-space: nowrap;
}

.footer-book-card small {
  margin-top: 4px;
  font-size: .78rem;
  line-height: 1.2;
  opacity: .94;
  white-space: nowrap;
}

@keyframes footer-book-gradient-breathe {
  0%,
  100% {
    background-position: 0% 32%, 0% 50%;
    box-shadow: 0 18px 34px rgba(210, 15, 140, .20), inset 0 1px 0 rgba(255, 255, 255, .32);
  }

  50% {
    background-position: 44% 0%, 100% 50%;
    box-shadow: 0 22px 42px rgba(210, 15, 140, .24), inset 0 1px 0 rgba(255, 255, 255, .38);
  }
}

@keyframes footer-book-border-orbit {
  to { transform: rotate(360deg); }
}

@keyframes footer-book-dot-trail {
  0%,
  48%,
  100% {
    opacity: 0;
    transform: translate(-22px, 18px) scale(.72);
  }

  58% {
    opacity: .72;
    transform: translate(16px, -2px) scale(1);
  }

  72% {
    opacity: 0;
    transform: translate(126px, -18px) scale(.92);
  }
}

@keyframes footer-book-calendar-lift {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  44% {
    transform: translateY(0) rotate(0deg);
  }

  55% {
    transform: translateY(-1.5px) rotate(-1.2deg);
  }

  68% {
    transform: translateY(.5px) rotate(.7deg);
  }
}

@keyframes footer-book-calendar-tabs {
  0%,
  46%,
  100% {
    transform: translateY(0);
  }

  56% {
    transform: translateY(-1.2px);
  }
}

@keyframes footer-book-calendar-line {
  0%,
  48%,
  100% {
    transform: scaleX(1);
    opacity: 1;
  }

  58% {
    transform: scaleX(.62);
    opacity: .65;
  }

  68% {
    transform: scaleX(1.05);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-book-card,
  .footer-book-card::before,
  .footer-book-card::after,
  .footer-book-card svg,
  .footer-book-card svg path {
    animation: none;
  }
}

.footer-login {
  position: relative;
  z-index: 2;
  gap: 22px;
  margin-left: 12px;
}

.footer-login svg {
  width: 58px;
  height: 58px;
  stroke-width: 2.5;
}

.footer-login strong {
  font-size: 1.25rem;
  line-height: 1.05;
}

.footer-login small {
  margin-top: 8px;
  font-size: .94rem;
  line-height: 1.25;
  white-space: nowrap;
}

.footer-doodle {
  position: absolute;
  pointer-events: none;
}

.footer-doodle-loop {
  left: -44px;
  top: 2px;
  width: 96px;
  height: 58px;
}

.footer-doodle-loop::before,
.footer-doodle-loop::after {
  content: "";
  position: absolute;
  border: 4px solid var(--raspberry);
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  opacity: .84;
}

.footer-doodle-loop::before {
  left: 2px;
  top: 22px;
  width: 44px;
  height: 30px;
  transform: rotate(44deg);
}

.footer-doodle-loop::after {
  left: 42px;
  top: 2px;
  width: 48px;
  height: 54px;
  transform: rotate(128deg);
}

.footer-doodle-star {
  left: 176px;
  top: 6px;
  color: var(--lime);
}

.footer-doodle-star svg {
  width: 50px;
  height: 50px;
  stroke-width: 2.2;
}

.footer-doodle-dots {
  left: -18px;
  bottom: 10px;
  width: 86px;
  height: 72px;
  background: radial-gradient(#f7ca33 5px, transparent 6px) 0 0 / 34px 28px;
  opacity: .92;
}

.footer-trust-wrap {
  position: relative;
  z-index: 2;
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
}

.footer-trust-wrap::before {
  content: "";
  position: absolute;
  left: -132px;
  top: -16px;
  z-index: 1;
  width: 58px;
  height: 77px;
  background: url("../images/header-text-bars-right-green.svg") center / contain no-repeat;
  transform: scaleX(-1) rotate(-10deg);
  pointer-events: none;
}

.footer-trust-decor {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

.footer-trust-dots {
  display: none;
}

.footer-trust-star-pink {
  left: -54px;
  top: 4px;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.footer-trust-curl {
  right: -104px;
  top: -22px;
  width: 128px;
  height: 88px;
  color: var(--lime);
  fill: currentColor;
  transform: rotate(-4deg);
}

.footer-trust-curl path {
  fill: currentColor;
}

.footer-trust-star-blue {
  right: -20px;
  top: 46px;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.footer-trust .trust-item span {
  background: #ffd9ec;
  color: var(--raspberry);
}

.footer-trust .trust-item:nth-child(2) span {
  background: #eaf6c9;
  color: #86ad00;
}

.footer-trust .trust-item:nth-child(3) span {
  background: #dceeff;
  color: var(--sky);
}

.footer-trust .trust-item:nth-child(4) span {
  background: #ffe7bd;
  color: var(--satsuma);
}

@media (max-width: 760px) {
  .footer-trust-wrap {
    display: none;
  }
}

.hero-slide-content h1 {
  font-size: clamp(2.7rem, 4.3vw, 5rem);
}

@media (min-width: 761px) {
  .hero-buttons .btn {
    width: 320px;
  }

  .hero-buttons .btn span {
    white-space: nowrap;
  }
}

/* Mobile hero CTAs: keep the venue finder visible and let the sticky booking button handle booking. */
@media (max-width: 760px) {
  .hero-slider .hero-buttons .btn-primary,
  .page-hero .hero-buttons .btn-primary {
    display: none;
  }
}

.doodle-star img {
  width: 86px;
  height: 86px;
  object-fit: contain;
}

.home-hero-orange-shape {
  position: absolute;
  right: -220px;
  bottom: -350px;
  z-index: 2;
  width: 1100px;
  height: 1100px;
  background: url("../images/organic-shape-3-blue.svg") calc(50% + 333px) calc(50% - 243px) / contain no-repeat;
  pointer-events: none;
}

.home-hero-orange-shape::before {
  content: "";
  position: absolute;
  left: 570px;
  top: 455px;
  z-index: 2;
  width: 285px;
  height: 285px;
  background: url("../images/chevron.svg") center / contain no-repeat;
  animation: home-chevron-color-shift 20s ease-in-out infinite;
  will-change: opacity;
}

.home-hero-orange-shape::after {
  content: "";
  position: absolute;
  left: 540px;
  top: 290px;
  z-index: 1;
  width: 500px;
  height: 500px;
  background: url("../images/halftone-sphere.svg") center / contain no-repeat;
}

@keyframes home-chevron-color-shift {
  0%,
  22% {
    opacity: 1;
    filter: none;
  }

  44% {
    opacity: 0;
    filter: none;
  }

  45% {
    opacity: 0;
    filter: brightness(0) saturate(100%) invert(83%) sepia(54%) saturate(694%) hue-rotate(20deg) brightness(90%) contrast(86%);
  }

  67%,
  72% {
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(83%) sepia(54%) saturate(694%) hue-rotate(20deg) brightness(90%) contrast(86%);
  }

  94% {
    opacity: 0;
    filter: brightness(0) saturate(100%) invert(83%) sepia(54%) saturate(694%) hue-rotate(20deg) brightness(90%) contrast(86%);
  }

  95% {
    opacity: 0;
    filter: none;
  }

  100% {
    opacity: 1;
    filter: none;
  }
}

.hero-star-one img {
  filter: brightness(0) invert(1);
}

.hero-star-two img {
  width: 104px;
  height: 104px;
}

@media (max-width: 760px) {
  .hero-star-one img {
    width: 58px;
    height: 58px;
  }

  .hero-star-two img {
    width: 68px;
    height: 68px;
  }
}

.note-text {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1rem, .98vw, 1.16rem);
  line-height: 1.5;
}

.parent-info-btn {
  margin-top: clamp(16px, 1.6vw, 24px);
}

.nearest-camp-pay-btn {
  margin-top: clamp(14px, 1.4vw, 22px);
}

.cta-panel h2 {
  font-size: clamp(1.45rem, 1.75vw, 2.35rem);
  line-height: 1.04;
}

.cta-panel {
  overflow: visible;
}

.cta-star {
  position: absolute;
  right: -56px;
  top: -56px;
  width: 132px;
  height: 132px;
  object-fit: contain;
  z-index: 3;
  opacity: 1;
  pointer-events: none;
}

.hero-copy h1 {
  font-size: clamp(3rem, 5.4vw, 6.6rem);
  line-height: .92;
  margin-bottom: 24px;
}

.hero-copy h2 {
  font-size: clamp(1.25rem, 2vw, 2.25rem);
  line-height: 1.08;
  margin-bottom: 18px;
}

.hero-copy p {
  font-size: clamp(.98rem, 1vw, 1.12rem);
  line-height: 1.42;
}

.pricing-panel h2,
.soft-card h2,
.content-block h2,
.price-card h2,
.ways-card h2,
.contact-panel h2,
.map-panel h2,
.policy-panel h2,
.large-card h2 {
  font-size: clamp(1.45rem, 1.65vw, 2.15rem);
  line-height: 1.05;
  margin-bottom: 16px;
}

.venue-hero-copy h1 {
  font-size: clamp(2.55rem, 3.85vw, 4.65rem);
  line-height: .94;
  margin-bottom: 22px;
}

.venue-hero-copy p {
  font-size: clamp(1.08rem, 1.42vw, 1.72rem);
  line-height: 1.2;
  max-width: 620px;
}

.venue-hero-copy .btn {
  margin-top: clamp(14px, 1.4vw, 22px);
}

.page-parents .parents-main {
  display: grid;
  gap: var(--page-section-gap);
  margin-top: 0;
}

.page-parents .hero-copy h1 {
  font-size: clamp(3.35rem, 6vw, 7.25rem);
}

body:not(.page-home):not(.page-venue) .hero-copy h1 {
  font-size: clamp(2.55rem, 3.85vw, 4.65rem);
  line-height: .94;
  margin-bottom: 22px;
}

body:not(.page-home):not(.page-venue) .hero-copy h2 {
  font-size: clamp(1.08rem, 1.42vw, 1.72rem);
  line-height: 1.2;
}

.page-parents .hero-copy h2 {
  font-size: clamp(1.45rem, 2.25vw, 2.55rem);
}

.page-parents .hero-copy p {
  font-size: clamp(1.06rem, 1.08vw, 1.2rem);
}

.page-parents .hero-buttons .btn {
  min-height: 58px;
  padding-inline: 34px;
  font-size: 1.05rem;
}

.page-parents .parents-card-grid {
  display: grid;
  gap: clamp(18px, 1.55vw, 22px);
}

.page-parents .parents-card-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-parents .parents-card-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-parents .parents-card,
.page-parents .parents-trust-panel,
.page-parents .parents-quote,
.page-parents .parents-help-panel {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fff, #f8f7ff);
  border: 1px solid #eef0fa;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(21, 31, 109, .08);
}

.page-parents .parents-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: visible;
  padding: clamp(28px, 2.8vw, 40px);
}

.page-parents .parents-card-large {
  min-height: 700px;
}

.page-parents .parents-card-small {
  min-height: 410px;
  padding: clamp(24px, 2.35vw, 34px);
}

.page-parents .parents-card::after,
.page-parents .parents-trust-panel::after,
.page-parents .parents-help-panel::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 18px;
  width: 58px;
  height: 58px;
  opacity: .9;
  background: repeating-linear-gradient(135deg, currentColor 0 3px, transparent 3px 9px);
  transform: rotate(-18deg);
}

.page-parents .parents-card::after {
  right: 8px;
  bottom: 8px;
  width: 62px;
  height: 62px;
  opacity: 1;
  background: url("../images/zigzag-scribble-reverted.svg") center / contain no-repeat;
}

.page-parents .parents-card-lime::after { color: #82ad00; filter: hue-rotate(64deg) saturate(1.35) brightness(.92); }
.page-parents .parents-card-blue::after { color: #2f85ff; filter: hue-rotate(190deg) saturate(1.45) brightness(1.1); }
.page-parents .parents-card-orange::after { color: var(--satsuma); }
.page-parents .parents-card-purple::after { color: var(--purple); filter: hue-rotate(245deg) saturate(1.55) brightness(.95); }
.page-parents .parents-card-pink::after { color: var(--raspberry); filter: hue-rotate(300deg) saturate(1.45) brightness(.9); }

.page-parents .parents-card-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin-bottom: 18px;
  color: #fff;
  background: var(--raspberry);
  box-shadow: 0 12px 24px rgba(21, 31, 109, .12);
}

.page-parents .parents-card-icon svg {
  width: 42px;
  height: 42px;
}

.page-parents .parents-card-lime .parents-card-icon { background: #82ad00; }
.page-parents .parents-card-blue .parents-card-icon { background: #3488f4; }
.page-parents .parents-card-orange .parents-card-icon { background: var(--satsuma); }
.page-parents .parents-card-purple .parents-card-icon { background: var(--purple); }

.page-parents .parents-card h2,
.page-parents .parents-trust-panel h2,
.page-parents .parents-section-heading h2 {
  margin: 0 0 14px;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.46rem, 1.56vw, 1.9rem);
  line-height: 1.03;
  text-transform: lowercase;
}

.page-parents .parents-help-panel h2 {
  margin: 0 0 14px;
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.46rem, 1.56vw, 1.9rem);
  line-height: 1.03;
  text-transform: lowercase;
}

.page-parents .parents-card p,
.page-parents .parents-trust-panel p,
.page-parents .parents-help-panel p {
  margin: 0 0 18px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.02rem, 1.02vw, 1.16rem);
  line-height: 1.42;
}

.page-parents .parents-card-small h2 {
  font-size: clamp(1.46rem, 1.56vw, 1.9rem);
}

.page-parents .parents-card-small p,
.page-parents .parents-card-small .parents-checks {
  font-size: 1rem;
}

.page-parents .parents-checks {
  display: grid;
  gap: 12px;
  margin: 8px 0 22px;
  padding: 0;
  list-style: none;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1.04rem;
  line-height: 1.4;
}

.page-parents .parents-checks li {
  position: relative;
  padding-left: 30px;
}

.page-parents .parents-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .22em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--lime);
}

.page-parents .parents-checks li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: .55em;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.page-parents .parents-note-box {
  display: grid;
  gap: 5px;
  margin: auto 0 18px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff0f8;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .86rem;
}

.page-parents .parents-note-box strong {
  color: var(--raspberry);
}

.page-parents .parents-note-box small {
  position: relative;
  padding-left: 22px;
  font-family: GilroyBold, Arial, sans-serif;
}

.page-parents .parents-note-box small::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 15px;
  height: 15px;
  border: 2px solid var(--raspberry);
  border-radius: 50%;
}

.page-parents .parents-note-box small::after {
  content: "";
  position: absolute;
  left: 7px;
  top: .5em;
  width: 5px;
  height: 5px;
  border-left: 2px solid var(--raspberry);
  border-bottom: 2px solid var(--raspberry);
  border-radius: 0 0 0 2px;
}

.page-parents .parents-pill {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin-top: auto;
  padding: 0 22px;
  border: 2px solid transparent;
  border-radius: 8px;
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .96rem;
  text-transform: uppercase;
  box-shadow: 0 12px 24px rgba(21, 31, 109, .1);
}

.page-parents .parents-pill svg {
  width: 18px;
  height: 18px;
}

.page-parents .parents-button-stack {
  display: grid;
  gap: 12px;
  margin-top: auto;
}

.page-parents .parents-button-stack .parents-pill {
  width: 100%;
}

.page-parents .parents-card > .parents-pill,
.page-parents .parents-button-stack {
  width: 100%;
}

.page-parents .parents-pill-pink { background: var(--raspberry); }
.page-parents .parents-pill-lime { background: #82ad00; }
.page-parents .parents-pill-blue { background: #3488f4; }
.page-parents .parents-pill-orange { background: var(--satsuma); }
.page-parents .parents-pill-purple { background: var(--purple); }
.page-parents .parents-pill-outline-lime { background: #fff; color: var(--blackberry); border-color: #82ad00; box-shadow: none; }
.page-parents .parents-pill-outline-pink { background: #fff; color: var(--raspberry); border-color: var(--raspberry); box-shadow: none; }
.page-parents .parents-pill-blue-outline { background: transparent; color: #fff; border-color: #fff; box-shadow: none; }

.page-parents .parents-trust-panel {
  padding: clamp(24px, 2.6vw, 38px);
}

.page-parents .parents-trust-panel::after {
  top: clamp(-56px, -3.1vw, -28px);
  right: clamp(-42px, -2.3vw, -20px);
  bottom: auto;
  width: clamp(132px, 9vw, 164px);
  height: clamp(132px, 9vw, 164px);
  opacity: .9;
  background: url("../images/curl-2-flipped.svg") center / contain no-repeat;
  transform: rotate(8deg);
}

.page-parents .parents-trust-panel p {
  max-width: 780px;
}

.page-parents .parents-trust-grid,
.page-parents .parents-bottom-trust {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0;
  margin-top: 28px;
}

.page-parents .parents-trust-item {
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 100px;
  padding: 0 14px;
  border-left: 1px solid var(--line);
  color: var(--blackberry);
  text-align: center;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.18;
}

.page-parents .parents-trust-item:first-child {
  border-left: 0;
}

.page-parents .parents-trust-item svg {
  width: 42px;
  height: 42px;
  color: var(--blueberry);
}

.page-parents .parents-section-heading {
  position: relative;
  width: min(100%, 760px);
  margin: clamp(26px, 3vw, 44px) auto 28px;
  text-align: center;
}

.page-parents .parents-section-heading h2 {
  margin-bottom: 10px;
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
}

.page-parents .parents-section-heading p,
.page-parents .parents-section-heading small {
  margin: 0 auto;
  font-family: GilroyBold, Arial, sans-serif;
}

.page-parents .parents-section-heading p {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  min-height: 38px;
  padding: 0 24px;
  border-radius: 999px;
  color: var(--blackberry);
  font-size: clamp(1rem, 1.05vw, 1.16rem);
  line-height: 1.2;
  background: linear-gradient(135deg, #fff, #f7f6ff);
  box-shadow:
    inset 0 0 0 1px rgba(40, 58, 151, .1),
    0 12px 30px rgba(21, 31, 109, .07);
}

.page-parents .parents-section-heading p::before,
.page-parents .parents-section-heading p::after {
  content: "";
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--raspberry));
}

.page-parents .parents-section-heading p::after {
  background: linear-gradient(90deg, var(--raspberry), transparent);
}

.page-parents .parents-section-heading p span {
  display: inline-block;
  min-width: 0;
}

.page-parents .parents-section-heading small {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  max-width: min(100%, 720px);
  margin-top: 9px;
  padding: 8px 16px;
  border: 1px solid rgba(210, 15, 140, .18);
  border-radius: 999px;
  color: var(--raspberry);
  font-size: clamp(.78rem, .82vw, .9rem);
  line-height: 1.18;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,240,248,.82));
}

.page-parents .parents-section-heading small span:first-child {
  color: var(--blackberry);
}

.page-parents .parents-section-heading small span + span::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 8px 1px 0;
  border-radius: 50%;
  background: var(--raspberry);
}

@media (max-width: 520px) {
  .page-parents .parents-section-heading {
    margin-top: 22px;
    margin-bottom: 22px;
  }

  .page-parents .parents-section-heading h2 {
    margin-bottom: 12px;
  }

  .page-parents .parents-section-heading p {
    min-height: 0;
    padding: 10px 16px;
    border-radius: 18px;
  }

  .page-parents .parents-section-heading p::before,
  .page-parents .parents-section-heading p::after {
    display: none;
  }

  .page-parents .parents-section-heading small {
    border-radius: 18px;
  }
}
.page-parents .parents-quote-wrap {
  --parents-quote-gap: clamp(16px, 1.6vw, 22px);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 18px;
  align-items: center;
  margin-top: 24px;
}

.page-parents .parents-quotes {
  display: flex;
  gap: var(--parents-quote-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 8px 2px 18px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.page-parents .parents-quotes::-webkit-scrollbar {
  display: none;
}

.page-parents .parents-quote {
  isolation: isolate;
  display: grid;
  flex: 0 0 calc((100% - (var(--parents-quote-gap) * 2)) / 3);
  grid-template-rows: auto 1fr auto;
  min-height: clamp(300px, 24vw, 336px);
  padding: clamp(24px, 2vw, 28px);
  border: 1px solid rgba(40, 58, 151, .12);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.86)) padding-box,
    linear-gradient(135deg, color-mix(in srgb, var(--quote-accent, var(--raspberry)) 58%, #fff), rgba(178,210,53,.36), rgba(46,138,239,.34)) border-box;
  box-shadow:
    0 18px 42px rgba(21, 31, 109, .09),
    inset 0 1px 0 rgba(255, 255, 255, .9);
  scroll-snap-align: start;
}

.page-parents .parents-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--quote-accent, var(--raspberry)) 18%, transparent) 0 16%, transparent 34%),
    linear-gradient(120deg, color-mix(in srgb, var(--quote-accent, var(--raspberry)) 7%, #fff), #fff 54%);
}

.page-parents .parents-quote-blue { --quote-accent: var(--blueberry); }
.page-parents .parents-quote-pink { --quote-accent: var(--raspberry); }
.page-parents .parents-quote-lime { --quote-accent: #82ad00; }
.page-parents .parents-quote-orange { --quote-accent: var(--satsuma); }
.page-parents .parents-quote-purple { --quote-accent: var(--purple); }
.page-parents .parents-quote-sky { --quote-accent: var(--sky); }

.page-parents .parents-quote-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.page-parents .parents-quote-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--quote-accent, var(--raspberry)) 12%, #fff);
  color: var(--quote-accent, var(--raspberry));
  font-family: Georgia, serif;
  font-size: 4.2rem;
  line-height: .78;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--quote-accent, var(--raspberry)) 20%, transparent);
}

.page-parents .parents-quote-index {
  min-width: 46px;
  padding: 8px 10px;
  border-radius: 999px;
  background: var(--blackberry);
  color: #fff;
  text-align: center;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1;
}

.page-parents .parents-quote p {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.02rem, .98vw, 1.15rem);
  font-style: normal;
  line-height: 1.34;
}

.page-parents .parents-quote-footer {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 16px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--quote-accent, var(--raspberry)) 18%, #e8eaf5);
}

.page-parents .parents-quote-footer span {
  display: grid;
  gap: 3px;
}

.page-parents .parents-quote strong {
  color: var(--blackberry);
  font-size: 1rem;
  line-height: 1.1;
}

.page-parents .parents-quote small {
  color: color-mix(in srgb, var(--blackberry) 68%, #6f7795);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .82rem;
}

.page-parents .parents-slider-btn {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #ffe2f1;
  color: var(--raspberry);
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(210, 15, 140, .14);
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.page-parents .parents-slider-btn svg {
  width: 22px;
  height: 22px;
}

.page-parents .parents-slider-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(210, 15, 140, .18);
}

.page-parents .parents-slider-btn:disabled {
  opacity: .38;
  cursor: default;
}

.page-parents .parents-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 16px 0 18px;
}

.page-parents .parents-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d7d8e5;
  cursor: pointer;
  transition: width .18s ease, background .18s ease, transform .18s ease;
}

.page-parents .parents-dots button.is-active,
.page-parents .parents-dots button[aria-current="true"] {
  width: 30px;
  background: var(--raspberry);
}

.page-parents .parents-dots button:hover {
  transform: translateY(-1px);
}

@media (max-width: 1180px) {
  .page-parents .parents-quote-wrap {
    grid-template-columns: 46px minmax(0, 1fr) 46px;
    gap: 14px;
  }

  .page-parents .parents-quote {
    flex-basis: calc((100% - var(--parents-quote-gap)) / 2);
    min-height: 318px;
  }
}

@media (max-width: 760px) {
  .page-parents .parents-quote-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    justify-content: center;
    gap: 12px;
  }

  .page-parents .parents-quotes {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    padding-inline: 2px;
  }

  .page-parents .parents-slider-btn {
    grid-row: 2;
    width: 46px;
    height: 46px;
    margin-top: 2px;
  }

  .page-parents .parents-slider-btn[data-parents-testimonial-prev] {
    grid-column: 1;
    justify-self: end;
  }

  .page-parents .parents-slider-btn[data-parents-testimonial-next] {
    grid-column: 2;
    justify-self: start;
  }

  .page-parents .parents-quote {
    flex-basis: 100%;
    min-height: 0;
    padding: 24px;
  }

  .page-parents .parents-quote p {
    font-size: clamp(1rem, 4.35vw, 1.1rem);
    line-height: 1.34;
  }

  .page-parents .parents-quote-footer {
    align-items: flex-start;
    flex-direction: column;
  }

}

.page-parents .parents-help-panel {
  display: grid;
  grid-template-columns: 96px 1fr 300px;
  gap: 24px;
  align-items: center;
  padding: 24px 34px;
  background: linear-gradient(135deg, #03146f, #082c94);
  color: #fff;
}

.page-parents .parents-help-panel h2,
.page-parents .parents-help-panel p {
  color: #fff;
}

.page-parents .parents-help-icon {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eadcff;
  color: var(--purple);
}

.page-parents .parents-help-icon svg {
  width: 42px;
  height: 42px;
}

.page-parents .parents-help-actions {
  display: grid;
  gap: 8px;
}

.page-parents .parents-help-actions .parents-pill {
  width: 100%;
  min-height: 42px;
  font-size: .88rem;
}

.page-parents .parents-help-star {
  position: absolute;
  right: 72px;
  top: 28px;
  color: var(--satsuma);
}

.page-parents .parents-help-star svg {
  width: 82px;
  height: 82px;
}

.page-parents .parents-help-panel::after {
  display: none;
}

.page-parents .parents-bottom-trust {
  margin-top: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.page-parents .parents-bottom-trust span {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 52px;
  padding: 0 20px;
  border-left: 1px solid var(--line);
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .92rem;
  line-height: 1.18;
}

.page-parents .parents-bottom-trust span:first-child {
  border-left: 0;
}

.page-parents .parents-bottom-trust svg {
  width: 34px;
  height: 34px;
  color: var(--blueberry);
}

.quick-facts .fact-item {
  grid-template-rows: 58px auto auto;
  align-content: start;
  align-items: start;
  justify-items: center;
  padding: 0 14px;
}

.venue-hero {
  overflow: visible;
}

.venue-hero-billericay {
  overflow-x: clip;
  overflow-y: visible;
}

@supports not (overflow: clip) {
  .venue-hero-billericay {
    overflow-x: hidden;
    overflow-y: visible;
  }
}

.quick-facts {
  align-items: stretch;
  width: 100%;
  margin-top: clamp(28px, 3vw, 44px);
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  box-shadow: 0 30px 90px rgba(21, 31, 109, .035), 0 8px 28px rgba(21, 31, 109, .025);
}

.quick-facts h2 {
  font-size: clamp(1.18rem, 1.34vw, 1.72rem);
  align-self: center;
  padding-right: clamp(14px, 1.7vw, 28px);
  white-space: nowrap;
}

.venue-hero-decorated .quick-facts h2 {
  align-self: stretch;
  display: flex;
  align-items: center;
  line-height: 1;
}

.venue-hero-billericay .quick-facts h2 {
  justify-content: center;
  padding-right: 0;
  text-align: center;
}

.quick-facts .fact-item svg {
  align-self: center;
  justify-self: center;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: currentColor;
  overflow: visible;
}

.quick-facts .quick-fact-icon {
  align-self: center;
  justify-self: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #1565c0;
  background: #c8e6ff;
}

.quick-facts .quick-fact-time {
  background: #ffe4f1;
  color: #ad1457;
}

.quick-facts .quick-fact-address {
  background: #fff0d3;
  color: #e65100;
}

.quick-facts .quick-fact-swimming {
  background: #efe5ff;
  color: #6a1b9a;
}

.quick-facts .quick-fact-wraparound {
  background: #dff2ff;
  color: #0277bd;
}

.quick-facts .quick-fact-funded {
  background: #eaf7d2;
  color: #558b2f;
}

.quick-facts .quick-fact-age-primary,
.quick-facts .quick-fact-age-secondary {
  animation: qfAltFade 3s ease-in-out infinite;
}

.quick-facts .quick-fact-age-secondary {
  animation-delay: 1.5s;
  opacity: .6;
}

.quick-facts .quick-fact-minute-hand {
  transform-origin: 15px 15px;
  animation: qfMinuteHand 5s linear infinite;
}

.quick-facts .quick-fact-pin {
  animation: qfPinBounce 2.4s ease-in-out infinite;
}

.quick-facts .quick-fact-ripple {
  transform-origin: 0 0;
  animation: qfRipplePop 2.2s ease-out infinite;
}

.quick-facts .quick-fact-ripple-late {
  animation-delay: .95s;
}

.quick-facts .quick-fact-swimmer {
  animation: qfSwimBob 3.4s ease-in-out infinite;
}

.quick-facts .quick-fact-wave-flow {
  animation: qfWaveFlow 4.2s linear infinite;
}

.quick-facts .quick-fact-spin {
  transform-origin: 15px 15px;
  animation: qfSpinCW 8.5s linear infinite;
}

.quick-facts .quick-fact-funded-coin {
  animation: qfHeadShake 4s ease-in-out infinite 1.2s;
}

@keyframes qfAltFade {
  0%,
  100% { opacity: 1; }
  50% { opacity: .25; }
}

@keyframes qfMinuteHand {
  to { transform: rotate(360deg); }
}

@keyframes qfPinBounce {
  0%,
  100% { transform: translateY(0); }
  45% { transform: translateY(-4px); }
  65% { transform: translateY(-2px); }
}

@keyframes qfRipplePop {
  0% { transform: scale(.05); opacity: .65; }
  100% { transform: scale(1); opacity: 0; }
}

@keyframes qfWaveFlow {
  to { transform: translateX(-24px); }
}

@keyframes qfSwimBob {
  0%,
  100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-1.25px) rotate(1.25deg); }
}

@keyframes qfSpinCW {
  to { transform: rotate(360deg); }
}

@keyframes qfHeadShake {
  0%,
  65%,
  100% { transform: translateX(0); }
  10% { transform: translateX(-5px); }
  20% { transform: translateX(5px); }
  30% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  50% { transform: translateX(-2px); }
  60% { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .quick-facts .quick-fact-age-primary,
  .quick-facts .quick-fact-age-secondary,
  .quick-facts .quick-fact-minute-hand,
  .quick-facts .quick-fact-pin,
  .quick-facts .quick-fact-ripple,
  .quick-facts .quick-fact-swimmer,
  .quick-facts .quick-fact-wave-flow,
  .quick-facts .quick-fact-spin,
  .quick-facts .quick-fact-funded-coin {
    animation: none;
  }
}

.quick-facts .fact-item strong {
  font-size: clamp(.72rem, .76vw, .84rem);
  line-height: 1.12;
}

.quick-facts .fact-item span:not(.quick-fact-icon) {
  display: block;
  font-size: clamp(.74rem, .8vw, .88rem);
  line-height: 1.16;
}

.venue-hero-decorated .section-inner {
  position: relative;
  isolation: isolate;
}

.venue-hero-decorated .section-inner::before {
  content: "";
  position: absolute;
  right: clamp(-205px, -10.5vw, -138px);
  top: clamp(132px, 9vw, 190px);
  z-index: 0;
  width: clamp(392px, 27vw, 515px);
  height: clamp(480px, 33vw, 620px);
  background: url("../images/organic-shape-3-blue.svg") 30% 90% / 205% 205% no-repeat;
  transform: rotate(-8deg);
  pointer-events: none;
}

.venue-hero-halftone {
  position: absolute;
  right: clamp(-126px, -6.55vw, -82px);
  top: clamp(238px, 16.1vw, 328px);
  z-index: 0;
  width: clamp(308px, 21.15vw, 392px);
  aspect-ratio: 1;
  background: url("../images/halftone-sphere.svg") center / contain no-repeat;
  opacity: .96;
  clip-path: ellipse(49% 49% at 52% 55%);
  overflow: hidden;
  pointer-events: none;
}

.venue-hero-halftone.is-ready {
  background: none;
}

.venue-hero-dot {
  position: absolute;
  left: calc(var(--dot-x) * 1%);
  top: calc(var(--dot-y) * 1%);
  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 999px;
  background: var(--raspberry);
  opacity: var(--dot-opacity);
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center;
  will-change: background-color, transform;
}

.venue-hero-dot.is-lime {
  animation: venueHeroDotLime var(--dot-duration) ease-in-out infinite;
  animation-delay: var(--dot-delay);
}

@keyframes venueHeroDotLime {
  0%,
  68%,
  100% {
    background: var(--raspberry);
    transform: translate(-50%, -50%) scale(1);
  }

  77%,
  88% {
    background: var(--lime);
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .venue-hero-dot.is-lime {
    animation: none;
  }
}

.venue-hero-decorated .venue-hero-grid,
.venue-hero-decorated .quick-facts,
.venue-hero-decorated .breadcrumb {
  position: relative;
}

.venue-hero-decorated .venue-hero-grid {
  z-index: 1;
}

.venue-hero-decorated .quick-facts {
  z-index: 3;
}

.venue-hero-decorated .breadcrumb {
  z-index: 4;
}

.home-activity-strip {
  --home-icon-navy: #1e2a78;
  --home-c-sports: #d4eaf7;
  --home-c-crafts: #fbd9e0;
  --home-c-cookery: #fde4c0;
  --home-c-enrich: #e0d9f5;
  --home-c-swim: #d6e8fa;
  --home-c-tuck: #e3eecf;
  grid-template-columns: minmax(330px, .88fr) repeat(6, minmax(98px, 1fr));
  align-items: center;
  gap: clamp(14px, 1.45vw, 24px);
  min-height: 315px;
  padding: clamp(28px, 2.8vw, 42px) clamp(42px, 4.8vw, 76px);
  border-radius: 24px;
  box-shadow: 0 22px 56px rgba(21,31,109,.08);
}

.home-activity-strip .activity-copy h2 {
  font-size: clamp(1.9rem, 2.1vw, 2.45rem);
  line-height: 1.02;
  margin: 0 0 20px;
  color: var(--blackberry);
  text-transform: lowercase;
}

.home-activity-strip .activity-copy p {
  max-width: 330px;
  margin: 0 0 22px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.02rem, 1.08vw, 1.22rem);
  line-height: 1.42;
}

.home-activity-strip .activity-copy .btn {
  width: min(100%, 350px);
  min-height: 58px;
  padding: 0 24px;
  border-radius: 12px;
  border-width: 2px;
  box-shadow: none;
  white-space: nowrap;
}

.home-activity-strip .activity-copy .btn svg {
  display: none;
}

.home-activity-strip .activity-icon {
  gap: clamp(12px, 1.1vw, 18px);
  align-self: start;
}

.home-activity-strip .home-icon-animation-circle {
  width: clamp(84px, 5.4vw, 116px);
  height: clamp(84px, 5.4vw, 116px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  filter: drop-shadow(0 10px 16px rgba(21,31,109,.08));
}

.home-activity-strip .home-icon-animation-circle svg {
  width: clamp(48px, 3.6vw, 66px);
  height: clamp(48px, 3.6vw, 66px);
  display: block;
  overflow: visible;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--home-icon-navy);
  filter: none;
}

.home-activity-strip .activity-icon strong {
  max-width: 128px;
  min-height: 2.6em;
  font-size: clamp(.88rem, .94vw, 1.08rem);
  line-height: 1.08;
  text-align: center;
  text-transform: lowercase;
}

.home-activity-strip .activity-icon strong span {
  display: block;
  font-size: .82em;
  line-height: 1.12;
  text-transform: lowercase;
}

.home-activity-strip .home-c-sports {
  background: var(--home-c-sports);
}

.home-activity-strip .home-c-crafts {
  background: var(--home-c-crafts);
}

.home-activity-strip .home-c-cookery {
  background: var(--home-c-cookery);
}

.home-activity-strip .home-c-enrich {
  background: var(--home-c-enrich);
}

.home-activity-strip .home-c-swim {
  background: var(--home-c-swim);
}

.home-activity-strip .home-c-tuck {
  background: var(--home-c-tuck);
}

.home-activity-strip .anim-ball-bounce {
  transform-origin: 50% 100%;
  animation: homeBallBounce 2.6s cubic-bezier(.45,.05,.55,.95) infinite;
}

.home-activity-strip .anim-brush-paint {
  transform-origin: 50% 100%;
  animation: homeBrushPaint 4s ease-in-out infinite;
}

.home-activity-strip .paint-dot {
  fill: var(--home-icon-navy);
  opacity: 0;
  transform-origin: center;
  animation: homePaintDot 4s ease-in-out infinite;
}

.home-activity-strip .anim-basket-carry {
  transform-origin: 50% 50%;
  animation: homeBasketCarry 3.5s ease-in-out infinite;
}

.home-activity-strip .puff {
  position: absolute;
  left: 50%;
  top: 28%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(30,42,120,.45);
  opacity: 0;
}

.home-activity-strip .puff-1 {
  animation: homePuff 3s ease-out infinite;
}

.home-activity-strip .puff-2 {
  left: 48%;
  animation: homePuff 3s ease-out infinite 1s;
}

.home-activity-strip .puff-3 {
  left: 52%;
  animation: homePuff 3s ease-out infinite 2s;
}

.home-activity-strip .anim-kite-fly {
  transform-origin: 50% 50%;
  animation: homeKiteFly 7s ease-in-out infinite;
}

.home-activity-strip .kite-tail-v2 {
  transform-origin: 50% 0%;
  animation: homeTailRipple 7s ease-in-out infinite;
}

.home-activity-strip .anim-bird-dive {
  transform-origin: 50% 50%;
  animation: homeBirdDive 4.5s ease-in-out infinite;
}

.home-activity-strip .ripple {
  transform-origin: center;
  animation: homeRipple 2.5s ease-in-out infinite;
}

.home-activity-strip .ripple-2 {
  animation-delay: .5s;
}

.home-activity-strip .anim-robot-look {
  transform-origin: 50% 90%;
  animation: homeRobotLook 6s ease-in-out infinite;
}

.home-activity-strip .eye-v2 {
  transform-origin: center;
  animation: homeEyeLook 6s ease-in-out infinite;
}

.home-activity-strip .antenna-tip,
.home-activity-strip .antenna-stem {
  transform-origin: 50% 100%;
  animation: homeAntennaWiggle 6s ease-in-out infinite;
}

@keyframes homeBallBounce {
  0%, 100% { transform: translateY(0) scaleY(1) scaleX(1); }
  20% { transform: translateY(-14px) scaleY(1.05) scaleX(.95); }
  40% { transform: translateY(0) scaleY(.9) scaleX(1.1); }
  50% { transform: translateY(0) scaleY(1) scaleX(1); }
  65% { transform: translateY(-6px) scaleY(1.02) scaleX(.98); }
  80% { transform: translateY(0) scaleY(.95) scaleX(1.05); }
}

@keyframes homeBrushPaint {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-10px) rotate(-8deg); }
  40% { transform: translateY(-8px) rotate(8deg); }
  55% { transform: translateY(-10px) rotate(-4deg); }
  70% { transform: translateY(-6px) rotate(0deg); }
  85% { transform: translateY(0) rotate(0deg); }
}

@keyframes homePaintDot {
  0%, 30%, 90%, 100% { opacity: 0; transform: scale(0); }
  45% { opacity: .9; transform: scale(1); }
  70% { opacity: .6; transform: scale(1.1); }
  85% { opacity: 0; transform: scale(1.2); }
}

@keyframes homeBasketCarry {
  0%, 100% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
}

@keyframes homePuff {
  0% { opacity: 0; transform: translate(-50%,0) scale(.4); }
  30% { opacity: .7; }
  100% { opacity: 0; transform: translate(-50%,-28px) scale(1.6); }
}

@keyframes homeKiteFly {
  0%, 100% { transform: translate(0,0) rotate(0deg); }
  20% { transform: translate(-5px,-4px) rotate(-8deg); }
  40% { transform: translate(0,-6px) rotate(0deg); }
  60% { transform: translate(5px,-4px) rotate(8deg); }
  80% { transform: translate(0,-2px) rotate(0deg); }
}

@keyframes homeTailRipple {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  20% { transform: rotate(15deg) translateY(1px); }
  40% { transform: rotate(-5deg); }
  60% { transform: rotate(-15deg) translateY(1px); }
  80% { transform: rotate(5deg); }
}

@keyframes homeBirdDive {
  0%, 100% { transform: translate(0,0) rotate(0deg); opacity: 1; }
  25% { transform: translate(8px,3px) rotate(15deg); opacity: 1; }
  50% { transform: translate(15px,-2px) rotate(0deg); opacity: 1; }
  55% { opacity: 0; }
  56% { transform: translate(-15px,-2px) rotate(0deg); opacity: 0; }
  65% { transform: translate(-12px,0) rotate(-10deg); opacity: 1; }
  80% { transform: translate(-4px,-1px) rotate(0deg); }
}

@keyframes homeRipple {
  0%, 100% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.15) translateY(-1px); }
}

@keyframes homeRobotLook {
  0%, 90%, 100% { transform: translateX(0); }
  20% { transform: translateX(-2px); }
  50% { transform: translateX(2px); }
}

@keyframes homeEyeLook {
  0%, 90%, 100% { transform: translateX(0) scaleY(1); }
  18%, 22% { transform: translateX(-1.5px) scaleY(1); }
  48%, 52% { transform: translateX(1.5px) scaleY(1); }
  72% { transform: translateX(0) scaleY(.1); }
  76% { transform: translateX(0) scaleY(1); }
}

@keyframes homeAntennaWiggle {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-1.5px); }
  75% { transform: translateX(1.5px); }
}

@media (prefers-reduced-motion: reduce) {
  .home-activity-strip .anim-ball-bounce,
  .home-activity-strip .anim-brush-paint,
  .home-activity-strip .paint-dot,
  .home-activity-strip .anim-basket-carry,
  .home-activity-strip .puff,
  .home-activity-strip .anim-kite-fly,
  .home-activity-strip .kite-tail-v2,
  .home-activity-strip .anim-bird-dive,
  .home-activity-strip .ripple,
  .home-activity-strip .anim-robot-look,
  .home-activity-strip .eye-v2,
  .home-activity-strip .antenna-tip,
  .home-activity-strip .antenna-stem {
    animation: none;
  }
}

@media (max-width: 1180px) {
  .home-activity-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-activity-strip .activity-copy {
    grid-column: 1 / -1;
    text-align: center;
  }

  .home-activity-strip .activity-copy p,
  .home-activity-strip .activity-copy .btn {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 760px) {
  :root {
    --page-section-gap: 30px;
  }

  .page-hero,
  .venue-hero {
    padding-top: 20px;
  }

  .page-hero .hero-visual {
    min-height: 300px;
  }

  .page-hero .hero-visual img {
    height: 320px;
  }

  .page-hero .our-camp-hero-visual .our-camp-hero-frame {
    height: 360px;
  }

  .site-section,
  .page-content > section:not(.hero-slider):not(.page-hero):not(.venue-hero) {
    padding: 42px 0;
  }

  .page-content > .section-inner {
    margin-top: var(--page-section-gap);
    margin-bottom: var(--page-section-gap);
  }

  .pricing-panel,
  .cta-panel,
  .soft-card,
  .content-block,
  .policy-panel,
  .contact-panel,
  .map-panel,
  .parent-login-panel,
  .social-panel,
  .large-card {
    padding: 24px;
  }

  .home-activity-strip {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 30px 22px;
  }

  .page-home .venue-grid {
    grid-template-columns: 1fr;
  }

  .home-activity-strip .activity-icon {
    align-self: center;
  }

  .home-activity-strip .home-icon-animation-circle {
    width: 112px;
    height: 112px;
  }

  .home-activity-strip .home-icon-animation-circle svg {
    width: 64px;
    height: 64px;
  }

  .home-activity-strip .activity-icon strong {
    min-height: 0;
  }

  body.page-home .home-activity-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 28px 18px 22px;
  }

  body.page-home .home-activity-strip .activity-copy {
    grid-column: 1 / -1;
    margin-bottom: 8px;
  }

  body.page-home .home-activity-strip .activity-copy h2 {
    margin-bottom: 16px;
  }

  body.page-home .home-activity-strip .activity-copy p {
    margin-bottom: 20px;
  }

  body.page-home .home-activity-strip .activity-icon {
    width: 100%;
    min-height: 156px;
    padding: 15px 8px 12px;
    border: 1px solid rgba(12, 31, 124, .08);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
    box-shadow: 0 12px 28px rgba(21, 31, 109, .06);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
  }

  body.page-home .home-activity-strip .home-icon-animation-circle {
    width: 86px;
    height: 86px;
    flex: 0 0 86px;
    filter: drop-shadow(0 10px 16px rgba(21, 31, 109, .07));
  }

  body.page-home .home-activity-strip .home-icon-animation-circle svg {
    width: 52px;
    height: 52px;
  }

  body.page-home .home-activity-strip .activity-icon strong {
    max-width: 118px;
    min-height: 0;
    font-size: clamp(.82rem, 3.45vw, .94rem);
    line-height: 1.05;
  }

  body.page-home .home-activity-strip .activity-icon strong span {
    font-size: .86em;
  }

  .page-parents .parents-card-grid,
  .page-parents .parents-card-grid-three,
  .page-parents .parents-card-grid-four,
  .page-parents .parents-quotes,
  .page-parents .parents-bottom-trust,
  .page-parents .parents-help-panel {
    grid-template-columns: 1fr;
  }

  .page-parents .parents-card-large,
  .page-parents .parents-card-small {
    min-height: 0;
  }

  .page-parents .parents-card h2,
  .page-parents .parents-trust-panel h2,
  .page-parents .parents-help-panel h2 {
    font-size: 1.55rem;
  }

  .page-parents .parents-quote-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .page-parents .parents-slider-btn {
    display: grid;
  }

  .page-parents .parents-bottom-trust span {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .page-parents .parents-bottom-trust span:first-child {
    border-top: 0;
  }

  /* Mobile trust tiles: keeps the trust badges scan-friendly without changing desktop. */
  .page-parents .parents-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
  }

  .page-parents .parents-trust-item {
    --trust-accent: var(--sky);
    --trust-soft: rgba(46, 138, 239, .1);
    --trust-border: rgba(46, 138, 239, .2);

    position: relative;
    min-height: 132px;
    padding: 16px 10px 14px;
    overflow: hidden;
    border: 1px solid var(--trust-border);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
    box-shadow: 0 14px 30px rgba(21, 31, 109, .055);
  }

  .page-parents .parents-trust-item:nth-child(2) {
    --trust-accent: var(--raspberry);
    --trust-soft: rgba(210, 15, 140, .09);
    --trust-border: rgba(210, 15, 140, .2);
  }

  .page-parents .parents-trust-item:nth-child(3),
  .page-parents .parents-trust-item:nth-child(7) {
    --trust-accent: #82ad00;
    --trust-soft: rgba(178, 210, 53, .12);
    --trust-border: rgba(130, 173, 0, .22);
  }

  .page-parents .parents-trust-item:nth-child(4),
  .page-parents .parents-trust-item:nth-child(8) {
    --trust-accent: var(--satsuma);
    --trust-soft: rgba(243, 113, 33, .1);
    --trust-border: rgba(243, 113, 33, .2);
  }

  .page-parents .parents-trust-item:nth-child(5) {
    --trust-accent: var(--purple);
    --trust-soft: rgba(108, 34, 232, .09);
    --trust-border: rgba(108, 34, 232, .2);
  }

  .page-parents .parents-trust-item::before {
    content: "";
    position: absolute;
    top: -22px;
    right: -20px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--trust-soft);
  }

  .page-parents .parents-trust-item::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 12px;
    left: 18px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--trust-accent), transparent);
    opacity: .28;
  }

  .page-parents .parents-trust-item svg {
    position: relative;
    z-index: 1;
    width: 54px;
    height: 54px;
    padding: 12px;
    border-radius: 50%;
    color: var(--trust-accent);
    background: var(--trust-soft);
    box-shadow: inset 0 0 0 1px var(--trust-border);
  }

  .page-parents .parents-trust-item span {
    position: relative;
    z-index: 1;
    max-width: 118px;
    font-size: clamp(.76rem, 3.05vw, .88rem);
    line-height: 1.12;
  }

  .page-parents .parents-help-panel {
    padding: 24px;
  }

  .page-parents .parents-help-star {
    display: none;
  }

  .venue-hero-copy h1 {
    font-size: clamp(2.28rem, 11.5vw, 3rem);
  }

  .venue-hero-copy p {
    font-size: 1.05rem;
    line-height: 1.28;
  }
}

.page-parents .parents-trust-panel h2 {
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
}

.page-parents .parents-help-panel h2 {
  font-size: clamp(1.45rem, 1.75vw, 2.35rem);
  line-height: 1.04;
}

@media (min-width: 761px) {
  .breadcrumb-align-reference {
    transform: translateY(var(--breadcrumb-desktop-offset, 0));
  }
}

@media (max-width:760px){body{padding-bottom:74px}.hero-slide-content h1{font-size:2.85rem!important;line-height:.96!important;max-width:330px}.hero-slide-content p{font-size:1.08rem!important;line-height:1.35!important;max-width:330px}.hero-star-one{left:auto!important;right:20px!important;top:126px!important;color:#fff;opacity:.45}.hero-star-two{right:26px!important;top:218px!important;opacity:.75}.hero-star-one svg,.hero-star-two svg{width:58px!important;height:58px!important}.hero-buttons{gap:14px!important;margin:24px 0 !important}.hero-trust{gap:14px!important;margin-top:22px!important}.orange-corner{right:-92px!important;bottom:-30px!important;width:230px!important;height:230px!important}}@media (max-width:390px){.hero-slide-content h1{font-size:2.7rem!important}.hero-copy h1{font-size:2.8rem!important;line-height:.94!important}.venue-hero-copy h1{font-size:2.72rem!important;line-height:.98!important}}

@media (max-width: 760px) {
  body:not(.page-home):not(.page-venue) .hero-copy h1 {
    font-size: clamp(2.28rem, 11.5vw, 3rem) !important;
    line-height: .98 !important;
  }

  body:not(.page-home):not(.page-venue) .hero-copy h2 {
    font-size: 1.05rem !important;
    line-height: 1.28 !important;
  }
}

@media (max-width: 390px) {
  body:not(.page-home):not(.page-venue) .hero-copy h1 {
    font-size: 2.72rem !important;
  }
}

.page-hero .doodle-star-pink {
  width: 86px;
  height: 86px;
}

.doodle-star-pink img {
  width: 86px;
  height: 86px;
  object-fit: contain;
}

.page-hero .doodle-star-pink img {
  animation: pageHeroStarSpinReverse 24s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes pageHeroStarSpinReverse {
  to {
    transform: rotate(-360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-hero .doodle-star-pink img {
    animation: none;
  }
}

@media (max-width: 760px) {
  .hero-slider .hero-star-two,
  .page-hero .doodle-star-pink,
  .venue-hero-star {
    display: none !important;
  }
}

.page-prices .doodle-star-pink {
  right: -130px;
  top: -4px;
}

.page-offers .doodle-star-pink {
  right: -44px;
  top: -4px;
}

body.page-offers .offers-hero-picture-object {
  overflow: hidden;
}

body.page-offers .offers-hero-picture,
body.page-offers .offers-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
}

body.page-offers .offers-hero-picture img {
  border: 0;
  object-fit: cover;
}

@media (min-width: 761px) {
  .venue-hero-image::before {
    content: none;
  }

  .venue-hero-grid {
    position: relative;
  }

  .venue-hero-star {
    position: absolute;
    left: 48%;
    top: 4%;
    width: 74px;
    height: 74px;
    transform: translate(-50%, 0) rotate(-8deg);
    z-index: 3;
    pointer-events: none;
  }

  .venue-hero-billericay .venue-hero-star {
    margin-left: clamp(16px, 1.25vw, 24px);
  }

  .venue-hero-star img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: billericayCtaStarSpin 24s linear infinite;
    transform-origin: 50% 50%;
  }

  .venue-hero-billericay .venue-hero-image::after {
    content: "";
    position: absolute;
    right: clamp(-4px, 2vw, 36px);
    bottom: clamp(2px, 1.35vw, 22px);
    z-index: 3;
    width: clamp(166px, 14.4vw, 260px);
    aspect-ratio: 1;
    background: url("../images/chevron-lime-transparent.svg") center / contain no-repeat;
    transform: rotate(70deg);
    transform-origin: 52% 54%;
    pointer-events: none;
  }

  .venue-hero-image img {
    position: relative;
    z-index: 1;
    border-radius: 0;
    clip-path: polygon(25.45% 0.1%, 100% 0, 100% 100%, 3.1% 99.97%, 6.34% 94.51%, 8.96% 89.3%, 10.47% 84.22%, 11.71% 77.89%, 12.36% 71.94%, 12.73% 66.36%, 13.04% 61.2%, 13.48% 55.52%, 14.01% 48.93%, 14.61% 42.77%, 15.25% 37.3%, 15.98% 31.92%, 16.84% 26.58%, 18.01% 20.65%, 19.53% 14.68%, 21.18% 9.33%, 23.35% 3.91%, 25.45% 0.1%);
  }
}

@media (max-width: 760px) {
  .venue-hero-star {
    display: none;
  }
}

.billericay-venue-content {
  padding-top: clamp(24px, 2.8vw, 44px);
  padding-bottom: clamp(26px, 3vw, 42px);
}

.billericay-venue-content > .section-inner {
  margin-top: var(--page-section-gap);
  margin-bottom: 0;
}

.billericay-venue-content > .section-inner:first-child {
  margin-top: 0;
}

.billericay-top-grid,
.billericay-mid-grid,
.billericay-info-grid {
  display: grid;
  gap: clamp(18px, 1.6vw, 26px);
}

.billericay-top-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.billericay-mid-grid,
.billericay-info-grid {
  grid-template-columns: 1fr 1fr;
}

.billericay-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #eef0fa;
  border-radius: 12px;
  box-shadow: 0 13px 30px rgba(21, 31, 109, .09);
  color: var(--blackberry);
}

.billericay-top-grid .billericay-card {
  min-height: 610px;
  padding: clamp(24px, 2.1vw, 32px);
  display: flex;
  flex-direction: column;
}

.billericay-card h2 {
  margin: 0 0 18px;
  color: #071885;
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
  text-transform: lowercase;
}

.billericay-card h3 {
  margin: 0 0 12px;
  color: #071885;
  font-size: clamp(1rem, 1.05vw, 1.18rem);
  line-height: 1.1;
}

.billericay-card h3 span {
  font-family: GilroyBold, Arial, sans-serif;
}

.billericay-card p {
  margin: 0 0 16px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.88rem, .83vw, .98rem);
  line-height: 1.45;
}

.billericay-card small,
.billericay-small-note {
  font-size: .86rem;
  line-height: 1.25;
}

.billericay-card hr {
  width: 100%;
  border: 0;
  border-top: 1px solid #dfe2f3;
  margin: auto 0 22px;
}

.billericay-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.86rem, .8vw, .96rem);
  line-height: 1.35;
}

.billericay-check-list li {
  position: relative;
  padding-left: 30px;
}

.billericay-check-list li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: .2em;
  width: 17px;
  height: 10px;
  border-left: 3px solid var(--lime);
  border-bottom: 3px solid var(--lime);
  transform: rotate(-45deg);
}

.billericay-care-list {
  gap: 9px;
}

.billericay-care-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: 10px;
  align-items: baseline;
  padding-left: 27px;
}

.billericay-care-list li b {
  color: #071885;
}

.billericay-btn {
  min-height: 52px;
  border-radius: 7px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .95rem;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  transition: transform .16s ease, box-shadow .16s ease;
}

.billericay-btn:hover {
  transform: translateY(-2px);
}

.billericay-btn-primary {
  background: var(--raspberry);
  color: #fff;
  box-shadow: 0 12px 26px rgba(210, 15, 140, .18);
}

.billericay-btn-outline {
  background: #fff;
  color: var(--raspberry);
}

.billericay-btn-white {
  background: #fff;
  color: var(--raspberry);
  border-color: #fff;
}

.billericay-price-card .billericay-btn {
  width: 100%;
  margin-top: 18px;
}

.billericay-pay-card {
  padding-right: clamp(36px, 3vw, 58px);
}

.billericay-pay-card p {
  margin-top: auto;
  margin-bottom: 28px;
}

.billericay-dots {
  position: absolute;
  right: -28px;
  top: 12px;
  width: 88px;
  height: 188px;
  background: radial-gradient(var(--lime) 2px, transparent 3px) 0 0 / 14px 14px;
  border-radius: 999px;
  opacity: .95;
}

.billericay-payment-logos {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
}

.billericay-payment-logos span {
  min-height: 56px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #071885;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  line-height: .95;
}

.billericay-payment-logos img {
  width: 100%;
  max-height: 56px;
  object-fit: contain;
  align-self: center;
  justify-self: center;
}

.billericay-payment-logos span:nth-child(2) b {
  color: var(--raspberry);
}

.billericay-payment-logos span:nth-child(3) {
  color: #1d7f34;
  border: 2px solid #1d9a42;
  border-radius: 4px;
}

.billericay-payment-logos b {
  font-size: 1rem;
}

.billericay-payment-logos small {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .68rem;
}

.billericay-holiday-card img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 9px;
  margin: auto 0 18px;
}

.billericay-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 22px;
}

.billericay-card-actions .billericay-btn {
  padding: 0 14px;
  font-size: .82rem;
}

.billericay-mid-grid .billericay-card,
.billericay-info-grid .billericay-card {
  min-height: 390px;
}

.billericay-about-card {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: stretch;
}

.billericay-about-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.billericay-about-card > div {
  padding: clamp(24px, 2vw, 34px);
}

.billericay-offers-card {
  padding: clamp(24px, 2.1vw, 34px);
}

.billericay-offers-card .billericay-dots {
  top: 0;
  right: -18px;
  height: 132px;
}

.billericay-offer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
  margin-top: 28px;
}

.billericay-offer-grid div {
  display: grid;
  justify-items: center;
  gap: 11px;
  text-align: center;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .86rem;
  line-height: 1.15;
}

.billericay-offer-grid svg {
  width: 64px;
  height: 64px;
  padding: 14px;
  border-radius: 50%;
  background: #dff2ff;
  color: var(--blueberry);
}

.billericay-offer-grid div:nth-child(2) svg {
  background: #ffe4f1;
}

.billericay-offer-grid div:nth-child(3) svg {
  background: #fff0d3;
}

.billericay-offer-grid div:nth-child(4) svg {
  background: #efe5ff;
}

.billericay-offer-grid div:nth-child(5) svg {
  background: #dff2ff;
}

.billericay-offer-grid div:nth-child(6) svg {
  background: #eaf7d2;
}

.billericay-offer-grid div:nth-child(7) svg {
  background: #fff0d3;
}

.billericay-offer-grid div:nth-child(8) svg {
  background: #eaf7d2;
}

.billericay-good-card {
  display: grid;
  grid-template-columns: 1fr minmax(145px, 190px);
  gap: 22px;
  padding: clamp(24px, 2.1vw, 34px);
}

.billericay-good-card figure {
  position: relative;
  align-self: stretch;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
}

.billericay-good-card img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.billericay-good-card figure span,
.billericay-scribble {
  position: absolute;
  width: 130px;
  height: 86px;
  background:
    linear-gradient(150deg, transparent 0 28%, var(--raspberry) 29% 33%, transparent 34% 100%),
    linear-gradient(160deg, transparent 0 39%, var(--raspberry) 40% 44%, transparent 45% 100%),
    linear-gradient(170deg, transparent 0 52%, var(--raspberry) 53% 57%, transparent 58% 100%);
  transform: rotate(-10deg);
}

.billericay-good-card figure span {
  left: -10px;
  bottom: 15px;
}

.billericay-find-card {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 26px;
  padding: clamp(24px, 2.1vw, 34px);
}

.billericay-find-copy {
  display: flex;
  flex-direction: column;
}

.billericay-find-copy p {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
  margin-bottom: 24px;
}

.billericay-find-copy svg {
  width: 25px;
  height: 25px;
  color: var(--blueberry);
}

.billericay-find-copy .billericay-btn {
  margin-top: auto;
  width: min(220px, 100%);
}

.billericay-map {
  position: relative;
  min-height: 328px;
  overflow: hidden;
  border-radius: 14px;
  background: #f2f3f5;
  border: 1px solid #e5e8f0;
}

.billericay-map::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(34deg, transparent 0 34%, rgba(255,255,255,.94) 35% 41%, transparent 42%),
    linear-gradient(150deg, transparent 0 44%, rgba(255,255,255,.94) 45% 51%, transparent 52%),
    linear-gradient(82deg, transparent 0 56%, rgba(255,255,255,.94) 57% 62%, transparent 63%);
}

.billericay-map .road {
  position: absolute;
  height: 18px;
  background: #fff;
  border: 1px solid #d9dde7;
  border-radius: 999px;
}

.road-one {
  left: -30px;
  top: 80px;
  width: 320px;
  transform: rotate(-22deg);
}

.road-two {
  right: -35px;
  bottom: 82px;
  width: 320px;
  transform: rotate(-15deg);
}

.road-three {
  left: 72px;
  top: -22px;
  width: 18px;
  height: 390px !important;
  transform: rotate(22deg);
}

.billericay-map .green {
  position: absolute;
  background: #ccefd6;
  border-radius: 10px;
}

.green-one {
  width: 96px;
  height: 132px;
  left: 118px;
  top: 92px;
}

.green-two {
  width: 86px;
  height: 82px;
  right: 58px;
  top: 118px;
}

.map-pin {
  position: absolute;
  left: 50%;
  top: 49%;
  width: 34px;
  height: 34px;
  background: #ef332f;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 6px 14px rgba(239, 51, 47, .25);
}

.map-pin::after {
  content: "";
  position: absolute;
  inset: 10px;
  background: #fff;
  border-radius: 50%;
}

.map-label {
  position: absolute;
  z-index: 2;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .82rem;
  line-height: 1.1;
}

.map-label-school {
  left: 55%;
  top: 51%;
  color: #df2424;
}

.map-label-park {
  left: 40%;
  top: 26%;
  color: #3d8a52;
}

.billericay-booking-cta {
  position: relative;
  overflow: hidden;
  min-height: 236px;
  display: grid;
  grid-template-columns: 160px 1fr 230px;
  align-items: center;
  gap: 24px;
  padding: clamp(26px, 2.6vw, 42px);
  background: linear-gradient(135deg, #031986 0%, #0037c6 100%);
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .14);
}

.billericay-booking-cta h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 1.75vw, 2.35rem);
  line-height: 1.04;
  text-transform: none;
}

.billericay-booking-cta p {
  margin: 8px 0 22px;
  color: #fff;
  font-family: GilroyBold, Arial, sans-serif;
}

.billericay-cta-star {
  width: 94px;
  height: 94px;
  color: #fff;
  justify-self: center;
}

.billericay-cta-star img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.billericay-cta-star-spin img {
  animation: billericayCtaStarSpin 24s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes billericayCtaStarSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .venue-hero-star img,
  .billericay-cta-star-spin img {
    animation: none;
  }
}

.billericay-cta-chevron {
  position: absolute;
  right: -22px;
  bottom: 22px;
  width: 250px;
  height: 250px;
  z-index: 1;
  pointer-events: none;
}

.billericay-cta-chevron img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.billericay-booking-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.billericay-booking-actions .billericay-btn {
  min-width: 230px;
}

.billericay-booking-cta > img {
  align-self: end;
  justify-self: end;
  width: 230px;
  height: 210px;
  object-fit: contain;
  object-position: center bottom;
  margin-bottom: -42px;
  position: relative;
  z-index: 2;
}

.billericay-scribble-left {
  left: -20px;
  bottom: 16px;
}

.billericay-scribble-right {
  right: 8px;
  bottom: 34px;
  background:
    linear-gradient(150deg, transparent 0 28%, var(--satsuma) 29% 33%, transparent 34% 100%),
    linear-gradient(160deg, transparent 0 39%, var(--satsuma) 40% 44%, transparent 45% 100%),
    linear-gradient(170deg, transparent 0 52%, var(--satsuma) 53% 57%, transparent 58% 100%);
}

.billericay-trust-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  padding: 10px 0 4px;
}

.billericay-trust-strip div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
}

.billericay-trust-strip svg {
  width: 34px;
  height: 34px;
  color: var(--blueberry);
}

.billericay-trust-strip strong {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.72rem, .7vw, .84rem);
  line-height: 1.15;
  color: var(--blueberry);
}

@media (max-width: 1180px) {
  .billericay-top-grid,
  .billericay-mid-grid,
  .billericay-info-grid {
    grid-template-columns: 1fr;
  }

  .billericay-top-grid .billericay-card {
    min-height: auto;
  }

  .billericay-trust-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .billericay-venue-content {
    padding-top: 30px;
  }

  .billericay-top-grid .billericay-card,
  .billericay-offers-card,
  .billericay-good-card,
  .billericay-find-card {
    padding: 24px;
  }

  .billericay-about-card,
  .billericay-good-card,
  .billericay-find-card,
  .billericay-booking-cta {
    grid-template-columns: 1fr;
  }

  .billericay-about-card > img {
    min-height: 260px;
  }

  .billericay-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billericay-care-list li,
  .billericay-card-actions,
  .billericay-payment-logos {
    grid-template-columns: 1fr;
  }

  .billericay-good-card figure {
    max-height: 360px;
  }

  .billericay-booking-cta {
    text-align: center;
  }

  .billericay-booking-cta > img {
    justify-self: center;
    margin-bottom: -18px;
  }

  .billericay-cta-chevron {
    right: 50%;
    bottom: 4px;
    width: 210px;
    height: 210px;
    transform: translateX(72%);
  }

  .billericay-booking-actions {
    justify-content: center;
  }

  .billericay-booking-actions .billericay-btn {
    width: 100%;
    min-width: 0;
  }

  .billericay-trust-strip {
    grid-template-columns: 1fr;
  }
}

/* Prices and ways to pay: middle-page section styles */
.page-prices .price-content2 {
  display: grid;
  gap: var(--page-section-gap);
  max-width: 1360px;
  margin-bottom: var(--page-section-gap);
}

.page-prices .price-top-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 2vw, 30px);
}

.page-prices .price-mini-card,
.page-prices .pay-option {
  background: #fff;
  border: 1px solid #dfe3f2;
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(21, 31, 109, .06);
}

.page-prices .price-mini-card {
  padding: clamp(28px, 2.5vw, 38px);
  display: flex;
  flex-direction: column;
}

.page-prices .price-mini-card-head {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 22px;
  align-items: center;
  margin-bottom: 26px;
}

.page-prices .price-mini-card h2,
.page-prices .ways-pay-section h2,
.page-prices .included-heading h2,
.page-prices .good-heading h2 {
  color: var(--blackberry);
  font-size: clamp(1.85rem, 2.15vw, 2.65rem);
  line-height: 1.02;
  margin: 0;
  text-transform: lowercase;
}

.page-prices .price-mini-card h2 small {
  display: block;
  margin-top: 2px;
  font-size: .6em;
  line-height: 1.08;
}

.page-prices .price-icon {
  width: 72px;
  height: 72px;
  border: 4px solid currentColor;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.page-prices .price-icon svg {
  width: 42px;
  height: 42px;
}

.page-prices .price-icon-lime { color: #86b600; }
.page-prices .price-icon-purple { color: var(--purple); }

.page-prices .price-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.05rem, 1.05vw, 1.2rem);
  line-height: 1.28;
  padding: 0 0 22px;
}

.page-prices .price-line-separated {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}

.page-prices .price-line strong {
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.16rem, 1.25vw, 1.42rem);
}

.page-prices .price-line span,
.page-prices .price-line p {
  display: block;
  margin: 4px 0 0;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.96rem, .9vw, 1.06rem);
}

.page-prices .price-amount {
  white-space: nowrap;
  align-self: start;
}

.page-prices .price-amount strong {
  color: var(--raspberry);
  font-size: clamp(1.35rem, 1.45vw, 1.72rem);
}

.page-prices .price-family-detail {
  display: grid;
  gap: 12px;
  margin: 4px 0 26px;
  padding: clamp(16px, 1.4vw, 20px);
  color: var(--blackberry);
  background: linear-gradient(135deg, #fbfcf4, #fff);
  border: 1px solid #e5ebd7;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(21, 31, 109, .045);
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: clamp(.8rem, .76vw, .9rem);
  line-height: 1.5;
}

.page-prices .price-family-detail p {
  margin: 0;
}

.page-prices .price-family-detail strong {
  font-family: GilroyBold, Arial, sans-serif;
}

.page-prices .price-family-summary {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.84rem, .78vw, .94rem);
  line-height: 1.42;
}

.page-prices .price-family-tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-prices .price-family-tiers li {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #edf1df;
  border-radius: 12px;
}

.page-prices .price-family-tiers span {
  color: #789d00;
  font-family: GilroyBold, Arial, sans-serif;
}

.page-prices .price-note {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: auto 0 0;
  min-height: 74px;
  width: 100%;
  padding: 18px 22px;
  border-radius: 14px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.88rem, .82vw, .98rem);
}

.page-prices .price-note svg {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
}

.page-prices .price-note-purple strong {
  color: var(--blackberry);
}

.page-prices .price-note-purple {
  background: #f2e9ff;
  color: var(--purple);
}

.page-prices .price-card-lede {
  margin: -4px 0 34px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1rem, .95vw, 1.12rem);
  line-height: 1.35;
}

.page-prices .price-card-footnote {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 30px 0 28px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.92rem, .86vw, 1rem);
  line-height: 1.35;
}

.page-prices .price-card-footnote svg {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  color: #a7b0d0;
}

.page-prices .included-strip {
  display: grid;
  grid-template-columns: 1.25fr repeat(6, minmax(0, 1fr));
  align-items: stretch;
  overflow: hidden;
  background: linear-gradient(135deg, #fbfcf4, #fff);
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(21, 31, 109, .055);
  padding: clamp(26px, 2.25vw, 36px) clamp(20px, 2vw, 30px);
}

.page-prices .included-heading {
  position: relative;
  min-height: 120px;
  padding-right: 22px;
}

.page-prices .included-heading h2 {
  font-size: clamp(1.9rem, 2.1vw, 2.45rem);
  line-height: 1.02;
}

.page-prices .included-scribble {
  position: absolute;
  left: 4px;
  bottom: 8px;
  width: 74px;
  height: auto;
  display: none;
}

.page-prices .included-heading::after,
.page-prices .good-heading::after {
  content: "";
  position: absolute;
  width: 86px;
  height: 58px;
  background:
    linear-gradient(150deg, transparent 0 28%, currentColor 29% 33%, transparent 34% 100%),
    linear-gradient(156deg, transparent 0 39%, currentColor 40% 44%, transparent 45% 100%),
    linear-gradient(162deg, transparent 0 51%, currentColor 52% 56%, transparent 57% 100%),
    linear-gradient(168deg, transparent 0 62%, currentColor 63% 67%, transparent 68% 100%);
  color: #86b600;
  transform: rotate(-11deg);
}

.page-prices .included-heading::after {
  display: none;
}

.page-prices .included-star {
  display: none;
}

.page-prices .included-item {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 12px;
  min-height: 138px;
  padding: 0 16px;
  text-align: center;
  border-left: 1px solid var(--line);
}

.page-prices .included-item span {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.page-prices .included-item svg {
  width: 48px;
  height: 48px;
  color: var(--blueberry);
  filter: drop-shadow(2px 2px 0 rgba(210, 15, 140, .35));
}

.page-prices .included-item strong {
  max-width: 105px;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(.88rem, .94vw, 1.08rem);
  line-height: 1.08;
}

.page-prices .included-ball span { background: #e6f3bf; }
.page-prices .included-craft span { background: #ffd9e9; }
.page-prices .included-cook span { background: #ffe7ca; }
.page-prices .included-enrich span { background: #eadcff; }
.page-prices .included-calendar span { background: #dcedff; }
.page-prices .included-treat span { background: #fff0bd; }

.page-prices .included-strip {
  --navy: var(--blackberry);
}

.page-prices .included-item span {
  width: 88px;
  height: 88px;
  overflow: visible;
}

.page-prices .included-item svg {
  width: 48px;
  height: 48px;
  display: block;
  overflow: visible;
  color: var(--navy);
  filter: none;
}

.page-prices .included-item .anim-ball-float,
.page-prices .prices-included-card .anim-ball-float {
  transform-origin: 50% 100%;
  animation: priceIncludedBallFloat 4s ease-in-out infinite;
}

.page-prices .included-item .ball-pentagon,
.page-prices .prices-included-card .ball-pentagon {
  transform-origin: 50% 50%;
  animation: priceIncludedPentaPulse 4s ease-in-out infinite;
}

.page-prices .included-item .paint-fill,
.page-prices .prices-included-card .paint-fill {
  transform-origin: center;
  opacity: 0;
  animation: priceIncludedPaintFill 5s ease-in-out infinite;
}

.page-prices .included-item .pf-1,
.page-prices .prices-included-card .pf-1 { animation-delay: 0s; }
.page-prices .included-item .pf-2,
.page-prices .prices-included-card .pf-2 { animation-delay: .5s; }
.page-prices .included-item .pf-3,
.page-prices .prices-included-card .pf-3 { animation-delay: 1s; }

.page-prices .included-item .anim-hat-nod,
.page-prices .prices-included-card .anim-hat-nod {
  transform-origin: 50% 100%;
  animation: priceIncludedHatNod 5s ease-in-out infinite;
}

.page-prices .included-item .star-breathe,
.page-prices .prices-included-card .star-breathe {
  transform-origin: 50% 50%;
  animation: priceIncludedStarBreathe 6s ease-in-out infinite;
}

.page-prices .included-item .star-halo,
.page-prices .prices-included-card .star-halo {
  transform-origin: 50% 50%;
  opacity: 0;
  animation: priceIncludedStarHalo 6s ease-in-out infinite;
}

.page-prices .included-item .today-ring,
.page-prices .prices-included-card .today-ring {
  transform-origin: center;
  animation: priceIncludedTodayMove 6s steps(1, end) infinite;
}

.page-prices .included-item .bubble,
.page-prices .prices-included-card .bubble {
  opacity: 0;
  transform-origin: center;
  animation: priceIncludedBubbleRise 3s ease-in-out infinite;
}

.page-prices .included-item .cup-sip,
.page-prices .prices-included-card .cup-sip {
  transform-origin: 50% 100%;
  transform-box: fill-box;
  animation: priceIncludedCupSip 3s ease-in-out infinite;
}

@keyframes priceIncludedBallFloat {
  0%, 100% { transform: translateY(0) scaleY(1) scaleX(1); }
  35% { transform: translateY(-7px) scaleY(1.03) scaleX(.98); }
  55% { transform: translateY(0) scaleY(.88) scaleX(1.12); }
  65% { transform: translateY(0) scaleY(1.02) scaleX(.98); }
  75% { transform: translateY(0) scaleY(1) scaleX(1); }
}

@keyframes priceIncludedPentaPulse {
  0%, 30%, 60%, 100% { transform: scale(1); opacity: 1; }
  40% { transform: scale(1.15); opacity: .85; }
}

@keyframes priceIncludedPaintFill {
  0%, 10% { opacity: 0; transform: scale(0); }
  20% { opacity: 1; transform: scale(1.15); }
  30%, 75% { opacity: 1; transform: scale(1); }
  85%, 100% { opacity: 0; transform: scale(.6); }
}

@keyframes priceIncludedHatNod {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-7deg); }
  50% { transform: rotate(5deg); }
  70% { transform: rotate(-2deg); }
  85% { transform: rotate(0deg); }
}

@keyframes priceIncludedStarBreathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@keyframes priceIncludedStarHalo {
  0%, 100% { opacity: 0; transform: scale(.95); }
  50% { opacity: .18; transform: scale(1.15); }
}

@keyframes priceIncludedTodayMove {
  0% { transform: translate(0, 0); }
  16% { transform: translate(18px, 0); }
  32% { transform: translate(36px, 0); }
  48% { transform: translate(0, 14px); }
  64% { transform: translate(18px, 14px); }
  80% { transform: translate(36px, 14px); }
  100% { transform: translate(0, 0); }
}

@keyframes priceIncludedBubbleRise {
  0%, 12% { opacity: 0; transform: translate(0, 0) scale(.65); }
  24% { opacity: .95; transform: translate(-2px, -5px) scale(1); }
  52% { opacity: .7; transform: translate(3px, -16px) scale(1.18); }
  78%, 100% { opacity: 0; transform: translate(-1px, -24px) scale(.72); }
}

@keyframes priceIncludedCupSip {
  0%, 18%, 100% { transform: translateY(0) rotate(0deg); }
  34% { transform: translateY(-2px) rotate(-5deg); }
  48% { transform: translateY(1px) rotate(3deg); }
  62%, 82% { transform: translateY(0) rotate(0deg); }
}

@media (prefers-reduced-motion: reduce) {
  .page-prices .included-item .anim-ball-float,
  .page-prices .included-item .ball-pentagon,
  .page-prices .included-item .paint-fill,
  .page-prices .included-item .anim-hat-nod,
  .page-prices .included-item .star-breathe,
  .page-prices .included-item .star-halo,
  .page-prices .included-item .today-ring,
  .page-prices .included-item .bubble,
  .page-prices .included-item .cup-sip,
  .page-prices .prices-included-card .anim-ball-float,
  .page-prices .prices-included-card .ball-pentagon,
  .page-prices .prices-included-card .paint-fill,
  .page-prices .prices-included-card .anim-hat-nod,
  .page-prices .prices-included-card .star-breathe,
  .page-prices .prices-included-card .star-halo,
  .page-prices .prices-included-card .today-ring,
  .page-prices .prices-included-card .bubble,
  .page-prices .prices-included-card .cup-sip {
    animation: none;
  }
}

.page-prices .ways-pay-section {
  display: grid;
  gap: 24px;
}

.page-prices .ways-pay-section h2 {
  position: relative;
  justify-self: center;
  font-size: clamp(2rem, 2.4vw, 2.85rem);
}

.page-prices .ways-pay-section h2::before,
.page-prices .ways-pay-section h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 48px;
  transform: translateY(-50%);
  background: center / contain no-repeat url("../images/header-text-bars-left-pink.png");
}

.page-prices .ways-pay-section h2::before {
  right: calc(100% + 20px);
}

.page-prices .ways-pay-section h2::after {
  left: calc(100% + 20px);
  background-image: url("../images/header-text-bars-right-pink.png");
}

.page-prices .ways-pay-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 1.7vw, 28px);
}

.page-prices .pay-option {
  min-height: 270px;
  padding: clamp(24px, 2vw, 32px);
}

.page-prices .pay-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  color: #fff;
}

.page-prices .pay-icon svg {
  width: 42px;
  height: 42px;
}

.page-prices .pay-option h3 {
  max-width: 160px;
  margin: 0 0 14px;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.28rem, 1.3vw, 1.65rem);
  line-height: 1.08;
}

.page-prices .pay-option p {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.95rem, .9vw, 1.05rem);
  line-height: 1.42;
}

.page-prices .pay-option-lime .pay-icon { background: #86b600; }
.page-prices .pay-option-raspberry .pay-icon { background: var(--raspberry); }
.page-prices .pay-option-satsuma .pay-icon { background: var(--satsuma); }
.page-prices .pay-option-purple .pay-icon { background: var(--purple); }

.page-prices .good-to-know-panel {
  position: relative;
  display: grid;
  grid-template-columns: .55fr 1.72fr .42fr;
  gap: clamp(22px, 2.4vw, 42px);
  align-items: center;
  overflow: hidden;
  min-height: 138px;
  padding: clamp(20px, 1.8vw, 28px) clamp(28px, 3vw, 48px);
  background: linear-gradient(135deg, #f1f0ff, #fbfaff);
  border-radius: 20px;
}

.page-prices .good-heading {
  position: relative;
  z-index: 1;
  align-self: center;
}

.page-prices .good-heading h2 {
  font-size: clamp(1.9rem, 2.1vw, 2.45rem);
  line-height: 1.02;
}

.page-prices .good-heading img {
  width: 90px;
  margin-top: 20px;
  transform: rotate(-6deg);
  display: none;
}

.page-prices .good-heading::after {
  display: none;
}

.page-prices .good-list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px clamp(30px, 3.2vw, 58px);
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.88rem, .82vw, .98rem);
  line-height: 1.28;
}

.page-prices .good-list li {
  position: relative;
  padding-left: 34px;
}

.page-prices .good-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eadcff;
  color: var(--purple);
}

.page-prices .good-list li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: .55em;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.page-prices .good-info-icon {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 128px;
  height: 108px;
  object-fit: contain;
}

.page-prices .good-dots {
  display: none;
}

@media (max-width: 1180px) {
  .page-prices .price-top-cards,
  .page-prices .ways-pay-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-prices .included-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 0;
  }

  .page-prices .included-heading {
    grid-column: 1 / -1;
    min-height: 90px;
  }

  .page-prices .included-item:nth-of-type(3n + 2) {
    border-left: 0;
  }

  .page-prices .good-to-know-panel {
    grid-template-columns: .65fr 1.35fr;
  }

  .page-prices .good-info-icon {
    display: none;
  }
}

@media (max-width: 760px) {
  .page-prices .price-top-cards,
  .page-prices .ways-pay-grid,
  .page-prices .good-list,
  .page-prices .good-to-know-panel {
    grid-template-columns: 1fr;
  }

  .page-prices .price-mini-card-head,
  .page-prices .price-line {
    grid-template-columns: 1fr;
  }

  .page-prices .price-mini-card-head {
    gap: 16px;
  }

  .page-prices .price-amount {
    justify-self: start;
  }

  .page-prices .price-family-tiers {
    grid-template-columns: 1fr;
  }

  .page-prices .included-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-prices .included-heading {
    grid-column: 1 / -1;
  }

  .page-prices .included-item {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 18px;
  }

  .page-prices .ways-pay-section h2::before,
  .page-prices .ways-pay-section h2::after {
    display: none;
  }

  .page-prices .pay-option {
    min-height: 0;
  }
}

/* Work with us: middle-page section styles */
.work-content2 {
  padding: clamp(14px, 1.7vw, 24px) 0 var(--page-section-gap);
  overflow: visible;
}

.work-content2 .work-c2-shell {
  width: min(1360px, calc(100% - 48px));
  display: grid;
  gap: var(--page-section-gap);
}

.work-content2 h2,
.work-content2 h3,
.work-content2 .work-solid-btn,
.work-content2 .work-outline-btn,
.work-content2 .work-dark-outline-btn {
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: lowercase;
}

.work-content2 p {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.94rem, .82vw, 1.02rem);
  line-height: 1.48;
  margin: 0;
}

.work-section-heading {
  display: flex;
  justify-content: center;
  margin: 0 0 clamp(18px, 1.8vw, 26px);
  text-align: center;
}

.work-section-heading h2 {
  position: relative;
  margin: 0;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: 1;
}

.work-section-heading h2::before,
.work-section-heading h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}

.work-section-heading h2::before {
  right: calc(100% + 18px);
  background-image: url("../images/header-text-bars-left-pink.png");
}

.work-section-heading h2::after {
  left: calc(100% + 18px);
  background-image: url("../images/header-text-bars-right-pink.png");
}

.work-benefit-grid,
.work-role-grid,
.work-info-grid,
.work-feature-row {
  display: grid;
  gap: clamp(18px, 1.7vw, 24px);
}

.work-benefit-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.work-benefit-card {
  min-height: 248px;
  padding: clamp(22px, 2vw, 30px) clamp(16px, 1.5vw, 24px);
  background: #fff;
  border: 1px solid #e6e9f6;
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(21, 31, 109, .045);
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.work-round-icon {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--raspberry);
  box-shadow: 0 11px 22px rgba(21, 31, 109, .08);
  flex: 0 0 auto;
}

.work-round-icon svg {
  width: 46px;
  height: 46px;
  display: block;
  overflow: visible;
}

.work-benefit-card:nth-child(1) .work-why-anim-host { animation-delay: 0s; }
.work-benefit-card:nth-child(2) .work-why-anim-host { animation-delay: .12s; }
.work-benefit-card:nth-child(3) .work-why-anim-host { animation-delay: .24s; }
.work-benefit-card:nth-child(4) .work-why-anim-host { animation-delay: .36s; }
.work-benefit-card:nth-child(5) .work-why-anim-host { animation-delay: .48s; }

.work-why-heart {
  transform-origin: 50% 50%;
  animation: workWhyHeartbeat 4.5s ease-in-out infinite;
}

.work-why-calendar {
  animation: workWhyCalendarFloat 5s ease-in-out infinite;
}

.work-why-check-draw,
.work-why-shield-check {
  stroke-dasharray: 30;
  stroke-dashoffset: 0;
  animation: workWhyCheckDraw 5s ease-in-out infinite;
}

.work-why-figure {
  transform-origin: center bottom;
  animation: workWhyFigureRise 4.5s ease-in-out infinite;
}

.work-why-fig-left { animation-delay: 0s; }
.work-why-fig-mid { animation-delay: .15s; }
.work-why-fig-right { animation-delay: .3s; }

.work-why-shield-host {
  position: relative;
  overflow: hidden;
}

.work-why-shine {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .35) 50%, transparent 58%);
  transform: translateX(-110%);
  animation: workWhyShine 5.5s ease-in-out infinite;
  pointer-events: none;
}

.work-why-shield-check {
  animation-duration: 5.5s;
}

.work-why-smile {
  animation: workWhySmileBounce 4.5s cubic-bezier(.34, 1.4, .64, 1) infinite;
}

.work-why-eye {
  transform-origin: center;
  animation: workWhyBlink 4.5s ease-in-out infinite;
}

@keyframes workWhyHeartbeat {
  0%, 40%, 100% { transform: scale(1); }
  8% { transform: scale(1.12); }
  16% { transform: scale(1); }
  22% { transform: scale(1.1); }
  30% { transform: scale(1); }
}

@keyframes workWhyCalendarFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@keyframes workWhyCheckDraw {
  0%, 15% { stroke-dashoffset: 30; }
  35%, 85% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 30; }
}

@keyframes workWhyFigureRise {
  0%, 30%, 100% { transform: scale(1) translateY(0); }
  10% { transform: scale(1.08) translateY(-2px); }
  20% { transform: scale(1) translateY(0); }
}

@keyframes workWhyShine {
  0%, 30% { transform: translateX(-110%); }
  55%, 100% { transform: translateX(110%); }
}

@keyframes workWhySmileBounce {
  0%, 70%, 100% { transform: translateY(0); }
  40% { transform: translateY(2.5px); }
  50% { transform: translateY(-2px); }
  60% { transform: translateY(0); }
}

@keyframes workWhyBlink {
  0%, 18%, 24%, 100% { transform: scaleY(1); }
  21% { transform: scaleY(.1); }
}

.work-accent-pink {
  --work-accent: var(--raspberry);
  --work-icon-bg: #ffd9ec;
  --work-icon-color: var(--raspberry);
  --work-soft: #fff5fb;
  --work-soft-strong: #fff0f7;
}

.work-accent-lime {
  --work-accent: #86ad00;
  --work-icon-bg: #eaf6c9;
  --work-icon-color: #86ad00;
  --work-soft: #fbfff4;
  --work-soft-strong: #f6fbec;
}

.work-accent-satsuma {
  --work-accent: var(--satsuma);
  --work-icon-bg: #ffe7bd;
  --work-icon-color: var(--satsuma);
  --work-soft: #fff8f2;
  --work-soft-strong: #fff1e8;
}

.work-accent-purple {
  --work-accent: var(--purple);
  --work-icon-bg: #eadcff;
  --work-icon-color: var(--purple);
  --work-soft: #faf7ff;
  --work-soft-strong: #f2eaff;
}

.work-accent-blue {
  --work-accent: #1e82ef;
  --work-icon-bg: #dceeff;
  --work-icon-color: #1e82ef;
  --work-soft: #f6fbff;
  --work-soft-strong: #edf7ff;
}

.work-accent-pink .work-round-icon,
.work-accent-lime .work-round-icon,
.work-accent-satsuma .work-round-icon,
.work-accent-purple .work-round-icon,
.work-accent-blue .work-round-icon {
  color: var(--work-icon-color, #fff);
  background: var(--work-icon-bg, var(--work-accent));
}

.work-benefit-card .work-round-icon [fill="#fff"] {
  fill: currentColor;
}

.work-benefit-card .work-round-icon [stroke="#fff"] {
  stroke: currentColor;
}

.work-benefit-card h3,
.work-feature-card h3 {
  margin: 0;
  font-size: clamp(1rem, 1vw, 1.18rem);
  line-height: 1.1;
}

.work-benefit-card p {
  max-width: 178px;
}

.work-role-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.work-role-card {
  min-height: 344px;
  padding: clamp(24px, 2.3vw, 34px) clamp(24px, 2.2vw, 32px);
  background: var(--work-soft);
  border: 1px solid rgba(21, 31, 109, .055);
  border-radius: 16px;
  box-shadow: 0 15px 36px rgba(21, 31, 109, .045);
  display: flex;
  flex-direction: column;
}

.work-role-card.work-accent-pink {
  background: #fffbfd;
}

.work-role-card.work-accent-lime {
  background: #fefff9;
}

.work-role-card.work-accent-blue {
  background: #fbfdff;
}

.work-role-card .work-check-list {
  flex: 1;
}

.work-role-head {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 18px;
  align-items: start;
}

.work-role-head .work-round-icon {
  width: 72px;
  height: 72px;
}

.work-role-head .work-round-icon svg {
  width: 42px;
  height: 42px;
}

.work-role-head h3 {
  margin: 2px 0 6px;
  font-size: clamp(1.2rem, 1.25vw, 1.45rem);
  line-height: 1.05;
}

.work-role-head p {
  max-width: 245px;
}

.work-check-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  gap: 10px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.88rem, .75vw, .96rem);
  line-height: 1.36;
}

.work-check-list li {
  position: relative;
  padding-left: 28px;
}

.work-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .15em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--work-accent, var(--lime));
}

.work-check-list li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: .46em;
  width: 6px;
  height: 3px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.work-outline-btn {
  min-height: 42px;
  margin-top: 20px;
  padding: 0 22px;
  border: 2px solid var(--work-accent);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--work-accent) !important;
  font-size: .9rem;
  line-height: 1;
  text-align: center;
}

.work-outline-btn svg,
.work-solid-btn svg,
.work-dark-outline-btn svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.work-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 22px;
  max-width: 560px;
}

.work-hero-actions .work-solid-btn,
.work-hero-actions .work-dark-outline-btn {
  min-height: 54px;
  border-radius: 10px;
  padding: 0 28px;
  font-size: 1rem;
  text-transform: lowercase;
}

.work-hero-actions .work-dark-outline-btn {
  background: #fff;
  border-color: var(--raspberry);
  color: var(--raspberry) !important;
}

.work-process-wrap {
  position: relative;
  isolation: isolate;
}

.work-process-wrap::before {
  content: "";
  position: absolute;
  left: clamp(-185px, -8vw, -112px);
  top: 50%;
  z-index: 0;
  width: clamp(380px, 20vw, 460px);
  height: clamp(380px, 20vw, 460px);
  background: url("../images/organic-shape-2-peach.svg") 100% 50% / 205% 205% no-repeat;
  transform: translateY(-50%) rotate(-5deg);
  pointer-events: none;
}

.work-process-wrap::after {
  content: "";
  position: absolute;
  left: clamp(-150px, -6.4vw, -96px);
  top: 50%;
  z-index: 0;
  width: clamp(320px, 16vw, 390px);
  height: clamp(220px, 11vw, 270px);
  background: url("../images/zigzag-scribble-white.svg") center / contain no-repeat;
  transform: translateY(-50%) rotate(-8deg);
  pointer-events: none;
}

.work-process {
  --work-process-cycle: 15s;
  --work-process-dot-size: 5px;
  --work-process-dot-gap: 14px;
  --work-process-circle: 36px;
  --work-process-step-gap: 22px;
  --work-process-track-top: calc(var(--work-process-circle) / 2);
  position: relative;
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 24px;
  align-items: center;
  min-height: 158px;
  padding: 42px 32px 30px;
  background: #fcfbff;
  border-radius: 16px;
  overflow: visible;
  z-index: 1;
}

.work-process::after,
.work-info-important .work-panel-dots,
.work-join-dots {
  opacity: .9;
}

.work-process::after {
  content: none;
}

.work-process-title {
  position: relative;
  z-index: 1;
}

.work-process-title h2,
.work-info-panel h2,
.work-join-copy h2 {
  margin: 0;
  font-size: clamp(1.65rem, 2vw, 2.45rem);
  line-height: 1.02;
}

.work-scribble,
.work-panel-scribble {
  display: block;
  width: 92px;
  height: 42px;
  margin-top: 18px;
  background: url("../images/header-text-bars-left-pink.png") center / contain no-repeat;
  filter: hue-rotate(60deg) saturate(1.4);
  transform: rotate(-14deg);
}

.work-steps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--work-process-step-gap);
}

.work-steps::before {
  display: none;
}

.work-track-bg,
.work-track-fg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: repeat-x;
  background-size: var(--work-process-dot-gap) var(--work-process-circle);
}

.work-track-bg {
  background-image: radial-gradient(circle, rgba(108, 34, 232, .34) calc(var(--work-process-dot-size) / 2), transparent calc(var(--work-process-dot-size) / 2 + .5px));
}

.work-track-fg {
  background-image: radial-gradient(circle, var(--raspberry) calc(var(--work-process-dot-size) / 2), transparent calc(var(--work-process-dot-size) / 2 + .5px));
  clip-path: inset(0 100% 0 0);
  animation: workTrackReveal var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

.work-track-wrap {
  position: absolute;
  top: var(--work-process-track-top);
  left: calc((100% - (var(--work-process-step-gap) * 3)) / 8);
  right: calc((100% - (var(--work-process-step-gap) * 3)) / 8);
  z-index: 0;
  height: var(--work-process-circle);
  transform: translateY(-50%);
}

.work-track-comet {
  position: absolute;
  top: 50%;
  left: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: radial-gradient(circle at center, #fff 0%, var(--raspberry) 12%, rgba(210, 15, 140, .6) 32%, transparent 70%);
  filter: blur(.5px);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  animation: workCometMove var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

.work-step-connector {
  display: none;
}

.work-step-connector span {
  display: none;
}

.work-step-connector span::after {
  content: none;
}

.work-step {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 6px;
  text-align: center;
  color: var(--purple);
}

.work-step-number {
  position: relative;
  z-index: 2;
  width: var(--work-process-circle);
  height: var(--work-process-circle);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--purple);
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  line-height: 1;
  transform-origin: 50% 50%;
  box-shadow: 0 0 0 0 rgba(210, 15, 140, 0);
}

.work-step-number::before,
.work-step-number::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--raspberry);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.work-num-1 {
  animation: workCircleOne var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-num-2 {
  animation: workCircleTwo var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-num-3 {
  animation: workCircleThree var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-num-4 {
  animation: workCircleFour var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-num-1::before { animation: workRippleOneA var(--work-process-cycle) ease-out infinite; }
.work-num-1::after { animation: workRippleOneB var(--work-process-cycle) ease-out infinite; }
.work-num-2::before { animation: workRippleTwoA var(--work-process-cycle) ease-out infinite; }
.work-num-2::after { animation: workRippleTwoB var(--work-process-cycle) ease-out infinite; }
.work-num-3::before { animation: workRippleThreeA var(--work-process-cycle) ease-out infinite; }
.work-num-3::after { animation: workRippleThreeB var(--work-process-cycle) ease-out infinite; }
.work-num-4::before { animation: workRippleFourA var(--work-process-cycle) ease-out infinite; }
.work-num-4::after { animation: workRippleFourB var(--work-process-cycle) ease-out infinite; }

.work-step-icon {
  width: 42px;
  height: 42px;
  margin-top: 6px;
  display: block;
  overflow: visible;
}

.work-step h3 {
  margin: 0;
  color: var(--blackberry);
  font-size: .98rem;
}

.work-step p {
  max-width: 142px;
  font-size: .74rem;
  line-height: 1.28;
}

.work-icon-apply .work-doc-body {
  stroke: var(--purple);
  transform-origin: 50% 50%;
  animation: workIconStrokeOne var(--work-process-cycle) infinite, workDocPop var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-icon-apply .work-doc-line {
  stroke: var(--purple);
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
}

.work-icon-apply .work-doc-line-1 {
  animation: workIconStrokeOne var(--work-process-cycle) infinite, workWriteLineOne var(--work-process-cycle) ease-out infinite;
}

.work-icon-apply .work-doc-line-2 {
  animation: workIconStrokeOne var(--work-process-cycle) infinite, workWriteLineTwo var(--work-process-cycle) ease-out infinite;
}

.work-icon-apply .work-doc-line-3 {
  animation: workIconStrokeOne var(--work-process-cycle) infinite, workWriteLineThree var(--work-process-cycle) ease-out infinite;
}

.work-icon-chat .work-chat-person {
  fill: var(--purple);
  transform-origin: 50% 80%;
  animation: workIconFillTwo var(--work-process-cycle) infinite, workPersonNod var(--work-process-cycle) ease-in-out infinite;
}

.work-icon-chat .work-chat-bubble {
  fill: var(--raspberry);
  opacity: 0;
  transform: scale(0);
  transform-origin: 0 100%;
  animation: workBubblePop var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-icon-chat .work-chat-dot {
  fill: #fff;
  opacity: 0;
}

.work-icon-chat .work-chat-dot-1 {
  animation: workChatDotOne var(--work-process-cycle) ease-in-out infinite;
}

.work-icon-chat .work-chat-dot-2 {
  animation: workChatDotTwo var(--work-process-cycle) ease-in-out infinite;
}

.work-icon-chat .work-chat-dot-3 {
  animation: workChatDotThree var(--work-process-cycle) ease-in-out infinite;
}

.work-icon-shield .work-shield-body {
  stroke: var(--purple);
  transform-origin: 50% 50%;
  animation: workIconStrokeThree var(--work-process-cycle) infinite, workShieldPop var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-icon-shield .work-shield-exclaim {
  stroke: var(--purple);
  fill: var(--purple);
  animation: workIconStrokeThree var(--work-process-cycle) infinite, workShieldExclaimFade var(--work-process-cycle) ease-in-out infinite;
}

.work-icon-shield .work-shield-check {
  stroke: var(--raspberry);
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  opacity: 0;
  animation: workShieldCheckDraw var(--work-process-cycle) ease-out infinite;
}

.work-icon-shield .work-shield-glow {
  fill: none;
  stroke: var(--raspberry);
  opacity: 0;
  transform-origin: 50% 50%;
  animation: workShieldGlow var(--work-process-cycle) ease-out infinite;
}

.work-icon-star .work-star-outline {
  stroke: var(--purple);
  transform-origin: 50% 50%;
  animation: workIconStrokeFour var(--work-process-cycle) infinite, workStarSpin var(--work-process-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.work-icon-star .work-star-fill {
  fill: var(--raspberry);
  opacity: 0;
  transform-origin: 50% 50%;
  animation: workStarFillIn var(--work-process-cycle) ease-out infinite;
}

.work-icon-star .work-star-sparkle {
  fill: var(--raspberry);
  opacity: 0;
  transform-origin: center;
}

.work-icon-star .work-star-sparkle-1 { animation: workSparkOne var(--work-process-cycle) ease-out infinite; }
.work-icon-star .work-star-sparkle-2 { animation: workSparkTwo var(--work-process-cycle) ease-out infinite; }
.work-icon-star .work-star-sparkle-3 { animation: workSparkThree var(--work-process-cycle) ease-out infinite; }
.work-icon-star .work-star-sparkle-4 { animation: workSparkFour var(--work-process-cycle) ease-out infinite; }
.work-icon-star .work-star-sparkle-5 { animation: workSparkFive var(--work-process-cycle) ease-out infinite; }

@keyframes workCircleOne {
  0%, 5% { background: var(--purple); transform: scale(1); }
  6% { background: var(--raspberry); transform: scale(1.25); }
  14%, 90% { background: var(--raspberry); transform: scale(1); }
  93%, 100% { background: var(--purple); transform: scale(1); }
}

@keyframes workCircleTwo {
  0%, 27% { background: var(--purple); transform: scale(1); }
  28% { background: var(--raspberry); transform: scale(1.25); }
  36%, 90% { background: var(--raspberry); transform: scale(1); }
  93%, 100% { background: var(--purple); transform: scale(1); }
}

@keyframes workCircleThree {
  0%, 49% { background: var(--purple); transform: scale(1); }
  50% { background: var(--raspberry); transform: scale(1.25); }
  58%, 90% { background: var(--raspberry); transform: scale(1); }
  93%, 100% { background: var(--purple); transform: scale(1); }
}

@keyframes workCircleFour {
  0%, 71% { background: var(--purple); transform: scale(1); }
  72% { background: var(--raspberry); transform: scale(1.25); }
  80%, 90% { background: var(--raspberry); transform: scale(1); }
  93%, 100% { background: var(--purple); transform: scale(1); }
}

@keyframes workRippleOneA {
  0%, 5%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  6% { opacity: .9; border-width: 3px; }
  18% { transform: scale(2.4); opacity: 0; border-width: 1px; }
}

@keyframes workRippleOneB {
  0%, 8%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  9% { opacity: .6; border-width: 2px; }
  24% { transform: scale(3); opacity: 0; border-width: 1px; }
}

@keyframes workRippleTwoA {
  0%, 27%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  28% { opacity: .9; border-width: 3px; }
  40% { transform: scale(2.4); opacity: 0; border-width: 1px; }
}

@keyframes workRippleTwoB {
  0%, 30%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  31% { opacity: .6; border-width: 2px; }
  46% { transform: scale(3); opacity: 0; border-width: 1px; }
}

@keyframes workRippleThreeA {
  0%, 49%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  50% { opacity: .9; border-width: 3px; }
  62% { transform: scale(2.4); opacity: 0; border-width: 1px; }
}

@keyframes workRippleThreeB {
  0%, 52%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  53% { opacity: .6; border-width: 2px; }
  68% { transform: scale(3); opacity: 0; border-width: 1px; }
}

@keyframes workRippleFourA {
  0%, 71%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  72% { opacity: .9; border-width: 3px; }
  84% { transform: scale(2.4); opacity: 0; border-width: 1px; }
}

@keyframes workRippleFourB {
  0%, 74%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  75% { opacity: .6; border-width: 2px; }
  90% { transform: scale(3); opacity: 0; border-width: 1px; }
}

@keyframes workTrackReveal {
  0%, 6% { clip-path: inset(0 100% 0 0); }
  26%, 28% { clip-path: inset(0 66.67% 0 0); }
  48%, 50% { clip-path: inset(0 33.33% 0 0); }
  70%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 100% 0 0); }
}

@keyframes workCometMove {
  0%, 5% { left: 0; opacity: 0; transform: translate(-50%, -50%) scale(1); }
  7% { left: 0; opacity: 1; transform: translate(-50%, -50%) scale(1.3); }
  11% { left: 0; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  26% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  29% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1.3); }
  33% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  48% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  51% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1.3); }
  55% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  70% { left: 100%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  73% { left: 100%; opacity: 1; transform: translate(-50%, -50%) scale(1.4); }
  80% { left: 100%; opacity: .8; transform: translate(-50%, -50%) scale(1); }
  90% { left: 100%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
  100% { left: 100%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}

@keyframes workConnectorOne {
  0%, 6% { clip-path: inset(0 0 100% 0); }
  26%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 0 100% 0); }
}

@keyframes workConnectorTwo {
  0%, 28% { clip-path: inset(0 0 100% 0); }
  48%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 0 100% 0); }
}

@keyframes workConnectorThree {
  0%, 50% { clip-path: inset(0 0 100% 0); }
  70%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 0 100% 0); }
}

@keyframes workCometVerticalOne {
  0%, 7% { top: 0; opacity: 0; }
  9% { top: 0; opacity: 1; }
  26% { top: 100%; opacity: 1; }
  32%, 100% { opacity: 0; }
}

@keyframes workCometVerticalTwo {
  0%, 29% { top: 0; opacity: 0; }
  31% { top: 0; opacity: 1; }
  48% { top: 100%; opacity: 1; }
  54%, 100% { opacity: 0; }
}

@keyframes workCometVerticalThree {
  0%, 51% { top: 0; opacity: 0; }
  53% { top: 0; opacity: 1; }
  70% { top: 100%; opacity: 1; }
  76%, 100% { opacity: 0; }
}

@keyframes workIconStrokeOne {
  0%, 5% { stroke: var(--purple); }
  6%, 90% { stroke: var(--raspberry); }
  93%, 100% { stroke: var(--purple); }
}

@keyframes workDocPop {
  0%, 5%, 100% { transform: translateY(0) scale(1); }
  8% { transform: translateY(-3px) scale(1.05); }
  16% { transform: translateY(0) scale(1); }
}

@keyframes workWriteLineOne {
  0%, 5% { stroke-dashoffset: 30; }
  11%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 30; }
}

@keyframes workWriteLineTwo {
  0%, 8% { stroke-dashoffset: 30; }
  14%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 30; }
}

@keyframes workWriteLineThree {
  0%, 11% { stroke-dashoffset: 30; }
  17%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 30; }
}

@keyframes workIconFillTwo {
  0%, 27% { fill: var(--purple); }
  28%, 90% { fill: var(--raspberry); }
  93%, 100% { fill: var(--purple); }
}

@keyframes workPersonNod {
  0%, 27%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-4deg); }
  36% { transform: rotate(3deg); }
  42% { transform: rotate(0deg); }
}

@keyframes workBubblePop {
  0%, 28% { transform: scale(0); opacity: 0; }
  32% { transform: scale(1.15); opacity: 1; }
  36%, 90% { transform: scale(1); opacity: 1; }
  93%, 100% { transform: scale(0); opacity: 0; }
}

@keyframes workChatDotOne {
  0%, 33%, 100% { opacity: 0; transform: translateY(0); }
  38%, 46% { opacity: 1; transform: translateY(-1px); }
  50%, 90% { opacity: .6; transform: translateY(0); }
  93% { opacity: 0; }
}

@keyframes workChatDotTwo {
  0%, 37%, 100% { opacity: 0; transform: translateY(0); }
  42%, 50% { opacity: 1; transform: translateY(-1px); }
  54%, 90% { opacity: .6; transform: translateY(0); }
  93% { opacity: 0; }
}

@keyframes workChatDotThree {
  0%, 41%, 100% { opacity: 0; transform: translateY(0); }
  46%, 54% { opacity: 1; transform: translateY(-1px); }
  58%, 90% { opacity: .6; transform: translateY(0); }
  93% { opacity: 0; }
}

@keyframes workIconStrokeThree {
  0%, 49% { stroke: var(--purple); }
  50%, 90% { stroke: var(--raspberry); }
  93%, 100% { stroke: var(--purple); }
}

@keyframes workShieldPop {
  0%, 49%, 100% { transform: scale(1); }
  52% { transform: scale(1.12); }
  60% { transform: scale(1); }
}

@keyframes workShieldExclaimFade {
  0%, 49% { opacity: 1; }
  52%, 90% { opacity: 0; }
  93%, 100% { opacity: 1; }
}

@keyframes workShieldCheckDraw {
  0%, 52% { stroke-dashoffset: 30; opacity: 0; }
  55% { opacity: 1; }
  62%, 90% { stroke-dashoffset: 0; opacity: 1; }
  93%, 100% { stroke-dashoffset: 30; opacity: 0; }
}

@keyframes workShieldGlow {
  0%, 49%, 100% { opacity: 0; transform: scale(1); stroke-width: 2; }
  51% { opacity: .7; transform: scale(1); stroke-width: 3; }
  65% { opacity: 0; transform: scale(1.5); stroke-width: 1; }
}

@keyframes workIconStrokeFour {
  0%, 71% { stroke: var(--purple); }
  72%, 90% { stroke: var(--raspberry); }
  93%, 100% { stroke: var(--purple); }
}

@keyframes workStarSpin {
  0%, 71%, 100% { transform: rotate(0deg) scale(1); }
  74% { transform: rotate(8deg) scale(1.18); }
  82% { transform: rotate(-4deg) scale(1); }
  87% { transform: rotate(0deg) scale(1); }
}

@keyframes workStarFillIn {
  0%, 71% { opacity: 0; transform: scale(.85); }
  74% { opacity: 1; transform: scale(1.1); }
  80%, 90% { opacity: 1; transform: scale(1); }
  93%, 100% { opacity: 0; transform: scale(.85); }
}

@keyframes workSparkOne {
  0%, 72%, 100% { opacity: 0; transform: translate(0, 0) scale(0); }
  76% { opacity: 1; transform: translate(-6px, -6px) scale(1.2); }
  84% { opacity: .6; transform: translate(-10px, -10px) scale(.8); }
  90% { opacity: 0; transform: translate(-12px, -12px) scale(0); }
}

@keyframes workSparkTwo {
  0%, 73%, 100% { opacity: 0; transform: translate(0, 0) scale(0); }
  77% { opacity: 1; transform: translate(8px, -7px) scale(1.2); }
  85% { opacity: .6; transform: translate(12px, -11px) scale(.8); }
  90% { opacity: 0; transform: translate(14px, -13px) scale(0); }
}

@keyframes workSparkThree {
  0%, 73%, 100% { opacity: 0; transform: translate(0, 0) scale(0); }
  78% { opacity: 1; transform: translate(10px, 6px) scale(1.2); }
  86% { opacity: .6; transform: translate(14px, 10px) scale(.8); }
  90% { opacity: 0; transform: translate(16px, 12px) scale(0); }
}

@keyframes workSparkFour {
  0%, 74%, 100% { opacity: 0; transform: translate(0, 0) scale(0); }
  78% { opacity: 1; transform: translate(-8px, 7px) scale(1.2); }
  86% { opacity: .6; transform: translate(-12px, 11px) scale(.8); }
  90% { opacity: 0; transform: translate(-14px, 13px) scale(0); }
}

@keyframes workSparkFive {
  0%, 72%, 100% { opacity: 0; transform: translate(0, 0) scale(0); }
  76% { opacity: 1; transform: translate(0, -12px) scale(1.2); }
  85% { opacity: .6; transform: translate(0, -16px) scale(.8); }
  90% { opacity: 0; transform: translate(0, -18px) scale(0); }
}

.work-info-grid {
  grid-template-columns: 1fr 1fr;
}

.work-info-panel {
  position: relative;
  min-height: 260px;
  padding: clamp(28px, 2.5vw, 38px) clamp(30px, 2.8vw, 42px);
  background: #fffffc;
  border: 1px solid rgba(21, 31, 109, .055);
  border-radius: 16px;
  overflow: hidden;
}

.work-info-important {
  background: #fbfaff;
  --work-accent: var(--purple);
}

.work-info-interested {
  --work-accent: #86ad00;
}

.work-info-panel h2 {
  margin-bottom: 8px;
}

.work-info-panel p {
  max-width: 540px;
  font-size: clamp(.86rem, .74vw, .94rem);
}

.work-info-panel .work-check-list {
  max-width: 560px;
  gap: 7px;
  margin-top: 8px;
  margin-bottom: 12px;
}

.work-panel-star {
  position: absolute;
  right: 70px;
  top: 34px;
  width: 70px;
  transform: rotate(8deg);
}

.work-panel-scribble {
  position: absolute;
  right: 42px;
  bottom: 38px;
  margin: 0;
}

.work-panel-shield {
  position: absolute;
  right: 54px;
  top: 36px;
  width: 72px;
  height: 72px;
  color: var(--purple);
}

.work-panel-dots {
  position: absolute;
  right: 28px;
  bottom: 18px;
  width: 126px;
}

.work-join-banner {
  position: relative;
  min-height: 156px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 280px 142px;
  gap: 26px;
  align-items: center;
  padding: 28px 34px 28px 48px;
  color: #fff;
  background: #07187d;
  border-radius: 16px;
  overflow: hidden;
}

.work-join-icon {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #7a51f4, #c483ff);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.work-join-icon svg {
  width: 70px;
  height: 70px;
}

.work-join-copy,
.work-join-actions,
.work-join-icon {
  position: relative;
  z-index: 2;
}

.work-join-copy h2,
.work-join-copy p {
  color: #fff;
}

.work-join-copy h2 {
  font-size: clamp(1.45rem, 1.75vw, 2.35rem);
  line-height: 1.04;
}

.work-join-copy p {
  max-width: 455px;
  margin-top: 4px;
}

.work-join-actions {
  display: grid;
  gap: 12px;
}

.work-solid-btn,
.work-dark-outline-btn {
  min-height: 50px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: .95rem;
}

.work-solid-btn {
  background: var(--raspberry);
  color: #fff !important;
  box-shadow: 0 14px 22px rgba(210, 15, 140, .22);
}

.work-dark-outline-btn {
  border: 2px solid rgba(255, 255, 255, .82);
  color: #fff !important;
}

.work-join-dots {
  position: absolute;
  right: -32px;
  top: 0;
  height: 100%;
  width: 170px;
  object-fit: cover;
  opacity: .8;
}

.work-join-star {
  position: relative;
  z-index: 2;
  width: 110px;
  justify-self: center;
  transform: rotate(2deg);
}

.work-feature-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: -50px;
  border: 1px solid #e6e9f6;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.work-feature-card {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 18px;
  align-items: center;
  min-height: 112px;
  padding: 18px 24px;
  border-right: 1px solid #e6e9f6;
}

.work-feature-card:last-child {
  border-right: 0;
}

.work-feature-card .work-round-icon {
  width: 64px;
  height: 64px;
}

.work-feature-card .work-round-icon svg {
  width: 38px;
  height: 38px;
}

.work-feature-card h3 {
  text-transform: uppercase;
  font-size: .92rem;
  line-height: 1.1;
}

.work-feature-card p {
  margin-top: 3px;
  font-size: .82rem;
  line-height: 1.25;
}

.pricing-panel h2,
.soft-card h2,
.content-block h2,
.info-card h3,
.home-activity-strip .activity-copy h2,
.page-prices .price-mini-card h2,
.page-prices .included-heading h2,
.page-prices .ways-pay-section h2,
.page-prices .good-heading h2,
.work-process-title h2,
.work-info-panel h2 {
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
}

@media (max-width: 1180px) {
  .work-benefit-grid,
  .work-feature-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-benefit-card:last-child,
  .work-feature-card:last-child {
    grid-column: 1 / -1;
  }

  .work-role-grid,
  .work-info-grid,
  .work-process,
  .work-join-banner {
    grid-template-columns: 1fr;
  }

  .work-process-title {
    text-align: center;
  }

  .work-scribble {
    margin-left: auto;
    margin-right: auto;
  }

  .work-join-banner {
    justify-items: center;
    text-align: center;
  }

  .work-join-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .work-join-star {
    position: absolute;
    right: 34px;
    top: 38px;
    opacity: .4;
  }
}

@media (max-width: 760px) {
  .work-content2 .work-c2-shell {
    width: min(100% - 28px, 540px);
    gap: 30px;
  }

  .work-section-heading h2::before,
  .work-section-heading h2::after {
    display: none;
  }

  .work-benefit-grid,
  .work-role-grid,
  .work-info-grid,
  .work-feature-row,
  .work-steps {
    grid-template-columns: 1fr;
  }

  .work-benefit-card:last-child,
  .work-feature-card:last-child {
    grid-column: auto;
  }

  .work-role-head {
    grid-template-columns: 70px 1fr;
    gap: 14px;
  }

  .work-role-head .work-round-icon {
    width: 62px;
    height: 62px;
  }

  .work-process {
    padding: 24px 20px;
  }

  .work-process::after,
  .work-steps::before,
  .work-track-wrap,
  .work-track-bg,
  .work-track-fg {
    display: none;
  }

  .work-steps {
    justify-items: center;
    gap: 0;
  }

  .work-step {
    width: 100%;
    max-width: 340px;
  }

  .work-step-connector {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    z-index: auto;
    width: var(--work-process-circle);
    height: 58px;
    margin: 6px auto 10px;
    transform: none;
    background-image: radial-gradient(circle, rgba(108, 34, 232, .34) calc(var(--work-process-dot-size) / 2), transparent calc(var(--work-process-dot-size) / 2 + .5px));
    background-position: center;
    background-repeat: repeat-y;
    background-size: var(--work-process-circle) var(--work-process-dot-gap);
  }

  .work-step-connector::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, var(--raspberry) calc(var(--work-process-dot-size) / 2), transparent calc(var(--work-process-dot-size) / 2 + .5px));
    background-position: center;
    background-repeat: repeat-y;
    background-size: var(--work-process-circle) var(--work-process-dot-gap);
    clip-path: inset(0 0 100% 0);
  }

  .work-step-connector::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: radial-gradient(circle at center, #fff 0%, var(--raspberry) 12%, rgba(210, 15, 140, .6) 32%, transparent 70%);
    filter: blur(.5px);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
  }

  .work-connector-1::before {
    animation: workConnectorOne var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-connector-2::before {
    animation: workConnectorTwo var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-connector-3::before {
    animation: workConnectorThree var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-connector-1::after {
    animation: workCometVerticalOne var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-connector-3::after {
    animation: workCometVerticalThree var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-connector-2::after {
    animation: workCometVerticalTwo var(--work-process-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
  }

  .work-step p {
    max-width: 230px;
  }

  .work-info-panel {
    min-height: 0;
    padding: 24px;
  }

  .work-panel-star,
  .work-panel-scribble,
  .work-panel-shield,
  .work-panel-dots {
    opacity: .22;
  }

  .work-join-banner {
    padding: 28px 20px;
  }

  .work-join-actions {
    width: 100%;
  }

  .work-join-dots,
  .work-join-star {
    display: none;
  }

  .work-feature-row {
    margin-bottom: 0;
  }

  .work-feature-card {
    border-right: 0;
    border-bottom: 1px solid #e6e9f6;
  }

  .work-feature-card:last-child {
    border-bottom: 0;
  }
}


/* Work with us: final layout polish for the middle section */
.work-scribble,
.work-panel-scribble {
  background: linear-gradient(155deg, transparent 0 37%, currentColor 38% 44%, transparent 45%) 0 0 / 22px 18px repeat-x;
  filter: none;
  transform: rotate(-10deg);
}

.work-scribble {
  color: var(--purple);
}

.work-panel-scribble {
  color: #86ad00;
}

/* Work with us: middle-page layout */
.work-quick-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 22px);
}

.work-quick-card {
  min-height: 96px;
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid #e6e9f6;
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(21, 31, 109, .045);
}

.work-quick-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  color: var(--work-icon-color, #fff);
  background: var(--work-icon-bg, var(--work-accent));
  border-radius: 50%;
  box-shadow: 0 11px 22px rgba(21, 31, 109, .08);
}

.work-quick-icon svg {
  width: 31px;
  height: 31px;
}

.work-quick-card h3 {
  margin: 0;
  font-size: clamp(.94rem, .92vw, 1.12rem);
  line-height: 1.15;
}

@media (min-width: 1181px) {
  .work-quick-facts {
    display: block;
    position: relative;
    margin-block: clamp(18px, 1.8vw, 28px) clamp(16px, 1.5vw, 24px);
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(21, 31, 109, .045);
  }

  .work-quick-facts::before {
    content: "";
    display: block;
    width: 100%;
    height: clamp(300px, 28vw, 430px);
    background: #fbfafc url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTYwMCA3MDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAucHVsc2VyaW5nLC5uY29yZSwuc3RhclB1bHNlLCNzdW5yYXlzLCNiYWxsLCNraWRPbGQsI2tpZFlvdW5nLAogICAgICAucm9zZUhhbG8sI3Jvc2VTcGluLC5iYWRnZSwjc3RlcDQgLnNoaWVsZCwuc2hpZWxkSGFsbywjc3RlcDQgLmNoa3sKICAgICAgICB0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyCiAgICAgIH0KICAgICAgdGV4dHtmb250LWZhbWlseTonUG9wcGlucycsLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZn0KICAgICAgI3RyYWNrRGFzaHtzdHJva2UtZGFzaGFycmF5OjEzNjA7c3Ryb2tlLWRhc2hvZmZzZXQ6MTM2MDthbmltYXRpb246Y2pUcmFja0RyYXcgNC44cyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSkgLjQ1cyBmb3J3YXJkc30KICAgICAgI2NvbWV0e29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDEyMHB4LDU1MHB4KTthbmltYXRpb246Y2pDb21ldCA0LjhzIGN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKSAuNDVzIGZvcndhcmRzO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgICNub2RlcyAubm9kZXtvcGFjaXR5OjA7YW5pbWF0aW9uOmNqTm9kZUFwcGVhciAuM3MgZWFzZSBmb3J3YXJkc30KICAgICAgI25vZGVzIC5ub2RlOm50aC1jaGlsZCgxKXthbmltYXRpb24tZGVsYXk6Ljc1c30jbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDIpe2FuaW1hdGlvbi1kZWxheToxLjg1c30jbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheToyLjk1c30jbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDQpe2FuaW1hdGlvbi1kZWxheTo0LjA1c30KICAgICAgI25vZGVzIC5wdWxzZXJpbmd7YW5pbWF0aW9uOmNqUHVsc2VSaW5nIDIuNHMgY3ViaWMtYmV6aWVyKC4yLC42LC4zLDEpIGluZmluaXRlO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgICNub2RlcyAubmNvcmV7YW5pbWF0aW9uOmNqTm9kZUNvcmUgMi40cyBlYXNlLWluLW91dCBpbmZpbml0ZTt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfQogICAgICAjbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDEpIC5wdWxzZXJpbmcsI25vZGVzIC5ub2RlOm50aC1jaGlsZCgxKSAubmNvcmV7YW5pbWF0aW9uLWRlbGF5Oi43NXN9I25vZGVzIC5ub2RlOm50aC1jaGlsZCgyKSAucHVsc2VyaW5nLCNub2RlcyAubm9kZTpudGgtY2hpbGQoMikgLm5jb3Jle2FuaW1hdGlvbi1kZWxheToxLjg1c30jbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDMpIC5wdWxzZXJpbmcsI25vZGVzIC5ub2RlOm50aC1jaGlsZCgzKSAubmNvcmV7YW5pbWF0aW9uLWRlbGF5OjIuOTVzfSNub2RlcyAubm9kZTpudGgtY2hpbGQoNCkgLnB1bHNlcmluZywjbm9kZXMgLm5vZGU6bnRoLWNoaWxkKDQpIC5uY29yZXthbmltYXRpb24tZGVsYXk6NC4wNXN9CiAgICAgICNzdW5yYXlze2FuaW1hdGlvbjpjalNwaW4gNTRzIGxpbmVhciBpbmZpbml0ZTt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfQogICAgICAuc3VuRHJpZnR7YW5pbWF0aW9uOmNqU3VuRHJpZnQgMTAuNXMgY3ViaWMtYmV6aWVyKC40MiwwLC41OCwxKSBpbmZpbml0ZTt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfQogICAgICAjcm9zZVNwaW57YW5pbWF0aW9uOmNqUm9zZVdvYmJsZSA1LjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgIC5yb3NlSGFsb3thbmltYXRpb246Y2pIYWxvIDMuMnMgZWFzZS1vdXQgaW5maW5pdGU7dHJhbnNmb3JtLWJveDpmaWxsLWJveDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0KICAgICAgLmJhZGdle2FuaW1hdGlvbjpjakJhZGdlUHVsc2UgMi42cyBlYXNlLWluLW91dCBpbmZpbml0ZTt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfQogICAgICAjYmFsbHthbmltYXRpb246Y2pCYWxsQm91bmNlIDJzIGN1YmljLWJlemllciguMzUsMCwuMzUsMSkgaW5maW5pdGU7dHJhbnNmb3JtLWJveDpmaWxsLWJveDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0KICAgICAgLnN0YXJQdWxzZXthbmltYXRpb246Y2pTdGFyUHVsc2UgN3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7dHJhbnNmb3JtLWJveDpmaWxsLWJveDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0KICAgICAgI2NsaXBCb2FyZHthbmltYXRpb246Y2pDbGlwYm9hcmRGbG9hdCA0LjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgICNzdGVwNCAuc2hpZWxke2FuaW1hdGlvbjpjalNoaWVsZFB1bHNlIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgIC5zaGllbGRIYWxve2FuaW1hdGlvbjpjalNoaWVsZEhhbG8gM3MgZWFzZS1vdXQgaW5maW5pdGU7dHJhbnNmb3JtLWJveDpmaWxsLWJveDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0KICAgICAgI2tpZE9sZHthbmltYXRpb246Y2pLaWRPbGQgMy42cyBlYXNlLWluLW91dCBpbmZpbml0ZTt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfQogICAgICAja2lkTWlke2FuaW1hdGlvbjpjaktpZE1pZCAxLjVzIGN1YmljLWJlemllciguMywwLC40LDEpIGluZmluaXRlO3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9CiAgICAgICNraWRZb3VuZ3thbmltYXRpb246Y2pLaWRZb3VuZyAxLjE1cyBjdWJpYy1iZXppZXIoLjMsMCwuMzUsMSkgaW5maW5pdGU7dHJhbnNmb3JtLWJveDpmaWxsLWJveDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0KICAgICAgQGtleWZyYW1lcyBjalRyYWNrRHJhd3t0b3tzdHJva2UtZGFzaG9mZnNldDowfX0KICAgICAgQGtleWZyYW1lcyBjakNvbWV0ezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDEyMHB4LDU1MHB4KX04JSw4OCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTQ4MHB4LDU1MHB4KX19CiAgICAgIEBrZXlmcmFtZXMgY2pOb2RlQXBwZWFye3Rve29wYWNpdHk6MX19CiAgICAgIEBrZXlmcmFtZXMgY2pQdWxzZVJpbmd7MCV7dHJhbnNmb3JtOnNjYWxlKC44NSk7b3BhY2l0eTouNTV9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMi42KTtvcGFjaXR5OjB9fQogICAgICBAa2V5ZnJhbWVzIGNqTm9kZUNvcmV7MCUsMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjE2KX19CiAgICAgIEBrZXlmcmFtZXMgY2pTcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19CiAgICAgIEBrZXlmcmFtZXMgY2pTdW5EcmlmdHswJSwxMDAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsM3B4KSBzY2FsZSgxKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4LC0xcHgpIHNjYWxlKDEuMDM1KX19CiAgICAgIEBrZXlmcmFtZXMgY2pSb3NlV29iYmxlezAlLDEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgtMi40ZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSgyLjRkZWcpfX0KICAgICAgQGtleWZyYW1lcyBjakhhbG97MCV7dHJhbnNmb3JtOnNjYWxlKC45Nik7b3BhY2l0eTouMzR9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMS4xMik7b3BhY2l0eTowfX0KICAgICAgQGtleWZyYW1lcyBjakJhZGdlUHVsc2V7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDYwcHgsNTBweCkgc2NhbGUoMSl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGUoNjBweCw1MHB4KSBzY2FsZSgxLjEyKX19CiAgICAgIEBrZXlmcmFtZXMgY2pCYWxsQm91bmNlezAlLDEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4MHB4LDc4cHgpIHJvdGF0ZSgwZGVnKX0zNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4MHB4LDUycHgpIHJvdGF0ZSgtMTZkZWcpfTY4JXt0cmFuc2Zvcm06dHJhbnNsYXRlKDgwcHgsODZweCkgc2NhbGUoMS4wNSwuOTIpIHJvdGF0ZSgtMjhkZWcpfX0KICAgICAgQGtleWZyYW1lcyBjalN0YXJQdWxzZXswJXt0cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDBkZWcpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNCkgcm90YXRlKDE4MGRlZyl9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDM2MGRlZyl9fQogICAgICBAa2V5ZnJhbWVzIGNqQ2xpcGJvYXJkRmxvYXR7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDZweCwtNnB4KX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg2cHgsLTEycHgpfX0KICAgICAgQGtleWZyYW1lcyBjalNoaWVsZFB1bHNlezAlLDEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg3MHB4LDkycHgpIHNjYWxlKC42KX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg3MHB4LDkycHgpIHNjYWxlKC42Nil9fQogICAgICBAa2V5ZnJhbWVzIGNqU2hpZWxkSGFsb3swJXt0cmFuc2Zvcm06c2NhbGUoLjkpO29wYWNpdHk6LjMyfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEuMyk7b3BhY2l0eTowfX0KICAgICAgQGtleWZyYW1lcyBjaktpZE9sZHswJSw1MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMzJweCwxNjhweCkgcm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMzJweCwxNjJweCkgcm90YXRlKC0yLjJkZWcpfTc1JXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMzJweCwxNjJweCkgcm90YXRlKDIuMmRlZyl9fQogICAgICBAa2V5ZnJhbWVzIGNqS2lkTWlkezAlLDEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg2cHgsMTY4cHgpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDZweCwxNTVweCl9fQogICAgICBAa2V5ZnJhbWVzIGNqS2lkWW91bmd7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDEyNHB4LDE2OHB4KSBzY2FsZSguOTYpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDEyNHB4LDE0OHB4KSBzY2FsZSguOTY1KX19CiAgICA8L3N0eWxlPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJiZyIgeDE9IjAiIHkxPSIwIiB4Mj0iMC40IiB5Mj0iMSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2Y3ZjVmYiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0iYmxvYkciIGN4PSI1MCUiIGN5PSI1MCUiIHI9IjUwJSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0I3RDU0NCIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjcwJSIgc3RvcC1jb2xvcj0iI0I3RDU0NCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJibG9iUCIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNTAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjREQ1REE4IiBzdG9wLW9wYWNpdHk9IjAuNDUiLz48c3RvcCBvZmZzZXQ9IjcwJSIgc3RvcC1jb2xvcj0iI0RENURBOCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPGZpbHRlciBpZD0iYmx1ciI+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDAiLz48L2ZpbHRlcj4KICAgIDxmaWx0ZXIgaWQ9InNvZnQiIHg9Ii00MCUiIHk9Ii00MCUiIHdpZHRoPSIxODAlIiBoZWlnaHQ9IjE4MCUiPgogICAgICA8ZmVEcm9wU2hhZG93IGR4PSIwIiBkeT0iNyIgc3RkRGV2aWF0aW9uPSI5IiBmbG9vZC1jb2xvcj0iIzQ2NTA5QyIgZmxvb2Qtb3BhY2l0eT0iMC4xNiIvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyIGlkPSJzb2Z0U20iIHg9Ii01MCUiIHk9Ii01MCUiIHdpZHRoPSIyMDAlIiBoZWlnaHQ9IjIwMCUiPgogICAgICA8ZmVEcm9wU2hhZG93IGR4PSIwIiBkeT0iNCIgc3RkRGV2aWF0aW9uPSI1IiBmbG9vZC1jb2xvcj0iIzQ2NTA5QyIgZmxvb2Qtb3BhY2l0eT0iMC4xOCIvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyIGlkPSJnbG93IiB4PSItMTUwJSIgeT0iLTE1MCUiIHdpZHRoPSI0MDAlIiBoZWlnaHQ9IjQwMCUiPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0IiByZXN1bHQ9ImIiLz4KICAgICAgPGZlTWVyZ2U+PGZlTWVyZ2VOb2RlIGluPSJiIi8+PGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+PC9mZU1lcmdlPgogICAgPC9maWx0ZXI+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9ImNvbWV0RyIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNTAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+PHN0b3Agb2Zmc2V0PSI1NSUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjREQ1REE4IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgoKICA8IS0tIGJhY2tncm91bmQgLS0+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjE2MDAiIGhlaWdodD0iNzAwIiBmaWxsPSJ1cmwoI2JnKSIvPgogIDxjaXJjbGUgY3g9IjYwIiBjeT0iMjAiIHI9IjE1MCIgZmlsbD0idXJsKCNibG9iRykiIGZpbHRlcj0idXJsKCNibHVyKSIvPgoKICA8IS0tIFNVTiAtLT4KICA8ZyBjbGFzcz0ic3VuIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NTYgMjY2KSBzY2FsZSguNjgpIj4KICAgIDxnIGNsYXNzPSJzdW5EcmlmdCI+CiAgICAgIDxjaXJjbGUgcj0iNjAiIGZpbGw9IiNGNTk0NDAiIG9wYWNpdHk9IjAuMTIiLz4KICAgICAgPGNpcmNsZSByPSI0NCIgZmlsbD0iI0Y1OTQ0MCIgb3BhY2l0eT0iMC4xOCIvPgogICAgICA8ZyBjbGFzcz0ic3VucmF5cyIgaWQ9InN1bnJheXMiPjxsaW5lIHgxPSIzNCIgeTE9IjAiIHgyPSI1MCIgeTI9IjAiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iMjkuNCIgeTE9IjE3IiB4Mj0iNDMuMyIgeTI9IjI1IiBzdHJva2U9IiNGOEEyNEYiIHN0cm9rZS13aWR0aD0iNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGxpbmUgeDE9IjE3IiB5MT0iMjkuNCIgeDI9IjI1IiB5Mj0iNDMuMyIgc3Ryb2tlPSIjRjhBMjRGIiBzdHJva2Utd2lkdGg9IjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxsaW5lIHgxPSIwIiB5MT0iMzQiIHgyPSIwIiB5Mj0iNTAiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iLTE3IiB5MT0iMjkuNCIgeDI9Ii0yNSIgeTI9IjQzLjMiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iLTI5LjQiIHkxPSIxNyIgeDI9Ii00My4zIiB5Mj0iMjUiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iLTM0IiB5MT0iMCIgeDI9Ii01MCIgeTI9IjAiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iLTI5LjQiIHkxPSItMTciIHgyPSItNDMuMyIgeTI9Ii0yNSIgc3Ryb2tlPSIjRjhBMjRGIiBzdHJva2Utd2lkdGg9IjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxsaW5lIHgxPSItMTciIHkxPSItMjkuNCIgeDI9Ii0yNSIgeTI9Ii00My4zIiBzdHJva2U9IiNGOEEyNEYiIHN0cm9rZS13aWR0aD0iNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PGxpbmUgeDE9Ii0wIiB5MT0iLTM0IiB4Mj0iLTAiIHkyPSItNTAiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iMTciIHkxPSItMjkuNCIgeDI9IjI1IiB5Mj0iLTQzLjMiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bGluZSB4MT0iMjkuNCIgeTE9Ii0xNyIgeDI9IjQzLjMiIHkyPSItMjUiIHN0cm9rZT0iI0Y4QTI0RiIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L2c+CiAgICAgIDxjaXJjbGUgcj0iMzAiIGZpbGw9IiNGOEEyNEYiLz4KICAgICAgPGNpcmNsZSBjeD0iLTkiIGN5PSItMTAiIHI9IjgiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjAuMzIiLz4KICAgIDwvZz4KICA8L2c+CgogIDwhLS0gU1RFUCAxIDogT0ZTVEVEIFJPU0VUVEUgLS0+CiAgPGcgY2xhc3M9InN0ZXAiIGlkPSJzdGVwMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAwIDM0NSkgc2NhbGUoLjc4KSI+CiAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9IjE3MiIgcng9IjkyIiByeT0iMTUiIGZpbGw9IiNDNzQ3OUEiIG9wYWNpdHk9IjAuMTIiLz4KICAgIDxnIGZpbHRlcj0idXJsKCNzb2Z0U20pIj4KICAgICAgPHBhdGggZD0iTSAtMjYgNjYgTCAtNDggMTUwIEwgLTE2IDEzMCBMIC02IDgwIFoiIGZpbGw9IiNERDVEQTgiLz4KICAgICAgPHBhdGggZD0iTSAyNiA2NiBMIDQ4IDE1MCBMIDE2IDEzMCBMIDYgODAgWiIgZmlsbD0iI0RENURBOCIvPgogICAgICA8cGF0aCBkPSJNIC0yNiA2NiBMIC00MCAxMjAgTCAtMjIgMTEwIEwgLTEyIDc4IFoiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjAuMzAiLz4KICAgICAgPHBhdGggZD0iTSAyNiA2NiBMIDQwIDEyMCBMIDIyIDExMCBMIDEyIDc4IFoiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjAuMzAiLz4KICAgIDwvZz4KICAgIDxjaXJjbGUgY2xhc3M9InJvc2VIYWxvIiBjeD0iMCIgY3k9IjAiIHI9IjkwIiBmaWxsPSJub25lIiBzdHJva2U9IiNERDVEQTgiIHN0cm9rZS13aWR0aD0iNSIgb3BhY2l0eT0iMC4wIi8+CiAgICA8ZyBpZD0icm9zZVNwaW4iIGZpbHRlcj0idXJsKCNzb2Z0KSI+CiAgICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSI4NCIgZmlsbD0iI0RENURBOCIvPgogICAgICA8ZyBpZD0icGV0YWxzIiBmaWxsPSIjREQ1REE4Ij48Y2lyY2xlIGN4PSI4NCIgY3k9IjAiIHI9IjEzIi8+PGNpcmNsZSBjeD0iODAuNiIgY3k9IjIzLjciIHI9IjEzIi8+PGNpcmNsZSBjeD0iNzAuNyIgY3k9IjQ1LjQiIHI9IjEzIi8+PGNpcmNsZSBjeD0iNTUiIGN5PSI2My41IiByPSIxMyIvPjxjaXJjbGUgY3g9IjM0LjkiIGN5PSI3Ni40IiByPSIxMyIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iODMuMSIgcj0iMTMiLz48Y2lyY2xlIGN4PSItMTIiIGN5PSI4My4xIiByPSIxMyIvPjxjaXJjbGUgY3g9Ii0zNC45IiBjeT0iNzYuNCIgcj0iMTMiLz48Y2lyY2xlIGN4PSItNTUiIGN5PSI2My41IiByPSIxMyIvPjxjaXJjbGUgY3g9Ii03MC43IiBjeT0iNDUuNCIgcj0iMTMiLz48Y2lyY2xlIGN4PSItODAuNiIgY3k9IjIzLjciIHI9IjEzIi8+PGNpcmNsZSBjeD0iLTg0IiBjeT0iMCIgcj0iMTMiLz48Y2lyY2xlIGN4PSItODAuNiIgY3k9Ii0yMy43IiByPSIxMyIvPjxjaXJjbGUgY3g9Ii03MC43IiBjeT0iLTQ1LjQiIHI9IjEzIi8+PGNpcmNsZSBjeD0iLTU1IiBjeT0iLTYzLjUiIHI9IjEzIi8+PGNpcmNsZSBjeD0iLTM0LjkiIGN5PSItNzYuNCIgcj0iMTMiLz48Y2lyY2xlIGN4PSItMTIiIGN5PSItODMuMSIgcj0iMTMiLz48Y2lyY2xlIGN4PSIxMiIgY3k9Ii04My4xIiByPSIxMyIvPjxjaXJjbGUgY3g9IjM0LjkiIGN5PSItNzYuNCIgcj0iMTMiLz48Y2lyY2xlIGN4PSI1NSIgY3k9Ii02My41IiByPSIxMyIvPjxjaXJjbGUgY3g9IjcwLjciIGN5PSItNDUuNCIgcj0iMTMiLz48Y2lyY2xlIGN4PSI4MC42IiBjeT0iLTIzLjciIHI9IjEzIi8+PC9nPgogICAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iMCIgcj0iNjIiIGZpbGw9IiNmZmZmZmYiLz4KICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjU2IiBmaWxsPSJub25lIiBzdHJva2U9IiNERDVEQTgiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8dGV4dCB4PSIwIiB5PSItNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxOCIgZm9udC13ZWlnaHQ9IjgwMCIgZmlsbD0iI0M3NDc5QSI+T2ZzdGVkPC90ZXh0PgogICAgICA8dGV4dCB4PSIwIiB5PSIxNyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMyIgZm9udC13ZWlnaHQ9IjcwMCIgZmlsbD0iIzNFNDg5MiI+UmVnaXN0ZXJlZDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJiYWRnZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAgNTApIiBmaWx0ZXI9InVybCgjc29mdFNtKSI+CiAgICAgIDxwYXRoIGQ9Ik0gMCAtMjIgTCAyNiAtMTIgTCAyNiAxMCBDIDI2IDI2IDE0IDM0IDAgNDAgQyAtMTQgMzQgLTI2IDI2IC0yNiAxMCBMIC0yNiAtMTIgWiIgZmlsbD0iI0RENURBOCIvPgogICAgICA8cGF0aCBjbGFzcz0iZHJhdyIgZD0iTSAtMTEgNiBMIC0zIDE0IEwgMTMgLTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDwvZz4KICA8L2c+CgogIDwhLS0gU1RFUCAyIDogVEhSRUUgQ0hJTERSRU4gLS0+CiAgPGcgY2xhc3M9InN0ZXAiIGlkPSJzdGVwMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAwIDM0NSkgc2NhbGUoLjc4KSI+CiAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9IjE3NiIgcng9IjE2NiIgcnk9IjE3IiBmaWxsPSIjQjdENTQ0IiBvcGFjaXR5PSIwLjMwIi8+CiAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9IjE3NCIgcng9IjE0NiIgcnk9IjIxIiBmaWxsPSIjQjdENTQ0IiBvcGFjaXR5PSIwLjE2Ii8+CgogICAgPGcgY2xhc3M9ImtpZCIgaWQ9ImtpZE9sZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzMiAxNjgpIj4KICAgICAgPGVsbGlwc2UgY3g9Ii0xNCIgY3k9Ii01IiByeD0iMTQiIHJ5PSI4IiBmaWxsPSIjRjg5NDNGIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNC41Ii8+CiAgICAgIDxlbGxpcHNlIGN4PSIxNiIgY3k9Ii01IiByeD0iMTQiIHJ5PSI4IiBmaWxsPSIjRjg5NDNGIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNC41Ii8+CiAgICAgIDxwYXRoIGQ9Ik0gLTIwIC04MCBMIC0xOCAtMTAgTCAtOCAtMTAgTCAtMiAtNjYgTCA0IC0xMCBMIDE4IC0xMCBMIDIwIC04MCBaIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIC0yMiAtMTUwIFEgLTQ0IC0xNjAgLTUyIC0xODQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI5IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZD0iTSAyMiAtMTUwIFEgNDQgLTE2MCA1MiAtMTg0IiBmaWxsPSJub25lIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxjaXJjbGUgY3g9Ii01NCIgY3k9Ii0xODgiIHI9IjciIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0Ii8+CiAgICAgIDxjaXJjbGUgY3g9IjU0IiBjeT0iLTE4OCIgcj0iNyIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiLz4KICAgICAgPHBhdGggZD0iTSAtMjcgLTE1NiBRIDAgLTE2NSAyNyAtMTU2IEwgMjkgLTc4IFEgMCAtNzAgLTI5IC03OCBaIiBmaWxsPSIjQjdENTQ0IiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIC0yNyAtMTUwIHEgLTkgNyAtNyAxOSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIDI3IC0xNTAgcSA5IDcgNyAxOSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIC05IC0xNTggTCAwIC0xNDkgTCA5IC0xNTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9Ii0xODYiIHI9IjI5IiBmaWxsPSIjZmZmIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNSIvPgogICAgICA8cGF0aCBkPSJNIC0yOSAtMTg4IFEgLTMzIC0yMTUgMiAtMjE1IFEgMzAgLTIxNSAzMCAtMTkwIFEgMjIgLTIwMSA2IC0yMDEgUSAtMiAtMjA5IC0xMiAtMjAzIFEgLTIyIC0yMDUgLTI5IC0xODggWiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgPHBhdGggZD0iTSAtMTUgLTE5MCBxIDYgLTcgMTIgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIDMgLTE5MCBxIDYgLTcgMTIgMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIC0xMCAtMTc4IFEgMCAtMTY0IDEwIC0xNzggUSAwIC0xNzEgLTEwIC0xNzggWiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8Y2lyY2xlIGN4PSItMTciIGN5PSItMTgwIiByPSI0IiBmaWxsPSIjREQ1REE4IiBvcGFjaXR5PSIuNTUiLz4KICAgICAgPGNpcmNsZSBjeD0iMTciIGN5PSItMTgwIiByPSI0IiBmaWxsPSIjREQ1REE4IiBvcGFjaXR5PSIuNTUiLz4KICAgIDwvZz4KCiAgICA8ZyBjbGFzcz0ia2lkIiBpZD0ia2lkTWlkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2IDE2OCkiPgogICAgICA8ZWxsaXBzZSBjeD0iLTEzIiBjeT0iLTUiIHJ4PSIxNCIgcnk9IjgiIGZpbGw9IiNERDVEQTgiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0LjUiLz4KICAgICAgPGVsbGlwc2UgY3g9IjE1IiBjeT0iLTUiIHJ4PSIxNCIgcnk9IjgiIGZpbGw9IiNERDVEQTgiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0LjUiLz4KICAgICAgPHBhdGggZD0iTSAtMTEgLTU0IEwgLTEzIC0xMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZD0iTSAxMSAtNTQgTCAxNSAtMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gMjIgLTEyMCBRIDQ0IC0xMjggNTAgLTE1MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8Y2lyY2xlIGN4PSI1MiIgY3k9Ii0xNTYiIHI9IjciIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0Ii8+CiAgICAgIDxnIGlkPSJtaWRXYXZlIj4KICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIGF0dHJpYnV0ZVR5cGU9IlhNTCIgdHlwZT0icm90YXRlIgogICAgICAgICAgdmFsdWVzPSIwIC0yMiAtMTIwOyAtMjggLTIyIC0xMjA7IDggLTIyIC0xMjA7IC0yMiAtMjIgLTEyMDsgMCAtMjIgLTEyMCIKICAgICAgICAgIGtleVRpbWVzPSIwOzAuMzswLjU1OzAuODsxIiBkdXI9IjEuN3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgPHBhdGggZD0iTSAtMjIgLTEyMCBRIC00NCAtMTI4IC01MCAtMTUyIiBmaWxsPSJub25lIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgICAgPGNpcmNsZSBjeD0iLTUyIiBjeT0iLTE1NiIgcj0iNyIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiLz4KICAgICAgPC9nPgogICAgICA8cGF0aCBkPSJNIC0yNCAtMTI2IFEgMCAtMTM0IDI0IC0xMjYgTCA0MCAtNTQgUSAwIC00MiAtNDAgLTU0IFoiIGZpbGw9IiNERDVEQTgiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gLTggLTEyOCBMIDAgLTEyMCBMIDggLTEyOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iLTE1OCIgcj0iMzAiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI1Ii8+CiAgICAgIDxwYXRoIGQ9Ik0gLTI2IC0xNzggcSAtMzggLTIgLTQyIDMwIHEgMTggLTkgMzAgLTUgcSAtOCAtMTUgMTIgLTI1IHoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gMjYgLTE3OCBxIDM4IC0yIDQyIDMwIHEgLTE4IC05IC0zMCAtNSBxIDggLTE1IC0xMiAtMjUgeiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgPGVsbGlwc2UgY3g9Ii0zMCIgY3k9Ii0xNzIiIHJ4PSI3IiByeT0iOSIgZmlsbD0iI0RENURBOCIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPGVsbGlwc2UgY3g9IjMwIiBjeT0iLTE3MiIgcng9IjciIHJ5PSI5IiBmaWxsPSIjREQ1REE4IiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8cGF0aCBkPSJNIC0zMCAtMTYyIFEgLTM0IC0xOTAgMCAtMTkwIFEgMzQgLTE5MCAzMCAtMTYyIFEgMTUgLTE3OCAwIC0xNzYgUSAtMTUgLTE3OCAtMzAgLTE2MiBaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8cGF0aCBkPSJNIC0xNiAtMTYyIHEgNiAtNyAxMiAwIiBmaWxsPSJub25lIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gNCAtMTYyIHEgNiAtNyAxMiAwIiBmaWxsPSJub25lIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gLTEyIC0xNTAgUSAwIC0xMzIgMTIgLTE1MCBRIDAgLTE0MiAtMTIgLTE1MCBaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiM0NjUwOUMiIHN0cm9rZS13aWR0aD0iNC41IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgIDxjaXJjbGUgY3g9Ii0xNyIgY3k9Ii0xNTAiIHI9IjQiIGZpbGw9IiNERDVEQTgiIG9wYWNpdHk9Ii42Ii8+CiAgICAgIDxjaXJjbGUgY3g9IjE3IiBjeT0iLTE1MCIgcj0iNCIgZmlsbD0iI0RENURBOCIgb3BhY2l0eT0iLjYiLz4KICAgIDwvZz4KCiAgICA8ZyBjbGFzcz0ia2lkIiBpZD0ia2lkWW91bmciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNCAxNjgpIHNjYWxlKC45NikiPgogICAgICA8ZWxsaXBzZSBjeD0iLTEyIiBjeT0iLTUiIHJ4PSIxMyIgcnk9IjgiIGZpbGw9IiNGODk0M0YiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0LjUiLz4KICAgICAgPGVsbGlwc2UgY3g9IjE0IiBjeT0iLTUiIHJ4PSIxMyIgcnk9IjgiIGZpbGw9IiNGODk0M0YiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0LjUiLz4KICAgICAgPHBhdGggZD0iTSAtMTAgLTQwIEwgLTEyIC0xMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZD0iTSAxMiAtNDAgTCAxNCAtMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSIxMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gLTIwIC04MCBRIC0zOCAtOTAgLTQyIC0xMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSIxMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGQ9Ik0gMjAgLTgwIFEgMzggLTkwIDQyIC0xMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSIxMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxjaXJjbGUgY3g9Ii00NCIgY3k9Ii0xMTQiIHI9IjcuNSIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQiLz4KICAgICAgPGNpcmNsZSBjeD0iNDQiIGN5PSItMTE0IiByPSI3LjUiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0Ii8+CiAgICAgIDxwYXRoIGQ9Ik0gLTI0IC04NCBRIDAgLTk0IDI0IC04NCBMIDIyIC0zNiBRIDAgLTI4IC0yMiAtMzYgWiIgZmlsbD0iI0Y4OTQzRiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9Ii01OCIgcj0iMy41IiBmaWxsPSIjNDY1MDlDIiBvcGFjaXR5PSIuNSIvPgogICAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iLTExOCIgcj0iMzEiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI1Ii8+CiAgICAgIDxwYXRoIGQ9Ik0gLTUgLTE0OCBxIDcgLTExIDE1IC0zIHEgLTMgOSAtMTEgOCIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDY1MDlDIiBzdHJva2Utd2lkdGg9IjQuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICA8Y2lyY2xlIGN4PSItMTAiIGN5PSItMTIwIiByPSIzLjYiIGZpbGw9IiM0NjUwOUMiLz4KICAgICAgPGNpcmNsZSBjeD0iMTAiIGN5PSItMTIwIiByPSIzLjYiIGZpbGw9IiM0NjUwOUMiLz4KICAgICAgPHBhdGggZD0iTSAtOCAtMTA4IHEgOCA4IDE2IDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NTA5QyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPGNpcmNsZSBjeD0iLTE2IiBjeT0iLTExMCIgcj0iNC41IiBmaWxsPSIjREQ1REE4IiBvcGFjaXR5PSIuNiIvPgogICAgICA8Y2lyY2xlIGN4PSIxNiIgY3k9Ii0xMTAiIHI9IjQuNSIgZmlsbD0iI0RENURBOCIgb3BhY2l0eT0iLjYiLz4KICAgIDwvZz4KICA8L2c+CgogIDwhLS0gU1RFUCAzIDogU0NIT09MIEhPTElEQVkgUk9MRVMgLS0+CiAgPGcgY2xhc3M9InN0ZXAiIGlkPSJzdGVwMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwMCAzNDUpIHNjYWxlKC43OCkiPgogICAgPGVsbGlwc2UgY3g9IjAiIGN5PSIxNzIiIHJ4PSIxMTIiIHJ5PSIxNSIgZmlsbD0iI0RDNzQzMCIgb3BhY2l0eT0iMC4xNSIvPgogICAgPGcgY2xhc3M9ImFydCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE2IC02KSIgZmlsdGVyPSJ1cmwoI3NvZnQpIj4KICAgICAgPHJlY3QgeD0iLTc4IiB5PSItNDYiIHdpZHRoPSIxNTAiIGhlaWdodD0iMTMyIiByeD0iMTYiIGZpbGw9IiNmZmZmZmYiLz4KICAgICAgPHJlY3QgeD0iLTc4IiB5PSItNDYiIHdpZHRoPSIxNTAiIGhlaWdodD0iNDAiIHJ4PSIxNiIgZmlsbD0iI0Y4OTQzRiIvPgogICAgICA8cmVjdCB4PSItNzgiIHk9Ii0yMCIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIxNCIgZmlsbD0iI0Y4OTQzRiIvPgogICAgICA8cmVjdCB4PSItNTYiIHk9Ii01OCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjI2IiByeD0iNSIgZmlsbD0iIzc5ODZENiIvPgogICAgICA8cmVjdCB4PSItMTgiIHk9Ii01OCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjI2IiByeD0iNSIgZmlsbD0iIzc5ODZENiIvPgogICAgICA8cmVjdCB4PSIyMCIgeT0iLTU4IiB3aWR0aD0iMTAiIGhlaWdodD0iMjYiIHJ4PSI1IiBmaWxsPSIjNzk4NkQ2Ii8+CiAgICAgIDxnIGZpbGw9IiNGODk0M0YiIG9wYWNpdHk9IjAuMzQiPgogICAgICAgIDxyZWN0IHg9Ii02NiIgeT0iMiIgd2lkdGg9IjI2IiBoZWlnaHQ9IjIwIiByeD0iNCIvPgogICAgICAgIDxyZWN0IHg9Ii0zNCIgeT0iMiIgd2lkdGg9IjI2IiBoZWlnaHQ9IjIwIiByeD0iNCIvPgogICAgICAgIDxyZWN0IHg9Ii0yIiB5PSIyIiB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHJ4PSI0Ii8+CiAgICAgICAgPHJlY3QgeD0iMzAiIHk9IjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyMCIgcng9IjQiLz4KICAgICAgICA8cmVjdCB4PSItNjYiIHk9IjI4IiB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHJ4PSI0Ii8+CiAgICAgICAgPHJlY3QgeD0iLTIiIHk9IjI4IiB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHJ4PSI0Ii8+CiAgICAgICAgPHJlY3QgeD0iMzAiIHk9IjI4IiB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHJ4PSI0Ii8+CiAgICAgICAgPHJlY3QgeD0iLTY2IiB5PSI1NCIgd2lkdGg9IjI2IiBoZWlnaHQ9IjIwIiByeD0iNCIvPgogICAgICAgIDxyZWN0IHg9Ii0zNCIgeT0iNTQiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyMCIgcng9IjQiLz4KICAgICAgICA8cmVjdCB4PSIzMCIgeT0iNTQiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyMCIgcng9IjQiLz4KICAgICAgPC9nPgogICAgICA8cGF0aCBjbGFzcz0ic3RhclB1bHNlIiBkPSJNIC0yMSAyOCBsIDUuNiAxMS4zIGwgMTIuNSAxLjggbCAtOSA4LjggbCAyLjEgMTIuNCBsIC0xMS4yIC01LjkgbCAtMTEuMiA1LjkgbCAyLjEgLTEyLjQgbCAtOSAtOC44IGwgMTIuNSAtMS44IFoiIGZpbGw9IiNGMDg1MkYiLz4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJiYWxsIiBpZD0iYmFsbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODAgNzgpIj4KICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjM0IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNGMDg1MkYiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8cGF0aCBkPSJNIDAgLTE2IGwgMTQgMTAgbCAtNSAxNyBsIC0xOCAwIGwgLTUgLTE3IFoiIGZpbGw9IiNGODk0M0YiLz4KICAgICAgPHBhdGggZD0iTSAwIC0zNCBMIDAgLTE2IE0gMzIgLTEwIEwgMTQgLTYgTSAyMCAyOCBMIDkgMTEgTSAtMjAgMjggTCAtOSAxMSBNIC0zMiAtMTAgTCAtMTQgLTYiIHN0cm9rZT0iI0YwODUyRiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJ3aGlzdGxlIiBpZD0id2hpc3RsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNCA2MCkiPgogICAgICA8Zz4KICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIGF0dHJpYnV0ZVR5cGU9IlhNTCIgdHlwZT0icm90YXRlIgogICAgICAgICAgdmFsdWVzPSI5Oy05OzkiIGtleVRpbWVzPSIwOzAuNTsxIiBkdXI9IjIuNnMiIGNhbGNNb2RlPSJzcGxpbmUiCiAgICAgICAgICBrZXlTcGxpbmVzPSIwLjQgMCAwLjYgMTswLjQgMCAwLjYgMSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICAgICAgICA8cGF0aCBkPSJNIDAgMCBxIDggMjIgMzAgMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzc5ODZENiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMCAzNikiPgogICAgICAgICAgPHBhdGggZD0iTSAtMzQgLTEwIGggMzQgYSAxNiAxNiAwIDEgMSAwIDI0IGggLTI4IGEgOCA4IDAgMCAxIC04IC04IHYgLTggYSA4IDggMCAwIDEgMiAtOCBaIiBmaWxsPSIjRjg5NDNGIi8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iOSIgZmlsbD0iI2ZmZiIvPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KCiAgPCEtLSBTVEVQIDQgOiBUUkFJTklORywgQ0hFQ0tTICYgSU5EVUNUSU9OIC0tPgogIDxnIGNsYXNzPSJzdGVwIiBpZD0ic3RlcDQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0MDAgMzQ1KSBzY2FsZSguNzgpIj4KICAgIDxlbGxpcHNlIGN4PSIwIiBjeT0iMTgwIiByeD0iMTA0IiByeT0iMTUiIGZpbGw9IiMzRTQ4OTIiIG9wYWNpdHk9IjAuMTMiLz4KICAgIDxnIGNsYXNzPSJhcnQiIGlkPSJjbGlwQm9hcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYgLTYpIiBmaWx0ZXI9InVybCgjc29mdCkiPgogICAgICA8cmVjdCB4PSItNjYiIHk9Ii01NCIgd2lkdGg9IjEzMiIgaGVpZ2h0PSIxNTAiIHJ4PSIxNiIgZmlsbD0iIzc5ODZENiIvPgogICAgICA8cmVjdCB4PSItNTQiIHk9Ii00MiIgd2lkdGg9IjEwOCIgaGVpZ2h0PSIxMjYiIHJ4PSIxMCIgZmlsbD0iI2ZmZmZmZiIvPgogICAgICA8cmVjdCB4PSItMjIiIHk9Ii02NiIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjIyIiByeD0iOCIgZmlsbD0iIzUxNUZCOCIvPgogICAgICA8cmVjdCB4PSItMTQiIHk9Ii03NCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjE2IiByeD0iOCIgZmlsbD0iIzc5ODZENiIvPgogICAgICA8Zz4KICAgICAgICA8ZyBjbGFzcz0icm93Ij4KICAgICAgICAgIDxyZWN0IHg9Ii00MiIgeT0iLTI2IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHJ4PSI1IiBmaWxsPSIjNzk4NkQ2IiBvcGFjaXR5PSIwLjIyIi8+CiAgICAgICAgICA8cGF0aCBjbGFzcz0iZHJhdyBjaGsiIGQ9Ik0gLTM4IC0xNiBsIDUgNSBsIDkgLTExIiBmaWxsPSJub25lIiBzdHJva2U9IiM4QkFBMkUiIHN0cm9rZS13aWR0aD0iNC41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgIDxyZWN0IHg9Ii0xNCIgeT0iLTIyIiB3aWR0aD0iNTIiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM1MTVGQjgiIG9wYWNpdHk9IjAuMyIvPgogICAgICAgICAgPHJlY3QgeD0iLTE0IiB5PSItMTIiIHdpZHRoPSIzNiIgaGVpZ2h0PSI2IiByeD0iMyIgZmlsbD0iIzUxNUZCOCIgb3BhY2l0eT0iMC4xNiIvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBjbGFzcz0icm93IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDM0KSI+CiAgICAgICAgICA8cmVjdCB4PSItNDIiIHk9Ii0yNiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiByeD0iNSIgZmlsbD0iIzc5ODZENiIgb3BhY2l0eT0iMC4yMiIvPgogICAgICAgICAgPHBhdGggY2xhc3M9ImRyYXcgY2hrIiBkPSJNIC0zOCAtMTYgbCA1IDUgbCA5IC0xMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjREM3NDMwIiBzdHJva2Utd2lkdGg9IjQuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICA8cmVjdCB4PSItMTQiIHk9Ii0yMiIgd2lkdGg9IjUyIiBoZWlnaHQ9IjYiIHJ4PSIzIiBmaWxsPSIjNTE1RkI4IiBvcGFjaXR5PSIwLjMiLz4KICAgICAgICAgIDxyZWN0IHg9Ii0xNCIgeT0iLTEyIiB3aWR0aD0iMzYiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM1MTVGQjgiIG9wYWNpdHk9IjAuMTYiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xhc3M9InJvdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA2OCkiPgogICAgICAgICAgPHJlY3QgeD0iLTQyIiB5PSItMjYiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgcng9IjUiIGZpbGw9IiM3OTg2RDYiIG9wYWNpdHk9IjAuMjIiLz4KICAgICAgICAgIDxwYXRoIGNsYXNzPSJkcmF3IGNoayIgZD0iTSAtMzggLTE2IGwgNSA1IGwgOSAtMTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0M3NDc5QSIgc3Ryb2tlLXdpZHRoPSI0LjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICAgICAgPHJlY3QgeD0iLTE0IiB5PSItMjIiIHdpZHRoPSI1MiIgaGVpZ2h0PSI2IiByeD0iMyIgZmlsbD0iIzUxNUZCOCIgb3BhY2l0eT0iMC4zIi8+CiAgICAgICAgICA8cmVjdCB4PSItMTQiIHk9Ii0xMiIgd2lkdGg9IjM2IiBoZWlnaHQ9IjYiIHJ4PSIzIiBmaWxsPSIjNTE1RkI4IiBvcGFjaXR5PSIwLjE2Ii8+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0iaWRiYWRnZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY0IDQ0KSIgZmlsdGVyPSJ1cmwoI3NvZnRTbSkiPgogICAgICA8ZyBpZD0iaWRTd2luZyI+CiAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIHR5cGU9InJvdGF0ZSIKICAgICAgICAgIHZhbHVlcz0iLTMgMCAtMzA7IDMgMCAtMzA7IC0zIDAgLTMwIiBrZXlUaW1lcz0iMDswLjU7MSIgZHVyPSIzLjRzIgogICAgICAgICAgY2FsY01vZGU9InNwbGluZSIga2V5U3BsaW5lcz0iMC40IDAgMC42IDE7MC40IDAgMC42IDEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgPHJlY3QgeD0iLTI4IiB5PSItMzAiIHdpZHRoPSI1NiIgaGVpZ2h0PSIxMyIgcng9IjQiIGZpbGw9IiM3OTg2RDYiIG9wYWNpdHk9Ii41NSIvPgogICAgICAgIDxyZWN0IHg9Ii0zMCIgeT0iLTE4IiB3aWR0aD0iNjAiIGhlaWdodD0iNTYiIHJ4PSIxMCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjNzk4NkQ2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgICA8Y2lyY2xlIGN4PSIwIiBjeT0iLTIiIHI9IjEwIiBmaWxsPSIjNzk4NkQ2Ii8+CiAgICAgICAgPHBhdGggZD0iTSAtMTEgMjQgcSAxMSAtMTUgMjIgMCBaIiBmaWxsPSIjNzk4NkQ2Ii8+CiAgICAgICAgPHJlY3QgeD0iLTIwIiB5PSIyOCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjUiIHJ4PSIyLjUiIGZpbGw9IiM1MTVGQjgiIG9wYWNpdHk9IjAuMjgiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGNpcmNsZSBjbGFzcz0ic2hpZWxkSGFsbyIgY3g9IjcwIiBjeT0iOTIiIHI9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9IiM3OTg2RDYiIHN0cm9rZS13aWR0aD0iMy41IiBvcGFjaXR5PSIwIi8+CiAgICA8ZyBjbGFzcz0ic2hpZWxkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MCA5Mikgc2NhbGUoLjYpIiBmaWx0ZXI9InVybCgjc29mdFNtKSI+CiAgICAgIDxwYXRoIGQ9Ik0gMCAtMzIgTCAzNCAtMTggTCAzNCAxMiBDIDM0IDM0IDE4IDQ2IDAgNTQgQyAtMTggNDYgLTM0IDM0IC0zNCAxMiBMIC0zNCAtMTggWiIgZmlsbD0iIzY1NzNDOCIvPgogICAgICA8cGF0aCBjbGFzcz0iZHJhdyIgZD0iTSAtMTUgOCBMIC00IDE5IEwgMTggLTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDwvZz4KICA8L2c+CgogIDwhLS0gU1RSQUlHSFQgUElOSyBQUk9HUkVTUyBMSU5FIC0tPgogIDxwYXRoIGlkPSJ0cmFjayIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjFlNGVlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTSAxMjAgNTUwIEwgMTQ4MCA1NTAiLz4KICA8cGF0aCBpZD0idHJhY2tEYXNoIiBmaWxsPSJub25lIiBzdHJva2U9IiNERDVEQTgiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0gMTIwIDU1MCBMIDE0ODAgNTUwIi8+CiAgPGcgaWQ9ImNvbWV0IiBvcGFjaXR5PSIwIj4KICAgIDxjaXJjbGUgcj0iMTMiIGZpbGw9InVybCgjY29tZXRHKSIgb3BhY2l0eT0iMC43Ii8+CiAgICA8Y2lyY2xlIHI9IjYiIGZpbGw9IiNmZmZmZmYiIGZpbHRlcj0idXJsKCNnbG93KSIvPgogICAgPGNpcmNsZSByPSIzIiBmaWxsPSIjZmZmZmZmIi8+CiAgPC9nPgoKICA8IS0tIE5PREVTIChicmFuZCBjb2xvdXJzKSAtLT4KICA8ZyBpZD0ibm9kZXMiPgogICAgPGcgY2xhc3M9Im5vZGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwMCA1NTApIj4KICAgICAgPGNpcmNsZSBjbGFzcz0icHVsc2VyaW5nIiByPSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRDIwZjhDIiBzdHJva2Utd2lkdGg9IjMuNSIgb3BhY2l0eT0iMCIvPgogICAgICA8Y2lyY2xlIGNsYXNzPSJuY29yZSIgcj0iMTIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI0QyMGY4QyIgc3Ryb2tlLXdpZHRoPSI1Ii8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ibm9kZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAwIDU1MCkiPgogICAgICA8Y2lyY2xlIGNsYXNzPSJwdWxzZXJpbmciIHI9IjEyIiBmaWxsPSJub25lIiBzdHJva2U9IiNCMkQyMzUiIHN0cm9rZS13aWR0aD0iMy41IiBvcGFjaXR5PSIwIi8+CiAgICAgIDxjaXJjbGUgY2xhc3M9Im5jb3JlIiByPSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjQjJEMjM1IiBzdHJva2Utd2lkdGg9IjUiLz4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJub2RlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDAwIDU1MCkiPgogICAgICA8Y2lyY2xlIGNsYXNzPSJwdWxzZXJpbmciIHI9IjEyIiBmaWxsPSJub25lIiBzdHJva2U9IiNGMzcxMjEiIHN0cm9rZS13aWR0aD0iMy41IiBvcGFjaXR5PSIwIi8+CiAgICAgIDxjaXJjbGUgY2xhc3M9Im5jb3JlIiByPSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjRjM3MTIxIiBzdHJva2Utd2lkdGg9IjUiLz4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJub2RlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDAwIDU1MCkiPgogICAgICA8Y2lyY2xlIGNsYXNzPSJwdWxzZXJpbmciIHI9IjEyIiBmaWxsPSJub25lIiBzdHJva2U9IiMyODNBOTciIHN0cm9rZS13aWR0aD0iMy41IiBvcGFjaXR5PSIwIi8+CiAgICAgIDxjaXJjbGUgY2xhc3M9Im5jb3JlIiByPSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjMjgzQTk3IiBzdHJva2Utd2lkdGg9IjUiLz4KICAgIDwvZz4KICA8L2c+CgogIDwhLS0gTEFCRUxTIC0tPgogIDxnIGlkPSJsYWJlbHMiIGZvbnQtd2VpZ2h0PSI3MDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPgogICAgPGcgY2xhc3M9ImxhYmVsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMDAgNTk2KSI+CiAgICAgIDx0ZXh0IGZpbGw9IiNDNzQ3OUEiIGZvbnQtc2l6ZT0iMjEiPk9mc3RlZC1yZWdpc3RlcmVkPC90ZXh0PgogICAgICA8dGV4dCB5PSIyNiIgZmlsbD0iI0M3NDc5QSIgZm9udC1zaXplPSIyMSI+Y2hpbGRjYXJlPC90ZXh0PgogICAgPC9nPgogICAgPGcgY2xhc3M9ImxhYmVsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDAgNjAyKSI+CiAgICAgIDx0ZXh0IGZpbGw9IiMzRTQ4OTIiIGZvbnQtc2l6ZT0iMjEiPkNoaWxkcmVuIGFnZWQgNOKAkzE0PC90ZXh0PgogICAgPC9nPgogICAgPGcgY2xhc3M9ImxhYmVsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDAwIDYwMikiPgogICAgICA8dGV4dCBmaWxsPSIjREM3NDMwIiBmb250LXNpemU9IjIxIj5TY2hvb2wgaG9saWRheSByb2xlczwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGNsYXNzPSJsYWJlbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwMCA1OTYpIj4KICAgICAgPHRleHQgZmlsbD0iIzNFNDg5MiIgZm9udC1zaXplPSIyMSI+VHJhaW5pbmcsIGNoZWNrczwvdGV4dD4KICAgICAgPHRleHQgeT0iMjYiIGZpbGw9IiMzRTQ4OTIiIGZvbnQtc2l6ZT0iMjEiPiZhbXA7IGluZHVjdGlvbjwvdGV4dD4KICAgIDwvZz4KICA8L2c+CgogIDwvc3ZnPgo=") center bottom / 100% auto no-repeat;
    border: 1px solid #e6e9f6;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(21, 31, 109, .045);
  }

  .work-quick-facts::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    translate: 34% 34%;
    width: clamp(157px, 14.1vw, 248px);
    aspect-ratio: 1;
    border-radius: 58% 42% 52% 48% / 44% 56% 40% 60%;
    background: rgba(210, 15, 140, .08);
    pointer-events: none;
    z-index: 0;
    will-change: transform, border-radius;
    animation: offersOrganicBlob 17s ease-in-out infinite;
  }

  .work-quick-facts::after {
    --blob-x1: -12px;
    --blob-y1: -10px;
    --blob-x2: 14px;
    --blob-y2: 8px;
    --blob-r1: 6deg;
    --blob-r2: -7deg;
    --blob-s1: 1.08;
    --blob-s2: .94;
  }

  .work-quick-facts .work-quick-card {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}

.work-section-intro {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  text-align: center;
  justify-self: center;
}

.work-why-modern .work-section-heading,
.work-application-section .work-section-heading {
  margin-bottom: clamp(8px, .7vw, 12px);
}

.work-why-modern .work-benefit-card {
  min-height: 282px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(90deg, #eaf6c9, #ffe7bd, #ffd9ec) left bottom / 100% 6px no-repeat,
    #fff;
  border-color: #dfe3f2;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .055);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.work-why-modern .work-benefit-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(135deg, rgba(21, 31, 109, .035), transparent 46%),
    linear-gradient(0deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0));
  opacity: 0;
}

.work-why-modern .work-benefit-card:hover {
  transform: translateY(-4px);
  border-color: #cfd5ea;
  box-shadow: 0 18px 42px rgba(12, 31, 124, .11);
}

.work-why-modern .work-benefit-card > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}
.work-why-modern .work-benefit-card .work-team-culture-blob {
  width: clamp(97px, 7.9vw, 138px);
  translate: 38% 38%;
}

.work-why-modern .work-benefit-grid {
  margin-top: clamp(26px, 2vw, 34px);
}

.work-why-modern .work-benefit-card p {
  max-width: 205px;
  font-size: clamp(.84rem, .74vw, .94rem);
  line-height: 1.42;
}

.work-why-trophy {
  animation: workWhyTrophyLift 4.8s ease-in-out infinite;
}

.work-why-runner {
  animation: workWhyRunnerDash 4.6s ease-in-out infinite;
}

.work-why-palette {
  animation: workWhyPaletteTilt 5s ease-in-out infinite;
}

@keyframes workWhyTrophyLift {
  0%, 72%, 100% { transform: translateY(0) scale(1); }
  42% { transform: translateY(-4px) scale(1.04); }
}

@keyframes workWhyRunnerDash {
  0%, 72%, 100% { transform: translateX(0) rotate(0deg); }
  38% { transform: translateX(4px) rotate(-3deg); }
  52% { transform: translateX(-1px) rotate(2deg); }
}

@keyframes workWhyPaletteTilt {
  0%, 72%, 100% { transform: rotate(0deg); }
  38% { transform: rotate(-5deg); }
  52% { transform: rotate(3deg); }
}

.work-role-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 1.7vw, 24px);
}

.work-role-modern-card {
  min-height: 174px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding: clamp(24px, 2.1vw, 32px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .58) 0%, rgba(255, 255, 255, .18) 100%),
    var(--work-soft-strong, var(--work-soft, #fff));
  border: 1px solid #e6e9f6;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.work-role-modern-card:hover {
  transform: translateY(-4px);
  border-color: #cfd5ea;
  box-shadow: 0 18px 42px rgba(12, 31, 124, .11);
}

.work-role-modern-card .work-round-icon {
  width: 72px;
  height: 72px;
}

.work-role-modern-card .work-round-icon svg {
  width: 43px;
  height: 43px;
}

.work-role-modern-card h3 {
  margin: 2px 0 8px;
  font-size: clamp(1.12rem, 1.12vw, 1.34rem);
  line-height: 1.05;
}

.work-role-modern-card p {
  max-width: 265px;
  font-size: clamp(.86rem, .76vw, .95rem);
  line-height: 1.42;
}

.work-content2 .work-role-note {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: clamp(18px, 1.5vw, 24px) auto 0;
  text-align: center;
  font-size: clamp(.82rem, .75vw, .92rem);
}

.work-content2 .work-role-note svg {
  width: 18px;
  height: 18px;
  color: var(--blueberry);
  flex: 0 0 auto;
}

.work-info-modern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 2vw, 30px);
}

.work-info-modern-panel {
  position: relative;
  min-height: 342px;
  padding: clamp(30px, 2.7vw, 44px);
  overflow: hidden;
  background: var(--work-soft);
  border: 1px solid rgba(21, 31, 109, .055);
  border-radius: 16px;
  box-shadow: 0 15px 36px rgba(21, 31, 109, .04);
}

.work-info-suits {
  background: linear-gradient(135deg, #fbfff4, #fffffb);
}

.work-info-safeguarding {
  background: linear-gradient(135deg, #fbf8ff, #fff);
}

.work-info-training {
  background: linear-gradient(135deg, #f6fbff, #fff);
}

.work-info-energy {
  background: linear-gradient(135deg, #fff8f2, #fff);
}

.work-info-modern-panel h2 {
  max-width: 480px;
  margin: 0 0 10px;
  color: var(--blackberry);
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
}

.work-info-modern-panel p {
  max-width: 560px;
  font-size: clamp(.86rem, .75vw, .96rem);
  line-height: 1.42;
}

.work-info-modern-panel .work-check-list {
  max-width: 610px;
  gap: 8px;
  margin-top: 12px;
}

.work-info-modern-panel .work-check-list + p {
  margin-top: 16px;
}

.work-info-modern-panel .work-panel-star {
  right: 34px;
  top: 28px;
  width: 76px;
}

.work-info-modern-panel .work-panel-shield,
.work-info-modern-panel .work-panel-cap,
.work-info-modern-panel .work-panel-bolt {
  position: absolute;
  right: 34px;
  top: 28px;
  width: 78px;
  height: 78px;
  color: var(--work-accent);
}

.work-info-modern-panel .work-panel-dots {
  right: 28px;
  bottom: 20px;
  width: 128px;
}

.work-training-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  max-width: 520px;
  margin-top: 24px;
}

.work-training-tags span {
  position: relative;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 16px 0 34px;
  background: #fff;
  border: 1px solid #e2e9fb;
  border-radius: 8px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.8rem, .72vw, .9rem);
  box-shadow: 0 8px 18px rgba(21, 31, 109, .035);
}

.work-training-tags span::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--blueberry);
  transform: translateY(-50%);
}

.work-application-section {
  display: grid;
}

.work-application-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(26px, 2vw, 34px);
}

.work-application-chat-card {
  position: relative;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: clamp(18px, 1.8vw, 28px);
  align-items: start;
  isolation: isolate;
  overflow: hidden;
  min-height: 250px;
  padding: clamp(24px, 2.2vw, 34px);
  color: var(--blackberry);
  background: linear-gradient(135deg, #fff, #fbfcff);
  border: 1px solid #e6e9f6;
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(21, 31, 109, .055);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.work-application-chat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-bottom: 6px solid transparent;
  border-image: linear-gradient(90deg, #eaf6c9, #ffe7bd, #ffd9ec) 1;
  pointer-events: none;
}

.work-application-chat-card::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -88px;
  width: 220px;
  height: 220px;
  border-radius: 48% 52% 44% 56%;
  background: rgba(255, 217, 236, .48);
  pointer-events: none;
}

.work-application-chat-card:hover {
  transform: translateY(-4px);
  border-color: #cfd5ea;
  box-shadow: 0 20px 46px rgba(12, 31, 124, .1);
}

.work-application-chat-icon,
.work-application-chat-copy {
  position: relative;
  z-index: 1;
}

.work-application-chat-icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  color: var(--raspberry);
  background: #ffeaf5;
  border: 1px solid rgba(210, 15, 140, .16);
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(210, 15, 140, .12);
}

.work-application-chat-icon svg {
  width: 38px;
  height: 38px;
}

.work-application-chat-copy {
  display: grid;
  gap: 12px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.92rem, .86vw, 1rem);
  line-height: 1.48;
}

.work-application-chat-copy p {
  margin: 0;
}

@media (max-width: 1180px) {
  .work-quick-facts,
  .work-role-modern-grid,
  .work-info-modern-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .work-quick-facts,
  .work-role-modern-grid,
  .work-info-modern-grid {
    grid-template-columns: 1fr;
  }

  .work-application-chat-card {
    grid-template-columns: 1fr;
  }

  .work-quick-card,
  .work-role-modern-card {
    grid-template-columns: 66px minmax(0, 1fr);
  }

  .work-info-modern-panel {
    min-height: 0;
    padding: 24px;
  }

  .work-info-modern-panel .work-panel-star,
  .work-info-modern-panel .work-panel-shield,
  .work-info-modern-panel .work-panel-cap,
  .work-info-modern-panel .work-panel-bolt,
  .work-info-modern-panel .work-panel-dots {
    opacity: .18;
  }
}

/* Keep CSS-drawn white ticks optically centered inside circular bullets. */
.check-list li::after,
.page-parents .parents-checks li::after,
.work-check-list li::after {
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: center;
}

.check-list li::after {
  left: 9px;
  top: calc(.26em + 9px);
}

.page-parents .parents-checks li::after {
  left: 9px;
  top: calc(.22em + 9px);
}


.work-check-list li::after {
  left: 8px;
  top: calc(.15em + 8px);
}

@media (prefers-reduced-motion: reduce) {
  .work-track-fg,
  .work-track-comet,
  .work-step-number,
  .work-step-number::before,
  .work-step-number::after,
  .work-step-connector::before,
  .work-step-connector::after,
  .work-step-connector span::after,
  .work-doc-body,
  .work-doc-line,
  .work-chat-person,
  .work-chat-bubble,
  .work-chat-dot,
  .work-shield-body,
  .work-shield-exclaim,
  .work-shield-check,
  .work-shield-glow,
  .work-star-outline,
  .work-star-fill,
  .work-star-sparkle,
  .work-why-anim-host,
  .work-why-check-draw,
  .work-why-shield-check,
  .work-why-figure,
  .work-why-smile,
  .work-why-eye {
    animation: none !important;
  }
}

.cookie-consent {
  position: fixed;
  left: clamp(18px, 2.2vw, 34px);
  bottom: clamp(18px, 2.2vw, 34px);
  z-index: 90;
  width: min(396px, calc(100vw - 36px));
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.cookie-consent.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cookie-card,
.cookie-centre {
  background: #fff;
  color: var(--blackberry);
  border: 1px solid rgba(210, 15, 140, .18);
  box-shadow: 0 24px 64px rgba(21, 31, 109, .22);
}

.cookie-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 22px 22px 24px;
}

.cookie-card::before {
  content: "";
  position: absolute;
  right: -34px;
  top: -28px;
  width: 132px;
  height: 132px;
  background: url("../images/halftone-sphere.svg") center / contain no-repeat;
  opacity: .5;
  transform: rotate(-12deg);
}

.cookie-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--raspberry), var(--lime), var(--blueberry), var(--satsuma));
}

.cookie-card__top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .9rem;
  text-transform: uppercase;
}

.cookie-card__top svg,
.cookie-card__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
}

.cookie-card__top svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linejoin: round;
}

.cookie-card__icon {
  display: block;
  object-fit: contain;
}

.cookie-card h2,
.cookie-centre h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--blackberry);
  font-size: clamp(1.32rem, 1.68vw, 1.72rem);
  line-height: .95;
  text-transform: lowercase;
}

.cookie-card p,
.cookie-centre p {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  font-family: GilroyBold, Arial, sans-serif;
  overflow-wrap: anywhere;
}

.cookie-card p:not(.cookie-card__small) {
  font-size: .95rem;
}

.cookie-card__small {
  color: #445086;
  font-size: .92rem;
}

.cookie-card__actions,
.cookie-centre__actions {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-top: 18px;
}

.cookie-btn {
  min-height: 44px;
  border-radius: 10px;
  border: 2px solid transparent;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .88rem;
  line-height: 1.05;
  color: var(--blackberry);
  background: #fff;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.cookie-btn:hover,
.cookie-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(21, 31, 109, .14);
}

.cookie-btn:focus-visible,
.cookie-switch input:focus-visible + span,
.legal-cookie-settings button:focus-visible,
.cookie-centre__close:focus-visible {
  outline: 4px solid rgba(46, 138, 239, .26);
  outline-offset: 3px;
}

.cookie-btn--solid {
  background: var(--raspberry);
  color: #fff;
  box-shadow: 0 10px 22px rgba(210, 15, 140, .18);
}

.cookie-btn--blue {
  background: var(--blueberry);
  box-shadow: 0 10px 22px rgba(40, 58, 151, .16);
}

.cookie-btn--outline {
  border-color: rgba(210, 15, 140, .36);
  color: var(--raspberry);
  font-size: .82rem;
  line-height: 1.04;
}

.cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}

.cookie-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.cookie-modal[hidden] {
  display: none;
}

.cookie-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(21, 31, 109, .56);
  backdrop-filter: blur(5px);
}

.cookie-centre {
  position: relative;
  width: min(790px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 36px));
  overflow: auto;
  border-radius: 18px;
  padding: clamp(24px, 3vw, 36px);
}

.cookie-modal-open {
  overflow: hidden;
}

.cookie-centre__close {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff1f8;
  color: var(--raspberry);
  cursor: pointer;
}

.cookie-centre__close svg {
  width: 21px;
  height: 21px;
}

.cookie-centre__header {
  padding-right: 44px;
}

.cookie-centre__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .88rem;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.cookie-centre__eyebrow::before {
  content: "";
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 21px 0 0 var(--raspberry), 42px 0 0 var(--blueberry);
  margin-right: 46px;
}

.cookie-status {
  margin-top: 20px;
  padding: 14px 18px;
  border-radius: 10px;
  background: #f7f6ff;
  border-left: 5px solid var(--raspberry);
  font-family: GilroyBold, Arial, sans-serif;
  color: #33407d;
}

.cookie-options {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.cookie-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  border: 1px solid #eef0fa;
  border-radius: 14px;
  padding: 20px;
  background: linear-gradient(135deg, #fff, #fbfbff);
}

.cookie-option--locked {
  background: #fff8fb;
}

.cookie-option h3 {
  margin: 0 0 8px;
  color: var(--blackberry);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1;
  text-transform: lowercase;
}

.cookie-option p {
  margin: 0;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1rem;
}

.cookie-option small {
  display: block;
  margin-top: 10px;
  color: #515b8d;
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: .92rem;
}

.cookie-pill {
  min-width: 104px;
  min-height: 42px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  padding: 0 16px;
  color: #fff;
  background: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .82rem;
  text-transform: uppercase;
}

.cookie-switch {
  min-width: 116px;
  display: grid;
  justify-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .82rem;
  color: var(--blackberry);
  text-transform: uppercase;
}

.cookie-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cookie-switch span {
  position: relative;
  width: 64px;
  height: 36px;
  border-radius: 999px;
  background: #dfe2f2;
  box-shadow: inset 0 0 0 2px rgba(21, 31, 109, .08);
  transition: background .18s ease;
}

.cookie-switch span::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 10px rgba(21, 31, 109, .18);
  transition: transform .18s ease;
}

.cookie-switch input:checked + span {
  background: var(--raspberry);
}

.cookie-switch input:checked + span::before {
  transform: translateX(28px);
}

.legal-cookie-settings button {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}

@media (max-width: 760px) {
  .cookie-consent {
    left: 14px;
    right: 14px;
    bottom: 82px;
    width: auto;
  }

  body.has-cookie-banner .sticky-booking {
    display: none;
  }

  .cookie-card {
    padding: 20px 18px 22px;
  }

  .cookie-card h2 {
    font-size: 1.28rem;
  }

  .cookie-card p {
    font-size: .94rem;
  }

  .cookie-card__actions,
  .cookie-centre__actions {
    grid-template-columns: 1fr;
  }

  .cookie-modal {
    align-items: end;
    padding: 12px;
  }

  .cookie-centre {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 16px;
    padding: 24px 18px;
  }

  .cookie-centre__header {
    padding-right: 42px;
  }

  .cookie-option {
    grid-template-columns: 1fr;
  }

  .cookie-switch {
    grid-template-columns: auto 1fr;
    justify-items: start;
    align-items: center;
    min-width: 0;
  }

  .cookie-switch em {
    font-style: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent,
  .cookie-modal,
  .cookie-btn,
  .cookie-switch span,
  .cookie-switch span::before {
    transition: none;
  }

  .cookie-btn:hover,
  .cookie-btn:focus-visible {
    transform: none;
  }
}

.back-to-top {
  position: fixed;
  right: clamp(18px, 2vw, 34px);
  bottom: clamp(18px, 2vw, 34px);
  z-index: 70;
  width: 74px;
  height: 74px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--raspberry) 0%, #e0319f 62%, var(--raspberry) 100%);
  box-shadow: 0 18px 36px rgba(210, 15, 140, .28), inset 0 0 0 2px rgba(255, 255, 255, .46);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(.88);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease;
}

.back-to-top::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 2px solid rgba(255, 255, 255, .52);
  border-radius: inherit;
}

.back-to-top::after {
  content: "";
  position: absolute;
  right: 5px;
  top: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: -46px 36px 0 -4px rgba(40, 58, 151, .28);
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.back-to-top:hover,
.back-to-top:focus-visible {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 24px 44px rgba(210, 15, 140, .34), inset 0 0 0 2px rgba(255, 255, 255, .64);
}

.back-to-top:focus-visible {
  outline: 4px solid rgba(46, 138, 239, .32);
  outline-offset: 4px;
}

.back-to-top__halo {
  position: absolute;
  inset: -7px;
  border: 2px dashed rgba(210, 15, 140, .22);
  border-radius: inherit;
}

.back-to-top__icon,
.back-to-top__label {
  position: relative;
  z-index: 1;
}

.back-to-top__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-top: 5px;
}

.back-to-top__icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.back-to-top__label {
  align-self: start;
  margin-top: -6px;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .74rem;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .back-to-top {
    right: 18px;
    bottom: 82px;
    width: 58px;
    height: 58px;
  }

  .back-to-top::before {
    inset: 7px;
  }

  .back-to-top::after {
    width: 14px;
    height: 14px;
    right: 4px;
    top: 6px;
  }

  .back-to-top__halo {
    inset: -5px;
  }

  .back-to-top__icon {
    width: 28px;
    height: 28px;
    margin-top: 4px;
  }

  .back-to-top__icon svg {
    width: 25px;
    height: 25px;
  }

  .back-to-top__label {
    font-size: .64rem;
    margin-top: -5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top {
    transition: opacity .01ms linear, visibility .01ms linear;
  }

  .back-to-top,
  .back-to-top:hover,
  .back-to-top:focus-visible,
  .back-to-top.is-visible {
    transform: none;
  }
}
/* ========================================================================== 
   Our Camp New Middle Design
   ========================================================================== */
.our-camp-middle {
  position: relative;
}

.our-camp-heading {
  position: relative;
  max-width: 900px;
  margin: 0 auto 24px;
  text-align: center;
}

.our-camp-heading h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: 1;
  text-transform: lowercase;
}

.our-camp-heading h2::before,
.our-camp-heading h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}

.our-camp-heading-pink h2::before,
.our-camp-heading-lime h2::before {
  right: calc(100% + 18px);
  background-image: url("../images/header-text-bars-left-pink.png");
}

.our-camp-heading-pink h2::after,
.our-camp-heading-lime h2::after {
  left: calc(100% + 18px);
  background-image: url("../images/header-text-bars-right-pink.png");
}

.our-camp-heading p {
  max-width: 820px;
  margin: 10px auto 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, .98vw, 1.12rem);
  line-height: 1.42;
}

.our-camp-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.our-camp-info-card,
.our-camp-structure,
.our-camp-activity-card,
.our-camp-itinerary-panel {
  background: #fff;
  border: 1px solid #e8ebf5;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(21, 31, 109, .09);
}

.our-camp-info-card {
  min-height: 100%;
  padding: clamp(24px, 2.4vw, 34px);
}

.our-camp-card-head,
.our-camp-activity-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 14px;
}

.our-camp-info-card .round-icon,
.our-camp-activity-card .round-icon {
  width: 64px;
  height: 64px;
  margin: 0;
  box-shadow: 0 12px 24px rgba(21, 31, 109, .12);
}

.our-camp-info-card .round-icon svg,
.our-camp-activity-card .round-icon svg {
  width: 36px;
  height: 36px;
}

.our-camp-info-card h3,
.our-camp-activity-card h3,
.our-camp-structure h2,
.our-camp-itinerary-panel h2 {
  margin: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.46rem, 1.56vw, 1.9rem);
  line-height: 1.03;
  text-transform: lowercase;
}

.our-camp-info-card p,
.our-camp-activity-card p,
.our-camp-structure p,
.our-camp-itinerary-panel p {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, .95vw, 1.08rem);
  line-height: 1.5;
}

.our-camp-info-card p {
  margin: 0;
}

.our-camp-info-card .check-list,
.our-camp-activity-card .check-list {
  gap: 8px;
  margin-top: 18px;
  font-size: clamp(.88rem, .86vw, .98rem);
  line-height: 1.32;
}

.page-our-camp .our-camp-activity-card.activity-tuck .check-list li::after {
  left: 0;
  top: .26em;
  width: 18px;
  height: 18px;
  border: 0;
  background: #fff;
  transform: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.7 9.2 7.5 12 13.3 6' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.7 9.2 7.5 12 13.3 6' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat;
}
.our-camp-parent-info .our-camp-info-card .check-list li::after {
  content: "";
  position: absolute;
  left: 0;
  top: .26em;
  width: 18px;
  height: 18px;
  border: 0;
  background: center / 12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.35l2.45 2.45L13.2 6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: none;
}

.our-camp-parent-info .our-camp-info-card {
  --parent-info-number: "01";
  --parent-info-number-color: rgba(214, 12, 132, .16);
  --feature-color: var(--raspberry);
  --feature-bg-soft: #ffe8f5;
  --feature-bg-strong: #ffd4ec;
  --feature-ring: rgba(214, 12, 132, .2);
  --feature-border: rgba(214, 12, 132, .14);
  --feature-border-hover: rgba(214, 12, 132, .28);
  --feature-glow: rgba(214, 12, 132, .15);
  --feature-wash: rgba(214, 12, 132, .07);
  --feature-card-start: #fff;
  --feature-card-end: #fff7fc;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, #eaf6c9, #ffe7bd, #ffd9ec) left bottom / 100% 6px no-repeat,
    #fff;
  border-color: var(--feature-border);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.our-camp-parent-info .our-camp-info-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(135deg, var(--feature-wash), transparent 46%),
    linear-gradient(0deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0));
  opacity: 0;
}

.our-camp-parent-info .our-camp-info-card::after {
  content: none;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 0;
  color: var(--parent-info-number-color);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(2.25rem, 2.65vw, 3.35rem);
  line-height: .78;
  pointer-events: none;
}

.our-camp-parent-info .our-camp-info-card:hover {
  transform: translateY(-4px);
  border-color: var(--feature-border-hover);
  box-shadow: 0 18px 42px rgba(12, 31, 124, .11);
}

.our-camp-parent-info .our-camp-info-card > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

.our-camp-parent-info .our-camp-info-card .round-icon {
  position: relative;
  overflow: visible;
  color: var(--feature-color);
  background: radial-gradient(circle at 38% 30%, var(--feature-bg-soft) 0 44%, var(--feature-bg-strong) 100%);
  box-shadow: 0 16px 30px var(--feature-glow), inset 0 0 0 1px rgba(255, 255, 255, .82), inset 0 -7px 16px rgba(12, 31, 124, .06);
  animation: billericayFeatureFloat 4.8s ease-in-out infinite;
}

.our-camp-parent-info .our-camp-info-card .round-icon::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid var(--feature-ring);
  border-radius: 50%;
  opacity: .58;
  animation: billericayFeaturePulse 4.8s ease-in-out infinite;
}

.our-camp-parent-info .our-camp-info-card:nth-child(2) {
  --parent-info-number: "02";
  --parent-info-number-color: rgba(126, 160, 12, .2);
  --feature-color: #7ea00c;
  --feature-bg-soft: #f1fadf;
  --feature-bg-strong: #dff2b8;
  --feature-ring: rgba(126, 160, 12, .22);
  --feature-border: rgba(126, 160, 12, .16);
  --feature-border-hover: rgba(126, 160, 12, .3);
  --feature-glow: rgba(126, 160, 12, .15);
  --feature-wash: rgba(126, 160, 12, .08);
  --feature-card-end: #fbfff5;
}

.our-camp-parent-info .our-camp-info-card:nth-child(3) {
  --parent-info-number: "03";
  --parent-info-number-color: rgba(46, 138, 239, .17);
  --feature-color: var(--sky);
  --feature-bg-soft: #eaf6ff;
  --feature-bg-strong: #d8efff;
  --feature-ring: rgba(46, 138, 239, .2);
  --feature-border: rgba(46, 138, 239, .14);
  --feature-border-hover: rgba(46, 138, 239, .28);
  --feature-glow: rgba(46, 138, 239, .16);
  --feature-wash: rgba(46, 138, 239, .08);
  --feature-card-end: #f7fbff;
}

.our-camp-parent-info .our-camp-info-card:nth-child(4) {
  --parent-info-number: "04";
  --parent-info-number-color: rgba(243, 113, 33, .18);
  --feature-color: var(--satsuma);
  --feature-bg-soft: #fff0d9;
  --feature-bg-strong: #ffd7b7;
  --feature-ring: rgba(243, 113, 33, .22);
  --feature-border: rgba(243, 113, 33, .16);
  --feature-border-hover: rgba(243, 113, 33, .3);
  --feature-glow: rgba(243, 113, 33, .15);
  --feature-wash: rgba(243, 113, 33, .08);
  --feature-card-end: #fff9f3;
}

.our-camp-parent-info .our-camp-info-card:nth-child(2) .round-icon,
.our-camp-parent-info .our-camp-info-card:nth-child(2) .round-icon::before {
  animation-delay: .45s;
}

.our-camp-parent-info .our-camp-info-card:nth-child(3) .round-icon,
.our-camp-parent-info .our-camp-info-card:nth-child(3) .round-icon::before {
  animation-delay: .9s;
}

.our-camp-parent-info .our-camp-info-card:nth-child(4) .round-icon,
.our-camp-parent-info .our-camp-info-card:nth-child(4) .round-icon::before {
  animation-delay: 1.35s;
}

@media (prefers-reduced-motion: reduce) {
  .our-camp-parent-info .our-camp-info-card,
  .our-camp-parent-info .our-camp-info-card .round-icon,
  .our-camp-parent-info .our-camp-info-card .round-icon::before {
    animation: none;
    transition: none;
  }
}

.our-camp-structure {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3vw, 38px);
  align-items: stretch;
  padding: clamp(26px, 3vw, 40px);
}

.our-camp-structure-copy {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.our-camp-structure h3,
.our-camp-itinerary-panel h3,
.our-camp-activity-card strong {
  display: block;
  margin: 6px 0 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, .94vw, 1.08rem);
  line-height: 1.25;
}

.our-camp-structure-copy p {
  margin: 18px 0 0;
}

.our-camp-day-flow {
  min-width: 0;
  width: 100%;
  position: relative;
  --day-cycle: 30s;
  --day-track-y: 16px;
  --day-step-gap: clamp(12px, 1.2vw, 18px);
  --day-step-edge: calc(6.25% - (var(--day-step-gap) * .4375));
  --day-step-stride: calc(12.5% + (var(--day-step-gap) * .125));
  --day-step-1: var(--day-step-edge);
  --day-step-2: calc(var(--day-step-edge) + var(--day-step-stride));
  --day-step-3: calc(var(--day-step-edge) + (var(--day-step-stride) * 2));
  --day-step-4: calc(var(--day-step-edge) + (var(--day-step-stride) * 3));
  --day-step-5: calc(var(--day-step-edge) + (var(--day-step-stride) * 4));
  --day-step-6: calc(var(--day-step-edge) + (var(--day-step-stride) * 5));
  --day-step-7: calc(var(--day-step-edge) + (var(--day-step-stride) * 6));
  --day-step-8: calc(var(--day-step-edge) + (var(--day-step-stride) * 7));
}

.our-camp-day-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--day-step-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.our-camp-day-track::before,
.our-camp-day-track::after {
  content: "";
  position: absolute;
  left: var(--day-step-edge);
  right: var(--day-step-edge);
  top: var(--day-track-y);
  z-index: 0;
  height: 2px;
  transform: translateY(-50%);
  background-repeat: repeat-x;
  background-size: 24px 2px;
  pointer-events: none;
}

.our-camp-day-track::before {
  background-image: repeating-linear-gradient(to right, #b8c0dc 0 14px, transparent 14px 24px);
}

.our-camp-day-track::after {
  background-image: repeating-linear-gradient(to right, var(--blueberry) 0 14px, transparent 14px 24px);
  clip-path: inset(0 100% 0 0);
  animation: ourCampRevealAll var(--day-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

.our-camp-day-flow::after {
  content: "";
  position: absolute;
  left: var(--day-step-1);
  right: auto;
  top: var(--day-track-y);
  z-index: 1;
  width: 42px;
  height: 42px;
  transform: translateY(-50%);
  background: radial-gradient(circle at center, #fff 0%, var(--raspberry) 12%, rgba(210, 15, 140, .55) 32%, transparent 70%);
  border-radius: 50%;
  filter: blur(.5px);
  pointer-events: none;
  opacity: 0;
  animation: ourCampCometMove var(--day-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

@keyframes ourCampRevealAll {
  0%, 5% { clip-path: inset(0 100% 0 0); }
  15% { clip-path: inset(0 85.72% 0 0); }
  25% { clip-path: inset(0 71.43% 0 0); }
  35% { clip-path: inset(0 57.14% 0 0); }
  45% { clip-path: inset(0 42.86% 0 0); }
  55% { clip-path: inset(0 28.57% 0 0); }
  65% { clip-path: inset(0 14.29% 0 0); }
  75%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 100% 0 0); }
}

@keyframes ourCampCometMove {
  0%, 4% { left: var(--day-step-1); opacity: 0; transform: translate(-50%, -50%) scale(1); }
  6% { left: var(--day-step-1); opacity: 1; transform: translate(-50%, -50%) scale(1.25); }
  9% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  15% { left: var(--day-step-2); opacity: 1; transform: translate(-50%, -50%) scale(1.25); }
  18% { transform: translate(-50%, -50%) scale(1); }
  25% { left: var(--day-step-3); transform: translate(-50%, -50%) scale(1.25); }
  28% { transform: translate(-50%, -50%) scale(1); }
  35% { left: var(--day-step-4); transform: translate(-50%, -50%) scale(1.25); }
  38% { transform: translate(-50%, -50%) scale(1); }
  45% { left: var(--day-step-5); transform: translate(-50%, -50%) scale(1.25); }
  48% { transform: translate(-50%, -50%) scale(1); }
  55% { left: var(--day-step-6); transform: translate(-50%, -50%) scale(1.25); }
  58% { transform: translate(-50%, -50%) scale(1); }
  65% { left: var(--day-step-7); transform: translate(-50%, -50%) scale(1.25); }
  68% { transform: translate(-50%, -50%) scale(1); }
  75% { left: var(--day-step-8); transform: translate(-50%, -50%) scale(1.4); }
  82% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  90% { left: var(--day-step-8); opacity: 0; }
  100% { left: var(--day-step-8); opacity: 0; }
}

.day-step {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 38px;
}

.day-number {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1rem;
  line-height: 0;
  padding-top: .08em;
  text-align: center;
  font-variant-numeric: tabular-nums;
  position: relative;
  z-index: 3;
  transform-origin: 50% 50%;
}

.day-number::before,
.day-number::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--day-color, currentColor);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.day-card {
  width: 100%;
  min-height: 122px;
  display: grid;
  place-items: center;
  gap: 9px;
  padding: 16px 10px;
  border: 1px solid #dfe4f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(21, 31, 109, .08);
  text-align: center;
  position: relative;
  transition: transform .5s cubic-bezier(.34, 1.4, .64, 1), box-shadow .5s;
}

.day-card svg {
  width: 34px;
  height: 34px;
}

.day-icon-host {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.day-card .day-icon-host svg {
  width: 46px;
  height: 46px;
  display: block;
  overflow: visible;
}

.day-step:nth-child(1) .day-number { animation: ourCampNumPop1 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(2) .day-number { animation: ourCampNumPop2 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(3) .day-number { animation: ourCampNumPop3 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(4) .day-number { animation: ourCampNumPop4 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(5) .day-number { animation: ourCampNumPop5 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(6) .day-number { animation: ourCampNumPop6 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(7) .day-number { animation: ourCampNumPop7 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.day-step:nth-child(8) .day-number { animation: ourCampNumPop8 var(--day-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }

@keyframes ourCampNumPop1 { 0%, 4% { transform: scale(1); } 5% { transform: scale(1.35); } 12%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop2 { 0%, 14% { transform: scale(1); } 15% { transform: scale(1.35); } 22%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop3 { 0%, 24% { transform: scale(1); } 25% { transform: scale(1.35); } 32%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop4 { 0%, 34% { transform: scale(1); } 35% { transform: scale(1.35); } 42%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop5 { 0%, 44% { transform: scale(1); } 45% { transform: scale(1.35); } 52%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop6 { 0%, 54% { transform: scale(1); } 55% { transform: scale(1.35); } 62%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop7 { 0%, 64% { transform: scale(1); } 65% { transform: scale(1.35); } 72%, 100% { transform: scale(1); } }
@keyframes ourCampNumPop8 { 0%, 74% { transform: scale(1); } 75% { transform: scale(1.35); } 82%, 100% { transform: scale(1); } }

.day-step:nth-child(1) .day-number::before { animation: ourCampRippleA1 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(1) .day-number::after { animation: ourCampRippleB1 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(2) .day-number::before { animation: ourCampRippleA2 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(2) .day-number::after { animation: ourCampRippleB2 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(3) .day-number::before { animation: ourCampRippleA3 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(3) .day-number::after { animation: ourCampRippleB3 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(4) .day-number::before { animation: ourCampRippleA4 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(4) .day-number::after { animation: ourCampRippleB4 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(5) .day-number::before { animation: ourCampRippleA5 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(5) .day-number::after { animation: ourCampRippleB5 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(6) .day-number::before { animation: ourCampRippleA6 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(6) .day-number::after { animation: ourCampRippleB6 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(7) .day-number::before { animation: ourCampRippleA7 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(7) .day-number::after { animation: ourCampRippleB7 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(8) .day-number::before { animation: ourCampRippleA8 var(--day-cycle) ease-out infinite; }
.day-step:nth-child(8) .day-number::after { animation: ourCampRippleB8 var(--day-cycle) ease-out infinite; }

@keyframes ourCampRippleA1 { 0%, 4%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 5% { opacity: .9; border-width: 3px; } 13% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB1 { 0%, 7%, 100% { transform: scale(1); opacity: 0; } 8% { opacity: .5; } 18% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA2 { 0%, 14%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 15% { opacity: .9; border-width: 3px; } 23% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB2 { 0%, 17%, 100% { transform: scale(1); opacity: 0; } 18% { opacity: .5; } 28% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA3 { 0%, 24%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 25% { opacity: .9; border-width: 3px; } 33% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB3 { 0%, 27%, 100% { transform: scale(1); opacity: 0; } 28% { opacity: .5; } 38% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA4 { 0%, 34%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 35% { opacity: .9; border-width: 3px; } 43% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB4 { 0%, 37%, 100% { transform: scale(1); opacity: 0; } 38% { opacity: .5; } 48% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA5 { 0%, 44%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 45% { opacity: .9; border-width: 3px; } 53% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB5 { 0%, 47%, 100% { transform: scale(1); opacity: 0; } 48% { opacity: .5; } 58% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA6 { 0%, 54%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 55% { opacity: .9; border-width: 3px; } 63% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB6 { 0%, 57%, 100% { transform: scale(1); opacity: 0; } 58% { opacity: .5; } 68% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA7 { 0%, 64%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 65% { opacity: .9; border-width: 3px; } 73% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB7 { 0%, 67%, 100% { transform: scale(1); opacity: 0; } 68% { opacity: .5; } 78% { transform: scale(3); opacity: 0; } }
@keyframes ourCampRippleA8 { 0%, 74%, 100% { transform: scale(1); opacity: 0; border-width: 2px; } 75% { opacity: .9; border-width: 3px; } 83% { transform: scale(2.4); opacity: 0; border-width: 1px; } }
@keyframes ourCampRippleB8 { 0%, 77%, 100% { transform: scale(1); opacity: 0; } 78% { opacity: .5; } 88% { transform: scale(3); opacity: 0; } }

.day-step:nth-child(1) .day-card { animation: ourCampLift1 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(2) .day-card { animation: ourCampLift2 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(3) .day-card { animation: ourCampLift3 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(4) .day-card { animation: ourCampLift4 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(5) .day-card { animation: ourCampLift5 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(6) .day-card { animation: ourCampLift6 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(7) .day-card { animation: ourCampLift7 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }
.day-step:nth-child(8) .day-card { animation: ourCampLift8 var(--day-cycle) cubic-bezier(.34, 1.4, .64, 1) infinite; }

@keyframes ourCampLift1 { 0%, 4% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 6% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 14%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift2 { 0%, 14% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 16% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 24%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift3 { 0%, 24% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 26% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 34%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift4 { 0%, 34% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 36% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 44%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift5 { 0%, 44% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 46% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 54%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift6 { 0%, 54% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 56% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 64%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift7 { 0%, 64% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 66% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 74%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }
@keyframes ourCampLift8 { 0%, 74% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } 76% { transform: translateY(-10px); box-shadow: 0 18px 30px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 84%, 88% { transform: translateY(-4px); box-shadow: 0 12px 24px -8px var(--day-shadow), 0 0 0 1px rgba(30, 42, 120, .04); } 94%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(21, 31, 109, .08); } }

.day-icon-1 .check {
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  animation: dayCheckDraw1 var(--day-cycle) ease-out infinite;
}

@keyframes dayCheckDraw1 {
  0%, 5% { stroke-dashoffset: 24; }
  10%, 88% { stroke-dashoffset: 0; }
  94%, 100% { stroke-dashoffset: 24; }
}

.day-icon-2 .fig {
  transform-origin: 50% 100%;
  animation: dayFig2 30s cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.day-icon-2 .f-l { animation-name: dayFig2Left; }
.day-icon-2 .f-m { animation-name: dayFig2Middle; }
.day-icon-2 .f-r { animation-name: dayFig2Right; }

@keyframes dayFig2Left {
  0%, 15% { transform: scale(1) translateY(0); }
  17% { transform: scale(1.15) translateY(-2px); }
  22%, 100% { transform: scale(1) translateY(0); }
}

@keyframes dayFig2Middle {
  0%, 16% { transform: scale(1) translateY(0); }
  18% { transform: scale(1.15) translateY(-2px); }
  23%, 100% { transform: scale(1) translateY(0); }
}

@keyframes dayFig2Right {
  0%, 17% { transform: scale(1) translateY(0); }
  19% { transform: scale(1.15) translateY(-2px); }
  24%, 100% { transform: scale(1) translateY(0); }
}

.day-icon-3 .trophy {
  transform-origin: 50% 100%;
  animation: dayTrophyLift 30s cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.day-icon-3 .shimmer {
  transform-origin: center;
  opacity: 0;
  animation: dayTrophyShine 30s ease-out infinite;
}

@keyframes dayTrophyLift {
  0%, 24% { transform: translateY(0) rotate(0); }
  28% { transform: translateY(-4px) rotate(-3deg); }
  32% { transform: translateY(-4px) rotate(3deg); }
  36%, 100% { transform: translateY(0) rotate(0); }
}

@keyframes dayTrophyShine {
  0%, 27% { opacity: 0; transform: translate(0, 0) scale(0); }
  30% { opacity: 1; transform: translate(0, -2px) scale(1); }
  38%, 100% { opacity: 0; transform: translate(0, -6px) scale(.5); }
}

.day-icon-4 .pencil {
  transform-origin: 80% 80%;
  animation: dayPencilWrite 30s ease-in-out infinite;
}

.day-icon-4 .spark {
  transform-origin: center;
  opacity: 0;
  animation: daySparkBurst 30s ease-out infinite;
}

.day-icon-4 .sp-a { animation-name: daySparkBurstA; }
.day-icon-4 .sp-b { animation-name: daySparkBurstB; }

@keyframes dayPencilWrite {
  0%, 34% { transform: rotate(0); }
  37% { transform: rotate(-12deg); }
  40% { transform: rotate(8deg); }
  44%, 100% { transform: rotate(0); }
}

@keyframes daySparkBurstA {
  0%, 36% { opacity: 0; transform: translate(0, 0) scale(0); }
  39% { opacity: 1; transform: translate(-6px, -6px) scale(1.2); }
  44%, 100% { opacity: 0; transform: translate(-10px, -10px) scale(.4); }
}

@keyframes daySparkBurstB {
  0%, 37% { opacity: 0; transform: translate(0, 0) scale(0); }
  40% { opacity: 1; transform: translate(8px, -4px) scale(1.2); }
  45%, 100% { opacity: 0; transform: translate(12px, -7px) scale(.4); }
}

.day-icon-5 .fork {
  transform-origin: 50% 100%;
  animation: dayFork5 30s ease-in-out infinite;
}

.day-icon-5 .knife {
  transform-origin: 50% 100%;
  animation: dayKnife5 30s ease-in-out infinite;
}

@keyframes dayFork5 {
  0%, 44% { transform: rotate(0); }
  47% { transform: rotate(12deg); }
  51%, 100% { transform: rotate(0); }
}

@keyframes dayKnife5 {
  0%, 44% { transform: rotate(0); }
  47% { transform: rotate(-12deg); }
  51%, 100% { transform: rotate(0); }
}

.day-icon-6 .lid {
  transform-origin: 50% 100%;
  animation: dayLid6 30s ease-in-out infinite;
}

.day-icon-6 .steam {
  transform-origin: 50% 100%;
  opacity: 0;
  animation: daySteam6 30s ease-out infinite;
}

.day-icon-6 .st-2 { animation-name: daySteam6B; }

@keyframes dayLid6 {
  0%, 54% { transform: translateY(0) rotate(0); }
  57% { transform: translateY(-2px) rotate(-3deg); }
  61%, 100% { transform: translateY(0) rotate(0); }
}

@keyframes daySteam6 {
  0%, 54% { opacity: 0; transform: translateY(0) scale(.5); }
  59% { opacity: 1; transform: translateY(-6px) scale(1); }
  66%, 100% { opacity: 0; transform: translateY(-14px) scale(1.6); }
}

@keyframes daySteam6B {
  0%, 56% { opacity: 0; transform: translateY(0) scale(.5); }
  61% { opacity: 1; transform: translateY(-6px) scale(1); }
  68%, 100% { opacity: 0; transform: translateY(-14px) scale(1.6); }
}

.day-icon-7 .moon {
  transform-origin: 50% 50%;
  animation: dayMoonGlow 30s ease-in-out infinite;
}

.day-icon-7 .twinkle {
  transform-origin: center;
  opacity: 0;
  animation: dayTwinkle7 30s ease-in-out infinite;
}

.day-icon-7 .tw-b { animation-name: dayTwinkle7B; }

@keyframes dayMoonGlow {
  0%, 64% { filter: drop-shadow(0 0 0 transparent); }
  68% { filter: drop-shadow(0 0 6px currentColor); }
  74%, 88% { filter: drop-shadow(0 0 2px currentColor); }
  94%, 100% { filter: drop-shadow(0 0 0 transparent); }
}

@keyframes dayTwinkle7 {
  0%, 66% { opacity: 0; transform: scale(0) rotate(0); }
  69% { opacity: 1; transform: scale(1.3) rotate(45deg); }
  72% { opacity: .7; transform: scale(.9) rotate(60deg); }
  76%, 100% { opacity: 0; transform: scale(0) rotate(90deg); }
}

@keyframes dayTwinkle7B {
  0%, 68% { opacity: 0; transform: scale(0); }
  71% { opacity: 1; transform: scale(1.3); }
  78%, 100% { opacity: 0; transform: scale(0); }
}

.day-icon-8 .arrow-from {
  transform-origin: 0% 50%;
  animation: dayArrowFrom 30s ease-out infinite;
}

.day-icon-8 .arrow-to {
  transform-origin: 0% 50%;
  opacity: 0;
  animation: dayArrowTo var(--day-cycle) ease-out infinite;
}

@keyframes dayArrowFrom {
  0%, 74% { transform: translateX(0); }
  77% { transform: translateX(2px); }
  82%, 100% { transform: translateX(0); }
}

@keyframes dayArrowTo {
  0%, 75% { opacity: 0; transform: translateX(-6px); }
  79%, 88% { opacity: 1; transform: translateX(0); }
  94%, 100% { opacity: 0; transform: translateX(-6px); }
}

@media (prefers-reduced-motion: reduce) {
  .our-camp-day-track::after,
  .our-camp-day-flow::after,
  .day-number,
  .day-number::before,
  .day-number::after,
  .day-card,
  .day-icon-host svg,
  .day-icon-host svg * {
    animation: none !important;
    transition: none !important;
  }

  .our-camp-day-track::after,
  .our-camp-day-flow::after {
    opacity: 0;
  }

  .day-icon-1 .check {
    stroke-dashoffset: 0;
  }

  .day-icon-8 .arrow-to {
    opacity: 1;
    transform: none;
  }
}

.day-card strong {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.72rem, .72vw, .82rem);
  line-height: 1.12;
}

.step-blue { --day-color: var(--blueberry); --day-shadow: rgba(37, 153, 224, .45); }
.step-pink { --day-color: var(--raspberry); --day-shadow: rgba(210, 15, 140, .45); }
.step-orange { --day-color: var(--satsuma); --day-shadow: rgba(245, 132, 31, .45); }
.step-lime { --day-color: var(--lime); --day-shadow: rgba(164, 204, 53, .45); }
.step-sky { --day-color: var(--sky); --day-shadow: rgba(37, 153, 224, .45); }
.step-purple { --day-color: var(--purple); --day-shadow: rgba(124, 47, 219, .45); }
.step-magenta { --day-color: #c91ecb; --day-shadow: rgba(192, 40, 156, .45); }
.step-blue .day-number { background: var(--blueberry); }
.step-pink .day-number { background: var(--raspberry); }
.step-orange .day-number { background: var(--satsuma); }
.step-lime .day-number { background: var(--lime); }
.step-sky .day-number { background: var(--sky); }
.step-purple .day-number { background: var(--purple); }
.step-magenta .day-number { background: #c91ecb; }
.step-blue .day-card { color: var(--blueberry); }
.step-pink .day-card { color: var(--raspberry); }
.step-orange .day-card { color: var(--satsuma); }
.step-lime .day-card { color: var(--lime); }
.step-sky .day-card { color: var(--sky); }
.step-purple .day-card { color: var(--purple); }
.step-magenta .day-card { color: var(--raspberry); }

.our-camp-day-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 20px 0 0;
  text-align: center;
}

.our-camp-day-note span {
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 2rem;
  line-height: .7;
}

.our-camp-activity-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.our-camp-activity-card {
  position: relative;
  min-height: 100%;
  padding: clamp(24px, 2.2vw, 34px);
  overflow: hidden;
}

.our-camp-activity-card:nth-child(-n + 3) {
  grid-column: span 2;
}

.our-camp-activity-card:nth-child(n + 4) {
  grid-column: span 3;
}

.our-camp-activity-card p {
  margin: 20px 0 0;
}

.our-camp-activity-card small {
  display: inline-flex;
  margin-top: 18px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eaf5ff;
  color: var(--sky);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .82rem;
  line-height: 1.2;
}

.activity-sports .round-icon,
.activity-swim .round-icon,
.accent-blueberry .round-icon { background: var(--sky); }
.activity-crafts .round-icon,
.accent-pink .round-icon { background: var(--raspberry); }
.activity-screen .round-icon,
.accent-lime .round-icon { background: var(--lime); }
.activity-tuck .round-icon { background: var(--purple); }
.accent-satsuma .round-icon { background: var(--satsuma); }

.our-camp-activity-card.activity-sports .round-icon,
.our-camp-activity-card.activity-swim .round-icon {
  background: #dceeff;
  color: var(--sky);
}

.our-camp-activity-card.activity-crafts .round-icon {
  background: #ffd9ec;
  color: var(--raspberry);
}

.our-camp-activity-card.activity-screen .round-icon {
  background: #eaf6c9;
  color: #86ad00;
}

.our-camp-activity-card.activity-tuck .round-icon {
  background: #eadcff;
  color: var(--purple);
}

.decor-star,
.decor-water,
.decor-drops,
.decor-squiggle,
.decor-lines {
  position: absolute;
  pointer-events: none;
}

.decor-star {
  right: 22px;
  bottom: 22px;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 2.4rem;
  line-height: 1;
}

.decor-water,
.decor-drops {
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 54px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 54'%3E%3Cg fill='none' stroke='%232E8AEF' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 8C8 14 6 18 6 22a6 6 0 0 0 12 0c0-4-2-8-6-14Z'/%3E%3Cpath d='M34 4c-4 6-6 10-6 14a6 6 0 0 0 12 0c0-4-2-8-6-14Z'/%3E%3Cpath d='M28 32c-4 6-6 10-6 14a6 6 0 0 0 12 0c0-4-2-8-6-14Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.our-camp-activity-card.activity-sports .decor-water {
  right: 18px;
  bottom: 18px;
  width: 76px;
  height: 76px;
  background-image: url("../images/games.png");
}

.activity-swim .decor-drops {
  top: 22px;
  right: 22px;
  bottom: auto;
}

.decor-squiggle {
  right: 24px;
  bottom: 24px;
  width: 76px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 22'%3E%3Cpath d='M2 14c8-14 16 14 24 0s16 14 24 0 16 14 24 0' fill='none' stroke='%23B2D235' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.decor-lines {
  right: 24px;
  bottom: 26px;
  width: 48px;
  height: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%236C22E8' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M42 24h-14'/%3E%3Cpath d='M38 10 26 17'/%3E%3Cpath d='M38 38 26 31'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.our-camp-itinerary-panel {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(26px, 3vw, 38px);
  overflow: visible;
}

.our-camp-itinerary-panel::after {
  content: none;
}

.itinerary-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--raspberry);
}

.itinerary-icon svg {
  width: 64px;
  height: 64px;
  stroke-width: 2.6;
}

.our-camp-itinerary-panel h3 {
  margin-top: 4px;
}

.our-camp-itinerary-panel p {
  max-width: 820px;
  margin: 8px 0 0;
}

.our-camp-itinerary-panel .btn {
  min-width: 260px;
  box-shadow: 0 12px 26px rgba(178, 210, 53, .2);
}

.our-camp-itinerary-panel .button-bars-left-pink,
.our-camp-itinerary-panel .button-bars-right-pink {
  --button-bar-gap: 18px;
  --button-bar-width: 34px;
  --button-bar-height: 28px;
  --button-bar-left-optical-adjust: 13px;
  position: relative;
  overflow: visible;
}

.our-camp-itinerary-panel .button-bars-left-pink::before {
  content: "";
  position: absolute;
  left: calc((var(--button-bar-width) + var(--button-bar-gap) - var(--button-bar-left-optical-adjust)) * -1);
  top: 50%;
  width: var(--button-bar-width);
  height: var(--button-bar-height);
  background-image: url("../images/header-text-bars-left-pink.png");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.our-camp-itinerary-panel .button-bars-right-pink::after {
  content: "";
  position: absolute;
  right: calc((var(--button-bar-width) + var(--button-bar-gap)) * -1);
  top: 50%;
  width: var(--button-bar-width);
  height: var(--button-bar-height);
  background-image: url("../images/header-text-bars-right-pink.png");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

@media (max-width: 1180px) {
  .our-camp-info-grid,
  .our-camp-structure,
  .our-camp-itinerary-panel {
    grid-template-columns: 1fr;
  }

  .our-camp-day-track {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .our-camp-day-track::before,
  .our-camp-day-track::after,
  .our-camp-day-flow::after {
    display: none;
  }

  .our-camp-activity-card:nth-child(-n + 3),
  .our-camp-activity-card:nth-child(n + 4) {
    grid-column: span 3;
  }

  .our-camp-itinerary-panel .btn {
    width: max-content;
  }
}

@media (max-width: 760px) {
  .our-camp-heading h2 {
    display: block;
    max-width: 100%;
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: 1.08;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  .our-camp-heading h2::before,
  .our-camp-heading h2::after {
    display: none;
  }

  .our-camp-info-grid,
  .our-camp-activity-grid,
  .our-camp-day-track {
    grid-template-columns: 1fr;
  }

  .our-camp-card-head,
  .our-camp-activity-head {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
  }

  .our-camp-info-card .round-icon,
  .our-camp-activity-card .round-icon {
    width: 58px;
    height: 58px;
  }

  .our-camp-info-card .round-icon svg,
  .our-camp-activity-card .round-icon svg {
    width: 32px;
    height: 32px;
  }

  .our-camp-activity-card:nth-child(-n + 3),
  .our-camp-activity-card:nth-child(n + 4) {
    grid-column: auto;
  }

  .our-camp-structure,
  .our-camp-itinerary-panel {
    padding: 24px 20px;
  }

  .day-step {
    grid-template-columns: 36px minmax(0, 1fr);
    justify-items: stretch;
    align-items: center;
    gap: 10px 12px;
  }

  .day-card {
    min-height: 88px;
    grid-template-columns: 42px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  .day-icon-host,
  .day-card .day-icon-host svg {
    width: 40px;
    height: 40px;
  }

  .our-camp-day-note {
    align-items: flex-start;
    gap: 10px;
    font-size: .95rem;
  }

  .decor-star,
  .decor-water,
  .decor-drops,
  .decor-squiggle,
  .decor-lines,
  .our-camp-itinerary-panel::after {
    opacity: .35;
  }

  .our-camp-itinerary-panel {
    gap: 16px;
  }

  .itinerary-icon {
    width: 64px;
    height: 64px;
  }

  .itinerary-icon svg {
    width: 58px;
    height: 58px;
  }

  .our-camp-itinerary-panel .btn {
    width: 100%;
    min-width: 0;
  }

  .our-camp-itinerary-panel .button-bars-left-pink::before {
    left: 12px;
    top: 50%;
    width: 42px;
    height: 34px;
  }

  .our-camp-itinerary-panel .button-bars-right-pink::after {
    right: 12px;
    top: 50%;
    width: 42px;
    height: 34px;
  }

  .page-content > .section-inner.our-camp-middle {
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
  }

  .our-camp-middle,
  .our-camp-info-grid,
  .our-camp-info-card,
  .our-camp-structure,
  .our-camp-day-flow,
  .our-camp-day-track,
  .our-camp-activity-grid,
  .our-camp-activity-card,
  .our-camp-itinerary-panel,
  .our-camp-card-head > *,
  .our-camp-activity-head > *,
  .our-camp-itinerary-panel > :not(.decor-blob) {
    min-width: 0;
    max-width: 100%;
  }

  .our-camp-info-card h3,
  .our-camp-activity-card h3,
  .our-camp-structure h2,
  .our-camp-itinerary-panel h2,
  .our-camp-info-card p,
  .our-camp-activity-card p,
  .our-camp-structure p,
  .our-camp-itinerary-panel p,
  .our-camp-info-card li,
  .our-camp-activity-card li {
    overflow-wrap: break-word;
  }

  .our-camp-info-card p,
  .our-camp-activity-card p,
  .our-camp-structure p,
  .our-camp-itinerary-panel p,
  .our-camp-info-card .check-list,
  .our-camp-activity-card .check-list {
    width: 100%;
    max-width: calc(100vw - 78px);
    white-space: normal !important;
  }

  .our-camp-card-head,
  .our-camp-activity-head {
    width: 100%;
    max-width: calc(100vw - 78px);
  }

  .our-camp-info-card h3,
  .our-camp-activity-card h3 {
    max-width: calc(100vw - 150px);
    white-space: normal !important;
  }

  .our-camp-heading p {
    max-width: calc(100vw - 36px);
    overflow-wrap: break-word;
  }
}

/* Prices & Ways to Pay - new middle-page sections */
.page-prices .page-content > .section-inner.price-content2:first-child {
  margin-top: clamp(36px, 4vw, 68px);
}

.page-prices .price-content2 {
  gap: clamp(34px, 3vw, 48px);
}

.page-prices .prices-overview-carousel {
  --prices-overview-gap: clamp(14px, 1.45vw, 22px);
  overflow: visible;
  width: 100%;
}

.page-prices .prices-overview-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--prices-overview-gap);
  margin: 0;
  padding: 4px 0;
  list-style: none;
}

.page-prices .prices-overview-card {
  overflow: hidden;
  min-width: 0;
  padding: clamp(8px, .7vw, 12px);
  background: #fff;
  border: 1px solid rgba(223, 227, 242, .7);
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(21, 31, 109, .035);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.page-prices .prices-overview-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  transition: transform .45s ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-prices .prices-overview-card:hover {
    transform: translateY(-4px);
    border-color: rgba(223, 227, 242, .95);
    box-shadow: 0 16px 32px rgba(21, 31, 109, .055);
  }

  .page-prices .prices-overview-card:hover img {
    transform: scale(1.015);
  }
}

.page-prices .prices-section-heading-plain {
  text-align: center;
}

.page-prices .prices-section-heading-plain h2,
.page-prices .voucher-steps-section h2 {
  margin: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
  text-transform: lowercase;
}

.page-prices .prices-section-heading-plain p {
  max-width: 760px;
  margin: 8px auto 0;
  color: #4d568e;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.92rem, .86vw, 1rem);
  line-height: 1.35;
}

.page-prices .prices-included-section {
  display: grid;
  gap: 20px;
}

.page-prices .prices-included-grid {
  --navy: var(--blackberry);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(18px, 1.45vw, 24px);
}

.page-prices .prices-included-card {
  min-height: 158px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 20px 12px;
  border: 1px solid rgba(223, 227, 242, .7);
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(21, 31, 109, .035);
  text-align: center;
  color: var(--blueberry);
}

.page-prices .prices-included-card span {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.page-prices .prices-included-card svg {
  width: 48px;
  height: 48px;
}

.page-prices .prices-included-card strong {
  max-width: 118px;
  color: var(--blackberry);
  font-size: clamp(.88rem, .88vw, 1rem);
  line-height: 1.08;
}

.page-prices .prices-included-lime { background: linear-gradient(145deg, #f5fae8, #fff); }
.page-prices .prices-included-pink { background: linear-gradient(145deg, #fff0f8, #fff); }
.page-prices .prices-included-peach { background: linear-gradient(145deg, #fff5e9, #fff); }
.page-prices .prices-included-purple { background: linear-gradient(145deg, #f6efff, #fff); }
.page-prices .prices-included-blue { background: linear-gradient(145deg, #eff8ff, #fff); }
.page-prices .prices-included-yellow { background: linear-gradient(145deg, #fff8df, #fff); }

.page-prices .prices-included-lime span { background: #e6f3bf; }
.page-prices .prices-included-pink span { background: #ffd9e9; }
.page-prices .prices-included-peach span { background: #ffe7ca; }
.page-prices .prices-included-purple span { background: #eadcff; }
.page-prices .prices-included-blue span { background: #dcedff; }
.page-prices .prices-included-yellow span { background: #fff0bd; }

.page-prices .ways-pay-section {
  gap: 24px;
}

.page-prices .pay-option {
  min-height: 318px;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .055);
}

.page-prices .ways-pay-section .pay-option {
  --pay-option-number: "01";
  --pay-option-number-color: rgba(126, 160, 12, .2);
  --feature-color: #86b600;
  --feature-bg-soft: #f1fadf;
  --feature-bg-strong: #dff2b8;
  --feature-ring: rgba(126, 160, 12, .22);
  --feature-border: rgba(126, 160, 12, .16);
  --feature-border-hover: rgba(126, 160, 12, .3);
  --feature-glow: rgba(126, 160, 12, .15);
  --feature-wash: rgba(126, 160, 12, .08);
  --feature-card-start: #fff;
  --feature-card-end: #fbfff5;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, #eaf6c9, #ffe7bd, #ffd9ec) left bottom / 100% 6px no-repeat,
    #fff;
  border-color: #dfe3f2;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.page-prices .ways-pay-section .pay-option::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(135deg, var(--feature-wash), transparent 46%),
    linear-gradient(0deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0));
  opacity: 0;
}

.page-prices .ways-pay-section .pay-option::after {
  content: none;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 0;
  color: var(--pay-option-number-color);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(2.25rem, 2.65vw, 3.35rem);
  line-height: .78;
  pointer-events: none;
}

.page-prices .ways-pay-section .pay-option:hover {
  transform: translateY(-4px);
  border-color: #cfd5ea;
  box-shadow: 0 18px 42px rgba(12, 31, 124, .11);
}

.page-prices .ways-pay-section .pay-option > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

.page-prices .ways-pay-section .pay-icon {
  position: relative;
  overflow: visible;
  color: var(--feature-color);
  background: radial-gradient(circle at 38% 30%, var(--feature-bg-soft) 0 44%, var(--feature-bg-strong) 100%);
  box-shadow: 0 16px 30px var(--feature-glow), inset 0 0 0 1px rgba(255, 255, 255, .82), inset 0 -7px 16px rgba(12, 31, 124, .06);
  animation: none;
}

.page-prices .ways-pay-section .pay-icon::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid var(--feature-ring);
  border-radius: 50%;
  opacity: .58;
  animation: none;
}

.page-prices .ways-pay-section .pay-option:nth-child(2) {
  --pay-option-number: "02";
  --pay-option-number-color: rgba(214, 12, 132, .16);
  --feature-color: var(--raspberry);
  --feature-bg-soft: #ffe8f5;
  --feature-bg-strong: #ffd4ec;
  --feature-ring: rgba(214, 12, 132, .2);
  --feature-border: rgba(214, 12, 132, .14);
  --feature-border-hover: rgba(214, 12, 132, .28);
  --feature-glow: rgba(214, 12, 132, .15);
  --feature-wash: rgba(214, 12, 132, .07);
  --feature-card-end: #fff7fc;
}

.page-prices .ways-pay-section .pay-option:nth-child(3) {
  --pay-option-number: "03";
  --pay-option-number-color: rgba(243, 113, 33, .18);
  --feature-color: var(--satsuma);
  --feature-bg-soft: #fff0d9;
  --feature-bg-strong: #ffd7b7;
  --feature-ring: rgba(243, 113, 33, .22);
  --feature-border: rgba(243, 113, 33, .16);
  --feature-border-hover: rgba(243, 113, 33, .3);
  --feature-glow: rgba(243, 113, 33, .15);
  --feature-wash: rgba(243, 113, 33, .08);
  --feature-card-end: #fff9f3;
}

.page-prices .ways-pay-section .pay-option:nth-child(4) {
  --pay-option-number: "04";
  --pay-option-number-color: rgba(108, 34, 232, .16);
  --feature-color: var(--purple);
  --feature-bg-soft: #f6efff;
  --feature-bg-strong: #eadcff;
  --feature-ring: rgba(108, 34, 232, .2);
  --feature-border: rgba(108, 34, 232, .14);
  --feature-border-hover: rgba(108, 34, 232, .28);
  --feature-glow: rgba(108, 34, 232, .15);
  --feature-wash: rgba(108, 34, 232, .07);
  --feature-card-end: #fbf7ff;
}

.page-prices .ways-pay-section .pay-option:nth-child(2) .pay-icon,
.page-prices .ways-pay-section .pay-option:nth-child(2) .pay-icon::before {
  animation-delay: .45s;
}

.page-prices .ways-pay-section .pay-option:nth-child(3) .pay-icon,
.page-prices .ways-pay-section .pay-option:nth-child(3) .pay-icon::before {
  animation-delay: .9s;
}

.page-prices .ways-pay-section .pay-option:nth-child(4) .pay-icon,
.page-prices .ways-pay-section .pay-option:nth-child(4) .pay-icon::before {
  animation-delay: 1.35s;
}

@media (prefers-reduced-motion: reduce) {
  .page-prices .ways-pay-section .pay-option,
  .page-prices .ways-pay-section .pay-icon,
  .page-prices .ways-pay-section .pay-icon::before {
    animation: none;
    transition: none;
  }

  .work-why-modern .work-benefit-card {
    transition: none;
  }

  .work-role-modern-card {
    transition: none;
  }

  .work-application-chat-card {
    transition: none;
  }
}

@media (max-width: 760px) {
  body.page-prices .ways-pay-section {
    gap: 18px;
  }

  body.page-prices .ways-pay-grid {
    gap: 14px;
  }

  body.page-prices .ways-pay-section .pay-option {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-areas:
      "icon title"
      "icon copy";
    gap: 7px 15px;
    align-items: center;
    min-height: 0;
    padding: 18px 18px 18px 17px;
    border-color: var(--feature-border);
    border-radius: 18px;
    background:
      linear-gradient(180deg, var(--feature-color), var(--feature-color)) left 18px top 18px / 4px calc(100% - 36px) no-repeat,
      radial-gradient(circle at 100% 0%, var(--feature-wash) 0 84px, transparent 85px),
      linear-gradient(135deg, #fff 0%, var(--feature-card-end) 100%);
    box-shadow: 0 14px 28px rgba(21, 31, 109, .075);
  }

  body.page-prices .ways-pay-section .pay-option::before {
    opacity: .86;
    background:
      radial-gradient(circle at 100% 0%, var(--feature-wash) 0 78px, transparent 80px),
      linear-gradient(0deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0));
  }

  body.page-prices .ways-pay-section .pay-option::after {
    content: var(--pay-option-number);
    top: 15px;
    right: 16px;
    color: var(--pay-option-number-color);
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: .78;
  }

  body.page-prices .ways-pay-section .pay-icon {
    grid-area: icon;
    align-self: center;
    width: 54px;
    height: 54px;
    margin: 0;
    border-radius: 16px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .28)),
      var(--feature-bg-strong);
    box-shadow: 0 12px 22px var(--feature-glow), inset 0 0 0 1px rgba(255, 255, 255, .82);
  }

  body.page-prices .ways-pay-section .pay-icon::before {
    inset: -5px;
    border-radius: 20px;
    opacity: .5;
  }

  body.page-prices .ways-pay-section .pay-icon svg {
    width: 31px;
    height: 31px;
  }

  body.page-prices .ways-pay-section .pay-option h3 {
    grid-area: title;
    max-width: calc(100% - 48px);
    margin: 0;
    font-size: clamp(1.16rem, 5.5vw, 1.42rem);
    line-height: 1.04;
  }

  body.page-prices .ways-pay-section .pay-option p {
    grid-area: copy;
    max-width: 100%;
    margin: 0;
    font-size: clamp(.9rem, 3.8vw, .98rem);
    line-height: 1.35;
  }

  body.page-prices .ways-pay-section .pay-option .decor-blob {
    display: none;
  }
}

.page-prices .voucher-steps-section {
  display: grid;
  gap: clamp(16px, 1.7vw, 24px);
}

.page-prices .voucher-steps-section h2 {
  justify-self: center;
  text-align: center;
}

.page-prices .voucher-steps-card {
  --voucher-cycle: 15s;
  --voucher-dot-size: 5px;
  --voucher-dot-gap: 14px;
  --voucher-circle: 42px;
  --voucher-step-gap: clamp(18px, 1.7vw, 28px);
  --voucher-card-pad-x: clamp(26px, 2.7vw, 42px);
  --voucher-card-pad-y: clamp(32px, 2.9vw, 46px);
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--voucher-step-gap);
  min-height: clamp(250px, 18vw, 292px);
  padding: var(--voucher-card-pad-y) var(--voucher-card-pad-x) clamp(34px, 3vw, 48px);
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe3f2;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .05);
  isolation: isolate;
}

.page-prices .voucher-track-wrap {
  position: absolute;
  top: calc(var(--voucher-card-pad-y) + (var(--voucher-circle) / 2));
  left: calc(var(--voucher-card-pad-x) + ((100% - (var(--voucher-card-pad-x) * 2) - (var(--voucher-step-gap) * 3)) / 8));
  right: calc(var(--voucher-card-pad-x) + ((100% - (var(--voucher-card-pad-x) * 2) - (var(--voucher-step-gap) * 3)) / 8));
  z-index: 0;
  height: var(--voucher-circle);
  transform: translateY(-50%);
  pointer-events: none;
}

.page-prices .voucher-track-bg,
.page-prices .voucher-track-fg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: repeat-x;
  background-size: var(--voucher-dot-gap) var(--voucher-circle);
}

.page-prices .voucher-track-bg {
  background-image: radial-gradient(circle, rgba(108, 34, 232, .32) calc(var(--voucher-dot-size) / 2), transparent calc(var(--voucher-dot-size) / 2 + .5px));
}

.page-prices .voucher-track-fg {
  background-image: radial-gradient(circle, var(--raspberry) calc(var(--voucher-dot-size) / 2), transparent calc(var(--voucher-dot-size) / 2 + .5px));
  clip-path: inset(0 100% 0 0);
  animation: voucherTrackReveal var(--voucher-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

.page-prices .voucher-track-comet {
  position: absolute;
  top: 50%;
  left: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: radial-gradient(circle at center, #fff 0%, var(--raspberry) 12%, rgba(210, 15, 140, .62) 32%, transparent 70%);
  filter: blur(.5px);
  opacity: 0;
  transform: translate(-50%, -50%);
  animation: voucherCometMove var(--voucher-cycle) cubic-bezier(.65, .05, .36, 1) infinite;
}

.page-prices .voucher-step {
  --voucher-step-color: var(--purple);
  --voucher-step-glow: rgba(108, 34, 232, .16);
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 7px;
  text-align: center;
  color: var(--voucher-step-color);
  transform-origin: 50% 22px;
}

.page-prices .voucher-step:not(:last-child)::after {
  content: none;
}

.page-prices .voucher-step-number {
  position: relative;
  z-index: 2;
  width: var(--voucher-circle);
  height: var(--voucher-circle);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--voucher-step-color);
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1.08rem;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(21, 31, 109, .08);
  transform-origin: 50% 50%;
}

.page-prices .voucher-step-number::before,
.page-prices .voucher-step-number::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--voucher-step-color);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.page-prices .voucher-step-icon {
  display: block;
  width: 64px;
  height: 64px;
  margin-top: 12px;
  overflow: visible;
  color: var(--voucher-step-color);
  filter: drop-shadow(0 12px 16px var(--voucher-step-glow));
}

.page-prices .voucher-step-icon *,
.page-prices .voucher-step-icon {
  transform-box: fill-box;
  transform-origin: center;
}

.page-prices .voucher-step h3 {
  max-width: 210px;
  margin: 2px 0 0;
  color: var(--blackberry);
  font-size: clamp(1.04rem, .98vw, 1.22rem);
  line-height: 1.02;
}

.page-prices .voucher-step p {
  max-width: 280px;
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.78rem, .76vw, .9rem);
  line-height: 1.27;
}

.page-prices .voucher-step-lime {
  --voucher-step-color: #86b600;
  --voucher-step-glow: rgba(134, 182, 0, .2);
  animation: voucherStepLiftOne var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-step-pink {
  --voucher-step-color: var(--raspberry);
  --voucher-step-glow: rgba(210, 15, 140, .2);
  animation: voucherStepLiftTwo var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-step-purple {
  --voucher-step-color: var(--purple);
  --voucher-step-glow: rgba(108, 34, 232, .2);
  animation: voucherStepLiftThree var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-step-orange {
  --voucher-step-color: var(--satsuma);
  --voucher-step-glow: rgba(243, 113, 33, .2);
  animation: voucherStepLiftFour var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-step-lime .voucher-step-number { animation: voucherNumberOne var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.page-prices .voucher-step-pink .voucher-step-number { animation: voucherNumberTwo var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.page-prices .voucher-step-purple .voucher-step-number { animation: voucherNumberThree var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.page-prices .voucher-step-orange .voucher-step-number { animation: voucherNumberFour var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite; }
.page-prices .voucher-step-lime .voucher-step-number::before { animation: voucherRippleOneA var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-lime .voucher-step-number::after { animation: voucherRippleOneB var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-pink .voucher-step-number::before { animation: voucherRippleTwoA var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-pink .voucher-step-number::after { animation: voucherRippleTwoB var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-purple .voucher-step-number::before { animation: voucherRippleThreeA var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-purple .voucher-step-number::after { animation: voucherRippleThreeB var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-orange .voucher-step-number::before { animation: voucherRippleFourA var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-step-orange .voucher-step-number::after { animation: voucherRippleFourB var(--voucher-cycle) ease-out infinite; }

.page-prices .voucher-laptop {
  animation: voucherLaptopFloat var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-card {
  opacity: .72;
  animation: voucherCardPop var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.page-prices .voucher-card-check {
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  animation: voucherCheckDrawOne var(--voucher-cycle) ease-out infinite;
}

.page-prices .voucher-search-glass {
  animation: voucherSearchSweep var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-search-scan {
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  animation: voucherSearchLine var(--voucher-cycle) ease-out infinite;
}

.page-prices .voucher-search-dot {
  fill: currentColor;
  stroke: none;
  opacity: 0;
}

.page-prices .voucher-search-dot-1 { animation: voucherSearchDotOne var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-search-dot-2 { animation: voucherSearchDotTwo var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-search-dot-3 { animation: voucherSearchDotThree var(--voucher-cycle) ease-out infinite; }

.page-prices .voucher-person-mark {
  animation: voucherPersonNod var(--voucher-cycle) ease-in-out infinite;
}

.page-prices .voucher-reference-tag {
  animation: voucherReferenceSlide var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.page-prices .voucher-reference-line {
  stroke-dasharray: 22;
  stroke-dashoffset: 22;
}

.page-prices .voucher-reference-line-1 { animation: voucherReferenceLineOne var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-reference-line-2 { animation: voucherReferenceLineTwo var(--voucher-cycle) ease-out infinite; }

.page-prices .voucher-reference-dot {
  fill: currentColor;
  stroke: none;
  opacity: 0;
  animation: voucherReferenceDot var(--voucher-cycle) ease-out infinite;
}

.page-prices .voucher-match-ring {
  animation: voucherMatchRing var(--voucher-cycle) cubic-bezier(.34, 1.56, .64, 1) infinite;
}

.page-prices .voucher-match-check {
  stroke-dasharray: 34;
  stroke-dashoffset: 34;
  animation: voucherMatchCheck var(--voucher-cycle) ease-out infinite;
}

.page-prices .voucher-refund-arc,
.page-prices .voucher-refund-arrow {
  stroke-dasharray: 42;
  stroke-dashoffset: 42;
}

.page-prices .voucher-refund-arc { animation: voucherRefundArc var(--voucher-cycle) ease-out infinite; }
.page-prices .voucher-refund-arrow { animation: voucherRefundArrow var(--voucher-cycle) ease-out infinite; }

@keyframes voucherTrackReveal {
  0%, 6% { clip-path: inset(0 100% 0 0); }
  26%, 28% { clip-path: inset(0 66.67% 0 0); }
  48%, 50% { clip-path: inset(0 33.33% 0 0); }
  70%, 90% { clip-path: inset(0 0 0 0); }
  93%, 100% { clip-path: inset(0 100% 0 0); }
}

@keyframes voucherCometMove {
  0%, 5% { left: 0; opacity: 0; transform: translate(-50%, -50%) scale(1); }
  7% { left: 0; opacity: 1; transform: translate(-50%, -50%) scale(1.25); }
  11% { left: 0; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  26% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  29% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1.25); }
  33% { left: 33.33%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  48% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  51% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1.25); }
  55% { left: 66.67%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  70% { left: 100%; opacity: 1; transform: translate(-50%, -50%) scale(1); }
  73% { left: 100%; opacity: 1; transform: translate(-50%, -50%) scale(1.35); }
  80% { left: 100%; opacity: .8; transform: translate(-50%, -50%) scale(1); }
  90%, 100% { left: 100%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}

@keyframes voucherStepLiftOne {
  0%, 5%, 18%, 100% { transform: translateY(0); }
  8% { transform: translateY(-5px); }
}

@keyframes voucherStepLiftTwo {
  0%, 27%, 40%, 100% { transform: translateY(0); }
  30% { transform: translateY(-5px); }
}

@keyframes voucherStepLiftThree {
  0%, 49%, 62%, 100% { transform: translateY(0); }
  52% { transform: translateY(-5px); }
}

@keyframes voucherStepLiftFour {
  0%, 71%, 84%, 100% { transform: translateY(0); }
  74% { transform: translateY(-5px); }
}

@keyframes voucherNumberOne {
  0%, 5%, 18%, 100% { transform: scale(1); box-shadow: 0 8px 18px rgba(21, 31, 109, .08); }
  8% { transform: scale(1.2); box-shadow: 0 0 0 12px var(--voucher-step-glow), 0 12px 22px rgba(21, 31, 109, .12); }
}

@keyframes voucherNumberTwo {
  0%, 27%, 40%, 100% { transform: scale(1); box-shadow: 0 8px 18px rgba(21, 31, 109, .08); }
  30% { transform: scale(1.2); box-shadow: 0 0 0 12px var(--voucher-step-glow), 0 12px 22px rgba(21, 31, 109, .12); }
}

@keyframes voucherNumberThree {
  0%, 49%, 62%, 100% { transform: scale(1); box-shadow: 0 8px 18px rgba(21, 31, 109, .08); }
  52% { transform: scale(1.2); box-shadow: 0 0 0 12px var(--voucher-step-glow), 0 12px 22px rgba(21, 31, 109, .12); }
}

@keyframes voucherNumberFour {
  0%, 71%, 84%, 100% { transform: scale(1); box-shadow: 0 8px 18px rgba(21, 31, 109, .08); }
  74% { transform: scale(1.2); box-shadow: 0 0 0 12px var(--voucher-step-glow), 0 12px 22px rgba(21, 31, 109, .12); }
}

@keyframes voucherRippleOneA {
  0%, 5%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  8% { opacity: .38; }
  19% { transform: scale(2.5); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleOneB {
  0%, 8%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  12% { opacity: .28; }
  23% { transform: scale(2.1); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleTwoA {
  0%, 27%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  30% { opacity: .38; }
  41% { transform: scale(2.5); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleTwoB {
  0%, 30%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  34% { opacity: .28; }
  45% { transform: scale(2.1); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleThreeA {
  0%, 49%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  52% { opacity: .38; }
  63% { transform: scale(2.5); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleThreeB {
  0%, 52%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  56% { opacity: .28; }
  67% { transform: scale(2.1); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleFourA {
  0%, 71%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  74% { opacity: .38; }
  85% { transform: scale(2.5); opacity: 0; border-width: 1px; }
}

@keyframes voucherRippleFourB {
  0%, 74%, 100% { transform: scale(1); opacity: 0; border-width: 2px; }
  78% { opacity: .28; }
  89% { transform: scale(2.1); opacity: 0; border-width: 1px; }
}

@keyframes voucherLaptopFloat {
  0%, 5%, 18%, 100% { transform: translateY(0); }
  8%, 12% { transform: translateY(-4px); }
}

@keyframes voucherCardPop {
  0%, 5%, 100% { opacity: .72; transform: scale(1); }
  8% { opacity: 1; transform: scale(1.08); }
  16%, 90% { opacity: 1; transform: scale(1); }
  93% { opacity: .72; }
}

@keyframes voucherCheckDrawOne {
  0%, 7% { stroke-dashoffset: 24; }
  13%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 24; }
}

@keyframes voucherSearchSweep {
  0%, 27%, 44%, 100% { transform: translateX(0) rotate(0deg); }
  31% { transform: translateX(-4px) rotate(-5deg); }
  37% { transform: translateX(4px) rotate(4deg); }
}

@keyframes voucherSearchLine {
  0%, 28% { stroke-dashoffset: 24; }
  34%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 24; }
}

@keyframes voucherSearchDotOne {
  0%, 29%, 100% { opacity: 0; transform: scale(.6); }
  33%, 90% { opacity: 1; transform: scale(1); }
  93% { opacity: 0; }
}

@keyframes voucherSearchDotTwo {
  0%, 31%, 100% { opacity: 0; transform: scale(.6); }
  35%, 90% { opacity: 1; transform: scale(1); }
  93% { opacity: 0; }
}

@keyframes voucherSearchDotThree {
  0%, 33%, 100% { opacity: 0; transform: scale(.6); }
  37%, 90% { opacity: 1; transform: scale(1); }
  93% { opacity: 0; }
}

@keyframes voucherPersonNod {
  0%, 49%, 66%, 100% { transform: rotate(0deg); }
  53% { transform: rotate(-4deg); }
  59% { transform: rotate(3deg); }
}

@keyframes voucherReferenceSlide {
  0%, 50%, 100% { transform: translateX(0); }
  54% { transform: translateX(5px) scale(1.04); }
  62%, 90% { transform: translateX(0) scale(1); }
}

@keyframes voucherReferenceLineOne {
  0%, 51% { stroke-dashoffset: 22; }
  57%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 22; }
}

@keyframes voucherReferenceLineTwo {
  0%, 54% { stroke-dashoffset: 22; }
  60%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 22; }
}

@keyframes voucherReferenceDot {
  0%, 51%, 100% { opacity: 0; transform: scale(.5); }
  55%, 90% { opacity: 1; transform: scale(1); }
  93% { opacity: 0; }
}

@keyframes voucherMatchRing {
  0%, 71%, 86%, 100% { transform: scale(1); }
  75% { transform: scale(1.08); }
}

@keyframes voucherMatchCheck {
  0%, 72% { stroke-dashoffset: 34; }
  78%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 34; }
}

@keyframes voucherRefundArc {
  0%, 75% { stroke-dashoffset: 42; }
  82%, 90% { stroke-dashoffset: 0; }
  93%, 100% { stroke-dashoffset: 42; }
}

@keyframes voucherRefundArrow {
  0%, 77% { stroke-dashoffset: 42; transform: translateX(0); }
  84%, 90% { stroke-dashoffset: 0; transform: translateX(-3px); }
  93%, 100% { stroke-dashoffset: 42; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-prices .voucher-track-fg,
  .page-prices .voucher-track-comet,
  .page-prices .voucher-step,
  .page-prices .voucher-step-number,
  .page-prices .voucher-step-number::before,
  .page-prices .voucher-step-number::after,
  .page-prices .voucher-step-icon *,
  .page-prices .voucher-step-icon {
    animation: none !important;
  }

  .page-prices .voucher-track-fg {
    clip-path: inset(0 0 0 0);
  }
}

.page-prices .deposit-guidance-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  overflow: hidden;
  padding: clamp(28px, 2.8vw, 42px) clamp(30px, 3.4vw, 54px);
  background: linear-gradient(135deg, #fff, #fbfcff);
  border: 1px solid rgba(223, 227, 242, .86);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(21, 31, 109, .055);
}

.page-prices .deposit-guidance-card::before {
  content: "";
  position: absolute;
  right: -74px;
  bottom: -96px;
  width: 230px;
  height: 230px;
  border-radius: 46% 54% 50% 50%;
  background: rgba(220, 237, 255, .74);
  pointer-events: none;
}

.page-prices .deposit-guidance-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, var(--raspberry), var(--lime), var(--purple), var(--satsuma)) 1;
  pointer-events: none;
}

.page-prices .deposit-guidance-intro,
.page-prices .deposit-guidance-copy {
  position: relative;
  z-index: 1;
}

.page-prices .deposit-guidance-intro {
  display: flex;
  gap: 20px;
  align-items: center;
}

.page-prices .deposit-guidance-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 74px;
  height: 74px;
  color: var(--raspberry);
  background: #ffeaf5;
  border: 1px solid rgba(210, 15, 140, .16);
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(210, 15, 140, .12);
}

.page-prices .deposit-guidance-icon svg {
  width: 38px;
  height: 38px;
}

.page-prices .deposit-guidance-kicker {
  margin: 0 0 8px;
  color: var(--raspberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.82rem, .78vw, .92rem);
  line-height: 1;
  text-transform: uppercase;
}

.page-prices .deposit-guidance-card h2 {
  margin: 0;
  color: var(--blackberry);
  font-size: clamp(1.55rem, 1.85vw, 2.25rem);
  line-height: 1.04;
  text-transform: lowercase;
}

.page-prices .deposit-guidance-copy {
  display: grid;
  gap: 12px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.96rem, .92vw, 1.05rem);
  line-height: 1.48;
}

.page-prices .deposit-guidance-copy p {
  margin: 0;
}

@media (max-width: 760px) {
  .page-prices .deposit-guidance-card {
    grid-template-columns: 1fr;
    padding: 28px 24px;
  }

  .page-prices .deposit-guidance-intro {
    align-items: flex-start;
  }

  .page-prices .deposit-guidance-icon {
    width: 60px;
    height: 60px;
  }

  .page-prices .deposit-guidance-icon svg {
    width: 32px;
    height: 32px;
  }
}

.page-prices .good-to-know-panel {
  grid-template-columns: 1fr;
  gap: 24px;
  min-height: 0;
  padding: clamp(28px, 2.6vw, 38px) clamp(30px, 3vw, 48px);
  background: linear-gradient(135deg, #f4f1ff, #fff7fd);
  border: 1px solid rgba(223, 227, 242, .75);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .04);
}

.page-prices .good-heading h2 {
  text-align: center;
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
}

.page-prices .good-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px clamp(34px, 4vw, 64px);
}

.page-prices .good-list li {
  --good-marker-size: 20px;
  --good-marker-glyph: 13px;
  --good-marker-top: .1em;
}

.page-prices .good-list li::before {
  top: var(--good-marker-top);
  width: var(--good-marker-size);
  height: var(--good-marker-size);
  background: #fff;
  border: 2px solid var(--purple);
  box-sizing: border-box;
}

/* Centers the masked tick precisely inside the circular marker. */
.page-prices .good-list li::after {
  left: calc((var(--good-marker-size) - var(--good-marker-glyph)) / 2);
  top: calc(var(--good-marker-top) + ((var(--good-marker-size) - var(--good-marker-glyph)) / 2));
  width: var(--good-marker-glyph);
  height: var(--good-marker-glyph);
  border: 0;
  background: var(--purple);
  transform: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 12.4l3.2 3.2 7.6-8' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 12.4l3.2 3.2 7.6-8' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.page-prices .prices-login-panel {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 2.6vw, 42px);
  min-height: 122px;
  padding: clamp(22px, 2vw, 30px) clamp(28px, 3vw, 48px);
  overflow: hidden;
  background: linear-gradient(105deg, #fbfff1, #fff);
  border: 1px solid rgba(223, 227, 242, .7);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(21, 31, 109, .045);
}

.page-prices .prices-login-burst {
  position: absolute;
  left: 44px;
  top: 18px;
  width: 54px;
  height: 40px;
  color: var(--satsuma);
  background:
    linear-gradient(90deg, transparent 0 46%, currentColor 47% 54%, transparent 55%) 4px 0 / 8px 28px no-repeat,
    linear-gradient(120deg, transparent 0 46%, currentColor 47% 54%, transparent 55%) 20px 0 / 8px 32px no-repeat,
    linear-gradient(150deg, transparent 0 46%, currentColor 47% 54%, transparent 55%) 36px 8px / 8px 30px no-repeat;
  transform: rotate(-20deg);
}

.page-prices .prices-login-icon {
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  color: #86b600;
  border: 4px solid currentColor;
  border-radius: 50%;
}

.page-prices .prices-login-icon svg {
  width: 54px;
  height: 54px;
}

.page-prices .prices-login-panel h2 {
  margin: 0 0 8px;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.58rem, 1.78vw, 2.2rem);
  line-height: 1.02;
  text-transform: lowercase;
}

.page-prices .prices-login-panel p {
  max-width: 720px;
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.9rem, .86vw, 1rem);
  line-height: 1.35;
}

.page-prices .prices-login-panel .btn {
  min-width: 230px;
}

@media (max-width: 1180px) {
  .page-prices .voucher-steps-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-prices .voucher-steps-card {
    min-height: 0;
    row-gap: 28px;
  }

  .page-prices .prices-included-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-prices .voucher-track-wrap,
  .page-prices .voucher-step::after {
    display: none;
  }

  .page-prices .prices-login-panel {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .page-prices .prices-login-panel .btn {
    grid-column: 2;
    width: max-content;
  }
}

@media (max-width: 760px) {
  .page-prices .prices-included-grid,
  .page-prices .voucher-steps-card,
  .page-prices .good-list,
  .page-prices .prices-login-panel {
    grid-template-columns: 1fr;
  }

  .page-prices .prices-login-panel {
    justify-items: center;
    text-align: center;
  }

  .page-prices .prices-login-panel .btn {
    grid-column: auto;
    width: 100%;
    min-width: 0;
  }

  .page-prices .prices-overview-track {
    display: flex;
    gap: 0;
    overflow-x: auto;
    padding: 6px 0 8px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .page-prices .prices-overview-track::-webkit-scrollbar {
    display: none;
  }

  .page-prices .prices-overview-card {
    flex: 0 0 100%;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .page-prices .voucher-step p {
    max-width: 340px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-prices .prices-overview-card,
  .page-prices .prices-overview-card img {
    transition: none;
  }

  .page-prices .prices-overview-card:hover,
  .page-prices .prices-overview-card:hover img {
    transform: none;
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .page-prices .prices-overview-track {
    scroll-behavior: auto;
  }
}

/* Parents page: styles for the main parent guide content. */

.page-parents .page-content > .parents-wide-graphic {
  margin-top: clamp(12px, 1.5vw, 22px);
  margin-bottom: clamp(28px, 3vw, 46px);
}

.page-parents .parents-wide-graphic img {
  width: 100%;
  height: auto;
  aspect-ratio: 1682 / 294;
  object-fit: contain;
}

@media (max-width: 760px) {
  .page-parents .page-content > .parents-wide-graphic {
    margin-top: 12px;
    margin-bottom: 28px;
  }
}
.page-parents .parents-guide {
  display: grid;
  gap: clamp(22px, 2.35vw, 34px);
}

.page-parents .parents-guide-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.2vw, 34px);
  text-align: center;
}

.page-parents .parents-guide-heading div,
.page-parents .parents-guide-heading-tight {
  min-width: 0;
}

.page-parents .parents-guide-heading h2,
.page-parents .parents-booking-heading h2,
.page-parents .parents-section-heading h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.58rem, 1.9vw, 2.35rem);
  line-height: 1.02;
  text-transform: lowercase;
}

.page-parents .parents-guide-heading h2::before,
.page-parents .parents-guide-heading h2::after,
.page-parents .parents-section-heading h2::before,
.page-parents .parents-section-heading h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.page-parents .parents-guide-heading h2::before,
.page-parents .parents-section-heading h2::before {
  right: calc(100% + 18px);
  background-image: url("../images/header-text-bars-left-pink.png");
}

.page-parents .parents-guide-heading h2::after,
.page-parents .parents-section-heading h2::after {
  left: calc(100% + 18px);
  background-image: url("../images/header-text-bars-right-pink.png");
}


.page-parents .parents-section-heading h2 {
  margin-bottom: clamp(14px, 1.25vw, 20px);
}
.page-parents .parents-guide-heading p {
  margin: 5px 0 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, 1vw, 1.1rem);
  line-height: 1.3;
}

.page-parents .parents-heading-spark,
.page-parents .parents-mini-spark {
  position: relative;
  flex: 0 0 auto;
  width: 46px;
  height: 42px;
}

.page-parents .parents-heading-spark::before,
.page-parents .parents-heading-spark::after,
.page-parents .parents-mini-spark::before,
.page-parents .parents-mini-spark::after {
  content: "";
  position: absolute;
  inset: 0;
  color: currentColor;
  background:
    linear-gradient(82deg, transparent 0 44%, currentColor 45% 51%, transparent 52%) 4px 0 / 10px 38px no-repeat,
    linear-gradient(128deg, transparent 0 44%, currentColor 45% 51%, transparent 52%) 20px 7px / 10px 30px no-repeat,
    linear-gradient(166deg, transparent 0 44%, currentColor 45% 51%, transparent 52%) 35px 13px / 10px 24px no-repeat;
}

.page-parents .parents-heading-spark-pink,
.page-parents .parents-mini-spark-pink {
  color: var(--raspberry);
}

.page-parents .parents-heading-spark-lime {
  color: var(--raspberry);
  transform: scaleX(-1);
}

.page-parents .parents-guide-grid,
.page-parents .parents-booking-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 1.7vw, 24px);
}

.page-parents .parents-guide-card,
.page-parents .parents-reminder-card,
.page-parents .parents-support-card,
.page-parents .parents-reminders {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fff, #fbfbff);
  border: 1px solid #e8ebf7;
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(21, 31, 109, .075);
}

.page-parents .parents-guide-card {
  --accent: var(--raspberry);
  --accent-soft: #fff1f8;
  --icon-soft: #ffd9ec;
  display: flex;
  flex-direction: column;
  min-height: 430px;
  padding: clamp(24px, 2.25vw, 34px);
}

.page-parents .parents-guide-card-lime {
  --accent: #82ad00;
  --accent-soft: #f2f9df;
  --icon-soft: #edf8c9;
}

.page-parents .parents-guide-card-blue {
  --accent: #3488f4;
  --accent-soft: #eaf4ff;
  --icon-soft: #dff1ff;
}

.page-parents .parents-guide-card-orange {
  --accent: var(--satsuma);
  --accent-soft: #fff1e7;
  --icon-soft: #ffe4bd;
}

.page-parents .parents-guide-card-purple {
  --accent: var(--purple);
  --accent-soft: #f0e8ff;
  --icon-soft: #eadcff;
}

.page-parents .parents-guide-icon,
.page-parents .parents-reminder-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--icon-soft, var(--accent-soft));
  color: var(--accent);
  box-shadow: 0 12px 24px rgba(21, 31, 109, .08), inset 0 0 0 1px rgba(255, 255, 255, .78);
}

.page-parents .parents-guide-icon {
  width: 74px;
  height: 74px;
  margin-bottom: 18px;
}

.page-parents .parents-guide-icon svg {
  width: 42px;
  height: 42px;
}

.page-parents .parents-reminder-icon {
  width: 54px;
  height: 54px;
  margin-bottom: 12px;
}

.page-parents .parents-reminder-icon svg {
  width: 31px;
  height: 31px;
}

.page-parents .parents-guide-card h3,
.page-parents .parents-support-card h3 {
  margin: 0 0 12px;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.36rem, 1.48vw, 1.82rem);
  line-height: 1.04;
  text-transform: lowercase;
}

.page-parents .parents-guide-card p,
.page-parents .parents-reminder-card p,
.page-parents .parents-support-card p {
  margin: 0 0 16px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, .96vw, 1.08rem);
  line-height: 1.36;
}

.page-parents .parents-guide-list,
.page-parents .parents-policy-links,
.page-parents .parents-tick-list {
  display: grid;
  gap: 9px;
  margin: 2px 0 20px;
  padding: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1.04rem;
  line-height: 1.28;
  list-style: none;
}

.page-parents .parents-guide-list li,
.page-parents .parents-tick-list li {
  position: relative;
  padding-left: 28px;
}

.page-parents .parents-guide-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--accent);
}

.page-parents .parents-guide-list li::after {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  width: 18px;
  height: 18px;
  border: 0;
  background: center / 12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.35l2.45 2.45L13.2 6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: none;
}

.page-parents .parents-tick-list {
  gap: 8px;
  margin-bottom: 0;
  font-size: .94rem;
}

.page-parents .parents-tick-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .44em;
  width: 12px;
  height: 7px;
  border-left: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(-45deg);
}

.page-parents .parents-guide .parents-pill,
.page-parents .parents-booking-section .parents-pill {
  align-self: center;
  width: min(100%, 305px);
  min-height: 44px;
  margin-top: auto;
  padding-inline: 18px;
  border-radius: 8px;
  font-size: .94rem;
  line-height: 1.08;
  text-transform: lowercase;
  text-align: center;
}

.page-parents .parents-alert {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  margin-top: auto;
  border: 2px solid currentColor;
  border-radius: 8px;
  color: var(--accent);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1.02rem;
  text-transform: lowercase;
  background: #fffaf7;
}

.page-parents .parents-alert svg {
  width: 28px;
  height: 28px;
}

.page-parents .parents-info-note {
  margin-top: auto;
  padding: 11px 14px;
  border-radius: 10px;
  background: var(--accent-soft);
  color: var(--blueberry);
  font-size: .88rem;
  line-height: 1.22;
}

.page-parents .parents-swim-card {
  overflow: hidden;
}

.page-parents .parents-water-drops {
  position: absolute;
  right: 22px;
  top: 88px;
  display: grid;
  gap: 18px;
  color: #3488f4;
  pointer-events: none;
}

.page-parents .parents-water-drops i {
  display: block;
  width: 18px;
  height: 26px;
  border: 3px solid currentColor;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  background: #fff;
}

.page-parents .parents-water-drops i:nth-child(2) {
  margin-left: 22px;
}

.page-parents .parents-reminders {
  z-index: 2;
  padding: clamp(24px, 2.4vw, 34px);
  border-color: #dfe5ff;
  background: linear-gradient(135deg, #fff, #f7f8ff);
}

.page-parents .parents-guide-heading-tight {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
}

.page-parents .parents-reminder-grid,
.page-parents .parents-support-grid {
  display: grid;
  gap: clamp(16px, 1.45vw, 22px);
}

.page-parents .parents-reminder-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-parents .parents-support-wrap {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.page-parents .parents-support-wrap::before {
  content: "";
  position: absolute;
  left: clamp(-390px, -19vw, -300px);
  top: 16%;
  z-index: 0;
  width: clamp(500px, 26vw, 600px);
  height: clamp(500px, 26vw, 600px);
  background: url("../images/organic-shape-1-green.svg") 0 0 / 170% 170% no-repeat;
  transform: translateY(-50%) rotate(-5deg);
  pointer-events: none;
}

.page-parents .parents-support-wrap::after {
  content: "";
  position: absolute;
  left: clamp(-150px, -5vw, -100px);
  top: 9%;
  z-index: 0;
  width: clamp(375px, 19.8vw, 445px);
  height: clamp(255px, 13.6vw, 308px);
  background: url("../shapes/zigzag-scribble-reverted.svg") center / contain no-repeat;
  transform: translateY(-50%) rotate(-8deg);
  pointer-events: none;
}

.page-parents .parents-support-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-parents .parents-support-card-wide {
  grid-column: 1 / -1;
}

@media (min-width: 1181px) and (max-width: 1500px) {
  .page-parents .parents-support-wrap::before {
    left: -280px;
  }

  .page-parents .parents-support-wrap::after {
    left: -95px;
    top: 9%;
    width: 405px;
    height: 278px;
  }
}

.page-parents .parents-reminder-card,
.page-parents .parents-support-card {
  --accent: var(--raspberry);
  --accent-soft: #fff1f8;
  padding: clamp(20px, 1.65vw, 26px);
  box-shadow: 0 12px 28px rgba(21, 31, 109, .065);
}

.page-parents .parents-support-card {
  padding: clamp(24px, 2vw, 32px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(250, 251, 255, .96)),
    radial-gradient(circle at 100% 100%, var(--accent-soft) 0 34%, transparent 35%);
  border-color: rgba(232, 235, 247, .95);
  box-shadow: 0 18px 42px rgba(21, 31, 109, .08);
}

.page-parents .parents-reminder-card.parents-guide-card-lime,
.page-parents .parents-support-card.parents-guide-card-lime {
  --accent: #82ad00;
  --accent-soft: #f2f9df;
}

.page-parents .parents-reminder-card.parents-guide-card-blue,
.page-parents .parents-support-card.parents-guide-card-blue {
  --accent: #3488f4;
  --accent-soft: #eaf4ff;
}

.page-parents .parents-reminder-card.parents-guide-card-orange,
.page-parents .parents-support-card.parents-guide-card-orange {
  --accent: var(--satsuma);
  --accent-soft: #fff1e7;
}

.page-parents .parents-reminder-card.parents-guide-card-purple,
.page-parents .parents-support-card.parents-guide-card-purple {
  --accent: var(--purple);
  --accent-soft: #f0e8ff;
}

.page-parents .parents-reminder-card.parents-guide-card-pink,
.page-parents .parents-support-card.parents-guide-card-pink {
  --accent: var(--raspberry);
  --accent-soft: #fff1f8;
}

.page-parents .parents-reminders .parents-reminder-card {
  padding: clamp(34px, 2.7vw, 44px);
}

.page-parents .parents-reminders .parents-reminder-card:not(.parents-reminder-card-wide) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  column-gap: clamp(22px, 1.8vw, 30px);
  row-gap: clamp(22px, 1.9vw, 30px);
  align-content: start;
}

.page-parents .parents-reminder-card .parents-reminder-icon {
  width: clamp(68px, 4.8vw, 76px);
  height: clamp(68px, 4.8vw, 76px);
  margin: 0;
}

.page-parents .parents-reminder-card .parents-reminder-icon svg {
  width: clamp(38px, 2.8vw, 44px);
  height: clamp(38px, 2.8vw, 44px);
}

.page-parents .parents-reminder-card h3 {
  margin: 0;
  min-height: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.36rem, 1.48vw, 1.82rem);
  line-height: 1.04;
  text-transform: lowercase;
}

.page-parents .parents-reminders .parents-reminder-card:not(.parents-reminder-card-wide) h3 {
  align-self: center;
}

.page-parents .parents-reminder-card p {
  margin: 0;
  font-size: clamp(.98rem, .96vw, 1.08rem);
  line-height: 1.36;
}

.page-parents .parents-reminders .parents-reminder-card:not(.parents-reminder-card-wide) p {
  grid-column: 1 / -1;
  align-self: start;
}

.page-parents .parents-reminders .parents-reminder-card:not(.parents-reminder-card-wide) .parents-reminder-pill {
  grid-column: 1 / -1;
  justify-self: center;
  align-self: end;
}

.page-parents .parents-reminder-card-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(260px, .85fr) minmax(430px, 1.4fr);
  gap: clamp(24px, 3vw, 54px);
  align-items: center;
  min-height: 192px;
}

.page-parents .parents-reminder-card-wide .parents-reminder-icon {
  width: clamp(82px, 5.7vw, 96px);
  height: clamp(82px, 5.7vw, 96px);
}

.page-parents .parents-reminder-card-wide .parents-reminder-icon svg {
  width: clamp(46px, 3.3vw, 56px);
  height: clamp(46px, 3.3vw, 56px);
}

.page-parents .parents-reminder-wide-copy {
  display: grid;
  gap: 12px;
}

.page-parents .parents-reminder-card-wide .parents-tick-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 16px clamp(34px, 3.8vw, 66px);
  margin: 0;
  padding: 0 0 0 clamp(34px, 3vw, 50px);
  border-left: 1px solid rgba(210, 15, 140, .28);
  font-size: clamp(.98rem, .96vw, 1.08rem);
  line-height: 1.28;
}

.page-parents .parents-reminder-card-wide .parents-tick-list li {
  --parents-tick-size: 20px;
  --parents-tick-glyph: 14px;
  --parents-tick-top: .08em;
  min-height: var(--parents-tick-size);
  padding-left: 34px;
}

.page-parents .parents-reminder-card-wide .parents-tick-list li::before {
  left: 0;
  top: var(--parents-tick-top);
  width: var(--parents-tick-size);
  height: var(--parents-tick-size);
  border: 0;
  border-radius: 50%;
  background: var(--accent);
  transform: none;
}

/* Matches the site's filled checklist style and aligns markers to the first text line. */
.page-parents .parents-reminder-card-wide .parents-tick-list li::after {
  content: "";
  position: absolute;
  left: 0;
  top: var(--parents-tick-top);
  width: var(--parents-tick-size);
  height: var(--parents-tick-size);
  border: 0;
  background: #fff;
  transform: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 12.25l3.1 3.1 7.1-7.2' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--parents-tick-glyph) var(--parents-tick-glyph) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 12.25l3.1 3.1 7.1-7.2' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--parents-tick-glyph) var(--parents-tick-glyph) no-repeat;
}

.page-parents .parents-support-card {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1vw, 18px);
  min-height: clamp(280px, 17vw, 330px);
}

.page-parents .parents-support-card::before {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 0;
  left: 20px;
  z-index: 1;
  height: 5px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
}

.page-parents .parents-support-card > :not(.decor-blob) {
  position: relative;
  z-index: 2;
}

.page-parents .parents-support-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(14px, 1.1vw, 18px);
}

.page-parents .parents-support-card .parents-reminder-icon {
  width: clamp(58px, 4vw, 68px);
  height: clamp(58px, 4vw, 68px);
  margin-bottom: 0;
  box-shadow: 0 14px 30px rgba(21, 31, 109, .09), inset 0 0 0 1px rgba(255, 255, 255, .8);
}

.page-parents .parents-support-card .parents-reminder-icon svg {
  width: clamp(32px, 2.3vw, 38px);
  height: clamp(32px, 2.3vw, 38px);
}

.page-parents .parents-support-card-head h3 {
  margin: 0;
}

.page-parents .parents-support-card-copy {
  display: grid;
  gap: clamp(10px, .85vw, 14px);
  max-width: 96%;
}

.page-parents .parents-support-card-copy p,
.page-parents .parents-support-card-copy .parents-guide-list {
  margin: 0;
}

.page-parents .parents-support-card-copy .parents-guide-list {
  gap: 10px;
}

.page-parents .parents-support-card-wide {
  min-height: 0;
  padding: clamp(28px, 2.3vw, 38px);
}

.page-parents .parents-support-card-wide .parents-support-card-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 3.2vw, 56px);
  row-gap: clamp(10px, 1vw, 16px);
  max-width: min(100%, 1420px);
}

.page-parents .parents-support-card-wide .parents-support-card-copy p:first-child,
.page-parents .parents-support-card-wide .parents-support-card-copy p:last-child {
  grid-column: 1 / -1;
}

.page-parents .parents-support-card-wide .parents-support-card-copy p:first-child {
  font-size: clamp(1rem, 1vw, 1.12rem);
}

.page-parents .parents-support-card-wide .parents-support-card-copy p:last-child {
  width: max-content;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(108, 34, 232, .075);
}

.page-parents .parents-support-card .parents-pill {
  align-self: center;
  width: min(100%, 305px);
  min-height: 44px;
  margin-top: auto;
  padding-inline: 18px;
  border-radius: 8px;
  font-size: .94rem;
  line-height: 1.08;
  text-transform: lowercase;
  text-align: center;
}

.page-parents .parents-support-card h3 span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-left: 6px;
  padding: 0 10px;
  border: 2px solid var(--satsuma);
  border-radius: 999px;
  color: var(--satsuma);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1;
  vertical-align: middle;
}

.page-parents .parents-panel-lines {
  position: absolute;
  width: 68px;
  height: 64px;
  pointer-events: none;
}

.page-parents .parents-panel-lines::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(74deg, transparent 0 45%, currentColor 46% 53%, transparent 54%) 4px 2px / 12px 50px no-repeat,
    linear-gradient(96deg, transparent 0 45%, currentColor 46% 53%, transparent 54%) 28px 0 / 12px 45px no-repeat,
    linear-gradient(124deg, transparent 0 45%, currentColor 46% 53%, transparent 54%) 50px 8px / 12px 38px no-repeat;
}

.page-parents .parents-panel-lines-pink {
  left: 28px;
  top: 18px;
  color: var(--raspberry);
}

.page-parents .parents-panel-lines-lime {
  right: 28px;
  top: 18px;
  color: var(--raspberry);
  transform: scaleX(-1);
}

.page-parents .parents-booking-section {
  display: grid;
  gap: 18px;
}

.page-parents .parents-booking-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.page-parents .parents-mini-spark {
  width: 32px;
  height: 30px;
}

.page-parents .parents-booking-grid .parents-guide-card {
  min-height: 312px;
}

.page-parents .parents-policy-links {
  gap: 4px;
  margin-top: 8px;
  padding-top: 4px;
  border-top: 1px solid #edf0fb;
  font-size: .92rem;
  line-height: 1.22;
}

.page-parents .parents-policy-links li {
  position: relative;
  padding-left: 18px;
}

.page-parents .parents-policy-links li::before {
  content: ">";
  position: absolute;
  left: 0;
  color: var(--accent);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
}

.page-parents .parents-offer-card {
  min-height: 312px;
}

.page-parents .parents-outline-star {
  position: absolute;
  right: 34px;
  bottom: 96px;
  width: 112px;
  height: 112px;
  object-fit: contain;
  transform: rotate(-12deg);
  opacity: .95;
}

@media (max-width: 1180px) {
  .page-parents .parents-guide-grid,
  .page-parents .parents-booking-grid,
  .page-parents .parents-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-parents .parents-reminder-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-parents .parents-support-wrap::before,
  .page-parents .parents-support-wrap::after {
    display: none;
  }
}

@media (max-width: 760px) {
  .page-parents .parents-guide {
    gap: 22px;
  }

  .page-parents .parents-guide-heading {
    gap: 12px;
  }

  .page-parents .parents-heading-spark,
  .page-parents .parents-mini-spark,
  .page-parents .parents-panel-lines {
    display: none;
  }

  .page-parents .parents-guide-heading h2::before,
  .page-parents .parents-guide-heading h2::after,
  .page-parents .parents-section-heading h2::before,
  .page-parents .parents-section-heading h2::after {
    display: none;
  }

  .page-parents .parents-guide-grid,
  .page-parents .parents-booking-grid,
  .page-parents .parents-support-grid,
  .page-parents .parents-reminder-grid {
    grid-template-columns: 1fr;
  }

  .page-parents .parents-guide-card,
  .page-parents .parents-booking-grid .parents-guide-card,
  .page-parents .parents-offer-card {
    min-height: 0;
  }

  .page-parents .parents-guide-card {
    padding: 22px;
  }

  .page-parents .parents-guide-icon {
    width: 66px;
    height: 66px;
  }

  .page-parents .parents-guide-icon svg {
    width: 38px;
    height: 38px;
  }

  .page-parents .parents-guide-list {
    font-size: .98rem;
  }

  .page-parents .parents-guide .parents-pill,
  .page-parents .parents-booking-section .parents-pill {
    width: 100%;
  }

  .page-parents .parents-reminders {
    padding: 22px;
  }

  .page-parents .parents-reminders .parents-reminder-card {
    padding: 24px;
  }

  .page-parents .parents-reminder-card h3 {
    margin: 0;
  }

  .page-parents .parents-reminder-card-wide {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .page-parents .parents-reminder-card-wide .parents-tick-list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    padding-left: 0;
    border-left: 0;
  }

  .page-parents .parents-water-drops,
  .page-parents .parents-outline-star {
    opacity: .18;
  }

  .page-parents .parents-support-card h3 span {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin: 8px 0 0;
  }

  .page-parents .parents-support-card {
    min-height: 0;
  }

  .page-parents .parents-support-card-head {
    align-items: flex-start;
  }

  .page-parents .parents-support-card-copy,
  .page-parents .parents-support-card-wide .parents-support-card-copy {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .page-parents .parents-support-card-wide .parents-support-card-copy p:first-child,
  .page-parents .parents-support-card-wide .parents-support-card-copy p:last-child {
    grid-column: auto;
  }
}

/* Policies and safeguarding support cards */
.policy-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 2.2vw, 28px);
}

.policy-support-card {
  min-height: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(24px, 2.4vw, 34px);
  background: #fff;
  border: 1px solid #e8ebf5;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(21, 31, 109, .09);
  overflow: hidden;
}

.policy-support-card-pink {
  background: #fff;
}

.policy-support-card-blue {
  background: #fff;
}

.policy-support-card-green {
  background: #fff;
}

.policy-support-card-orange {
  background: #fff;
}

.policy-support-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 12px 24px rgba(21, 31, 109, .12);
}

.policy-support-icon svg {
  width: 36px;
  height: 36px;
}

.policy-support-card-pink .policy-support-icon {
  background: var(--raspberry);
}

.policy-support-card-blue .policy-support-icon {
  background: var(--blueberry);
}

.policy-support-card-green .policy-support-icon {
  background: var(--lime);
}

.policy-support-card-orange .policy-support-icon {
  background: var(--satsuma);
}

.policy-support-copy h2 {
  margin: 0 0 14px;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.46rem, 1.56vw, 1.9rem);
  line-height: 1.03;
  text-transform: lowercase;
}

.policy-support-copy p {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, .95vw, 1.08rem);
  line-height: 1.5;
}

.policy-contact-lines {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.policy-contact-lines p {
  display: flex;
  align-items: center;
  gap: 10px;
}

.policy-contact-lines svg {
  width: 21px;
  height: 21px;
  color: var(--raspberry);
  flex: 0 0 auto;
}

.policy-alert {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 2px solid rgba(210, 15, 140, .55);
}

.policy-alert svg {
  width: 42px;
  height: 42px;
  color: var(--raspberry);
}

.policy-support-btn {
  width: max-content;
  min-width: 168px;
  min-height: 50px;
  margin-top: 30px;
  padding-inline: 26px;
}

.policy-ofsted-logo {
  width: 126px;
  height: auto;
  margin-top: 24px;
}

@media (max-width: 1180px) {
  .policy-support-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    padding: 24px 20px;
  }

  .policy-support-icon {
    width: 58px;
    height: 58px;
  }

  .policy-support-icon svg {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 760px) {
  .policy-support-grid {
    grid-template-columns: 1fr;
  }

  .policy-support-card {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px;
  }

  .policy-support-btn {
    width: 100%;
  }
}

/* Embedded animation frames */
.animation-frame {
  max-width: 1700px;
  margin: 0 auto;
  position: relative;
}

.animation-frame iframe {
  width: 100%;
  min-height: clamp(760px, 64vw, 980px);
  display: block;
  border: 0;
  border-radius: 20px;
  background: #fafafa;
}

.page-safeguarding-policy .safeguarding-flow-embed {
  margin-top: 4px;
}

.page-safeguarding-policy .safeguarding-flow-embed iframe {
  box-shadow: 0 12px 32px rgba(21, 31, 109, .08);
}

@media (max-width: 900px) {
  .animation-frame iframe {
    min-height: 880px;
  }
}

@media (max-width: 560px) {
  .animation-frame iframe {
    min-height: 960px;
    border-radius: 16px;
  }
}

@media (max-width: 1180px) {
  .mobile-nav-group {
    display: grid;
    gap: 8px;
  }

  .mobile-submenu-toggle {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 20px;
    border: 0;
    border-radius: 10px;
    background: #f7f6ff;
    color: var(--blackberry);
    font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.15;
    text-align: left;
    cursor: pointer;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
    appearance: none;
    -webkit-appearance: none;
  }

  .mobile-submenu-toggle::-webkit-details-marker,
  .mobile-submenu-toggle::marker {
    display: none;
    content: "";
  }

  .mobile-submenu-toggle::after {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: rotate(45deg);
    transform-origin: 58% 58%;
    transition: transform .18s ease;
    flex: 0 0 auto;
  }

  .mobile-nav-group[open] .mobile-submenu-toggle::after,
  .mobile-nav-group.is-open .mobile-submenu-toggle::after {
    transform: rotate(225deg);
  }

  .mobile-submenu-panel {
    display: grid;
    gap: 6px;
    padding: 0 0 2px 12px;
  }

  .mobile-panel .mobile-submenu-panel a {
    padding: 12px 18px;
    border: 1px solid rgba(21, 31, 109, .08);
    border-radius: 10px;
    background: #fff;
    color: var(--blackberry);
    font-family: GilroyBold, Arial, sans-serif;
    font-size: .95rem;
    line-height: 1.2;
    box-shadow: 0 8px 18px rgba(21, 31, 109, .04);
  }
}

@media (max-width: 760px) {
  .footer-book {
    min-height: 0;
  }
}

/* Billericay venue page refresh styles */
.billericay-latest-top-grid,
.billericay-latest-why-row,
.billericay-latest-about-offers,
.billericay-latest-parent-row,
.billericay-latest-good-row,
.billericay-latest-location-row {
  display: grid;
  gap: clamp(14px, 1.25vw, 20px);
}

.billericay-latest-top-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.billericay-latest-card {
  padding: clamp(18px, 1.7vw, 28px);
}

.billericay-latest-card h2,
.billericay-latest-panel h2 {
  margin: 0 0 14px;
  font-size: clamp(1.36rem, 1.55vw, 1.92rem);
  line-height: .98;
}

.billericay-latest-card h3 {
  margin: 0;
  font-size: clamp(1.02rem, 1vw, 1.2rem);
  line-height: 1.05;
}

.billericay-latest-card p,
.billericay-latest-panel p {
  font-size: clamp(.82rem, .76vw, .93rem);
  line-height: 1.43;
}

.billericay-latest-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.billericay-latest-heading h2 {
  min-height: 48px;
  display: grid;
  align-content: center;
  margin: 0;
  padding-top: 2px;
}

.billericay-latest-icon,
.billericay-latest-pin-icon,
.billericay-latest-feature-icon,
.billericay-latest-activity-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--blueberry);
  background: #e2f2ff;
  flex: 0 0 auto;
}

.billericay-latest-icon svg,
.billericay-latest-pin-icon svg,
.billericay-latest-feature-icon svg,
.billericay-latest-activity-icon svg {
  width: 26px;
  height: 26px;
}

.page-venue .quick-facts .quick-fact-icon,
.billericay-venue-content .billericay-latest-icon,
.billericay-venue-content .billericay-latest-pin-icon,
.billericay-venue-content .billericay-latest-feature-icon,
.billericay-venue-content .billericay-latest-activity-icon,
.billericay-venue-content .billericay-latest-care-icon,
.billericay-venue-content .billericay-latest-mini-icon,
.billericay-venue-content .billericay-latest-offer-grid span {
  display: grid;
  place-items: center;
  place-content: center;
  line-height: 0;
}

.page-venue .quick-facts .quick-fact-icon svg,
.billericay-venue-content .billericay-latest-icon svg,
.billericay-venue-content .billericay-latest-pin-icon svg,
.billericay-venue-content .billericay-latest-feature-icon svg,
.billericay-venue-content .billericay-latest-activity-icon svg,
.billericay-venue-content .billericay-latest-care-icon svg,
.billericay-venue-content .billericay-latest-mini-icon svg,
.billericay-venue-content .billericay-latest-offer-grid span svg,
.billericay-venue-content .billericay-latest-perfect-icons svg {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  overflow: visible;
}

.page-venue .quick-facts .fact-item strong {
  font-family: EquitySansAltBold, EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-weight: 700;
}

.billericay-latest-icon-pink {
  color: var(--raspberry);
  background: #ffe5f3;
}

.billericay-latest-icon-purple,
.billericay-latest-feature-purple,
.billericay-latest-activity-purple {
  color: #6b35f4;
  background: #efe8ff;
}

.billericay-latest-icon-green,
.billericay-latest-feature-green {
  color: #36a31d;
  background: #e9f8d5;
}

.billericay-latest-icon-orange,
.billericay-latest-activity-orange {
  color: var(--satsuma);
  background: #fff0d7;
}

.billericay-latest-activity-pink {
  color: var(--raspberry);
  background: #ffe5f3;
}

.billericay-latest-activity-blue {
  color: var(--blueberry);
  background: #e1f3ff;
}

.billericay-latest-activity-home {
  color: var(--raspberry);
  background: #ffe5f3;
}

.billericay-latest-btn {
  min-height: 48px;
  gap: 10px;
  text-transform: none;
  font-size: clamp(.8rem, .74vw, .9rem);
}

.billericay-latest-btn svg {
  width: 18px;
  height: 18px;
}

.billericay-latest-price,
.billericay-latest-wrap,
.billericay-latest-pay {
  min-height: 330px;
  display: flex;
  flex-direction: column;
}

.billericay-latest-pay {
  background: linear-gradient(145deg, #fff 0%, #fcfffb 58%, #f7fbff 100%);
}

.billericay-latest-price {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fff 0%, #fbfcff 100%);
}

.billericay-latest-price::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--raspberry), #6b35f4);
  opacity: .78;
}

.billericay-latest-price > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

.billericay-latest-price-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 8px 0 16px;
}

.billericay-latest-price-tile {
  position: relative;
  overflow: hidden;
  min-height: 128px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  padding: 14px 10px;
  border: 1px solid rgba(12, 31, 124, .1);
  border-radius: 10px;
  text-align: center;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 12px 24px rgba(12, 31, 124, .07);
}

.billericay-latest-price-standard {
  background: linear-gradient(145deg, #fff 0%, #eff8ff 100%);
  border-color: rgba(40, 58, 151, .18);
}

.billericay-latest-price-early {
  background: linear-gradient(145deg, #fff 0%, #fff2fa 100%);
  border-color: rgba(210, 15, 140, .2);
}

.billericay-latest-price-tile span,
.billericay-latest-price-tile em {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-style: normal;
  line-height: 1.05;
}

.billericay-latest-price-tile span {
  font-size: clamp(.76rem, .72vw, .88rem);
}

.billericay-latest-price-standard span {
  margin-bottom: 5px;
}

.billericay-latest-price-value {
  display: grid;
  justify-items: center;
  gap: 4px;
}

@media (min-width: 1595px) {
  .billericay-latest-price-standard {
    align-content: start;
  }

  .billericay-latest-price-standard .billericay-latest-price-value {
    position: absolute;
    left: 50%;
    top: calc(50% + 14px);
    width: 100%;
    transform: translate(-50%, -50%);
  }
}

.billericay-latest-price-tile strong {
  color: #D20f8C;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(2rem, 2.4vw, 3rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: 0;
}

.billericay-latest-price-standard strong {
  color: var(--blueberry);
}

.billericay-latest-price-tile small {
  font-size: .58em;
}

.billericay-latest-price-tile em {
  font-size: clamp(.68rem, .64vw, .78rem);
  opacity: .88;
}

.billericay-latest-price-points {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 9px;
}

.billericay-latest-price-points li {
  position: relative;
  padding-left: 24px;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.84rem, .78vw, .96rem);
  line-height: 1.34;
}

.billericay-latest-price-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .26em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #eef9dd;
  box-shadow: inset 0 0 0 1px rgba(54, 163, 29, .14);
}

.billericay-latest-price-points li::after {
  content: "";
  position: absolute;
  left: 0;
  top: .26em;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.1 6.7 10.8 12 5.3' fill='none' stroke='%2336a31d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px 11px no-repeat;
}

.billericay-latest-callout {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: auto 0 0;
  padding: 13px 14px;
  border-radius: 8px;
}

.billericay-latest-callout p {
  margin: 0;
}

.billericay-latest-callout-green {
  background: linear-gradient(135deg, #effbdc 0%, #f9ffe7 100%);
}

.billericay-latest-mini-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #40a51e;
  background: #fff;
}

.billericay-latest-mini-icon svg {
  width: 24px;
  height: 24px;
}

.billericay-latest-care-stack {
  display: grid;
  gap: 14px;
  margin: 20px 0 16px;
}

.billericay-latest-care-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(21, 31, 109, .12);
}

.billericay-latest-care-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.billericay-latest-care-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--blueberry);
  background: #e6f4ff;
}

.billericay-latest-care-icon svg {
  width: 28px;
  height: 28px;
}

.billericay-latest-sun {
  color: #0d6fff;
  background: #e2f2ff;
}

.billericay-latest-moon {
  color: #2513c9;
  background: #eeecff;
}

.billericay-latest-care-row strong,
.billericay-latest-care-row span,
.billericay-latest-care-row small {
  display: block;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  line-height: 1.22;
}

.billericay-latest-care-row b {
  color: #D20f8C;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.4rem, 1.45vw, 2rem);
}

.billericay-latest-note {
  margin-top: auto;
  margin-bottom: 0;
}

.billericay-latest-pay .billericay-check-list {
  gap: 9px;
  margin-bottom: 20px;
}

.billericay-latest-checks {
  gap: 10px;
  font-size: clamp(.8rem, .74vw, .9rem);
}

.billericay-latest-pay-note {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  margin: auto 0 18px;
  padding: 14px;
  border-radius: 8px;
  background: #f2f4ff;
}

.billericay-latest-pay-note > span,
.billericay-latest-info-line > span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  place-content: center;
  border-radius: 50%;
  color: #fff;
  background: var(--blueberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .8rem;
  line-height: 1;
  padding-top: 2px;
  text-align: center;
}

.billericay-latest-pay-note p {
  margin: 0;
}

.billericay-latest-pay-logos {
  margin-top: auto;
  padding: 10px;
  border: 1px solid rgba(40, 58, 151, .1);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 24px rgba(21,31,109,.06);
}

.billericay-latest-pay-methods {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.billericay-latest-pay-brand {
  min-height: 58px;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: 2px;
  border: 1px solid rgba(40, 58, 151, .09);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(21,31,109,.06);
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  line-height: 1;
  text-align: center;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.billericay-latest-pay-brand:hover {
  transform: translateY(-2px);
  border-color: rgba(210, 15, 140, .24);
  box-shadow: 0 12px 22px rgba(21,31,109,.1);
}

.billericay-latest-pay-brand i,
.billericay-latest-pay-brand b {
  display: inline-grid;
  place-items: center;
  font-style: normal;
  font-size: clamp(.66rem, .58vw, .78rem);
}

.billericay-latest-pay-visa i {
  color: #173995;
  font-size: clamp(.88rem, .8vw, 1.05rem);
  font-style: italic;
  letter-spacing: .04em;
  transform: skewX(-8deg);
}

.billericay-latest-pay-mastercard i {
  width: 42px;
  height: 28px;
  position: relative;
}

.billericay-latest-pay-mastercard i::before,
.billericay-latest-pay-mastercard i::after {
  content: "";
  position: absolute;
  top: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.billericay-latest-pay-mastercard i::before {
  left: 3px;
  background: #eb001b;
}

.billericay-latest-pay-mastercard i::after {
  right: 3px;
  background: rgba(247, 158, 27, .92);
  mix-blend-mode: multiply;
}

.billericay-latest-pay-apple {
  grid-template-columns: auto auto;
  justify-content: center;
  column-gap: 5px;
}

.billericay-latest-pay-apple i {
  width: 19px;
  height: 19px;
  color: #111827;
}

.billericay-latest-pay-apple svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.billericay-latest-pay-apple b,
.billericay-latest-pay-gpay b {
  font-size: clamp(.78rem, .68vw, .9rem);
}

.billericay-latest-pay-gpay {
  grid-template-columns: auto auto;
  justify-content: center;
  column-gap: 5px;
}

.billericay-latest-pay-gpay i {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: conic-gradient(from 15deg, #4285f4 0 25%, #34a853 0 47%, #fbbc05 0 72%, #ea4335 0 100%);
  color: #fff;
  font-size: .9rem;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.9);
}

.billericay-latest-pay-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(40, 58, 151, .1);
}

.billericay-latest-pay-support-logo,
.billericay-latest-voucher {
  min-height: 48px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #fff;
  border: 1px solid rgba(40, 58, 151, .08);
}

.billericay-latest-pay-support-logo img {
  width: 100%;
  max-width: 92px;
  max-height: 36px;
  object-fit: contain;
}

.billericay-latest-voucher {
  grid-template-columns: 22px auto;
  gap: 5px;
  padding: 6px 8px;
  background: #fff;
  color: #151F6D;
  border-color: rgba(40, 58, 151, .08);
  box-shadow: none;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(.62rem, .55vw, .74rem);
  line-height: .92;
  text-align: left;
}

.billericay-latest-voucher svg {
  width: 21px;
  height: 21px;
}

@media (max-width: 1024px) {
  .billericay-latest-voucher {
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
  }
}

.billericay-latest-panel {
  overflow: hidden;
  padding: clamp(18px, 1.7vw, 26px);
  background: #fff;
  border: 1px solid #eef0fa;
  border-radius: 12px;
  box-shadow: 0 13px 30px rgba(21, 31, 109, .09);
  color: var(--blackberry);
}

.billericay-latest-holiday {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 2.7vw, 42px);
  align-items: center;
  background: #f9f9f9;
}

.billericay-latest-holiday::before,
.billericay-latest-holiday::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: clamp(230px, 18vw, 330px);
  height: clamp(230px, 18vw, 330px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .22;
  pointer-events: none;
}

.billericay-latest-holiday::before {
  left: 49%;
  bottom: -102px;
  background-image: url("../images/halftone-sphere-green.svg");
}

.billericay-latest-holiday::after {
  right: -72px;
  top: -72px;
  background-image: url("../images/halftone-sphere-orange.svg");
}

.billericay-latest-holiday > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

.page-venue .page-content > section.section-inner.billericay-latest-panel.billericay-latest-holiday {
  padding: clamp(28px, 2.6vw, 42px);
}

.billericay-latest-holiday-copy {
  max-width: 100%;
  padding-right: clamp(4px, .8vw, 12px);
}

.billericay-latest-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  margin: 18px 0 16px;
}

.billericay-latest-info-line {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
}

.billericay-latest-activity-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 1.8vw, 30px) clamp(16px, 1.65vw, 26px);
  align-items: stretch;
  padding-left: clamp(28px, 3vw, 48px);
}

.billericay-latest-activity-track::before {
  content: "";
  position: absolute;
  left: 0;
  top: clamp(4px, .7vw, 10px);
  bottom: clamp(4px, .7vw, 10px);
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(12, 31, 124, .16) 18%, rgba(214, 12, 132, .26) 50%, rgba(176, 218, 33, .22) 82%, transparent);
}

.billericay-latest-activity-track::after {
  content: "";
  position: absolute;
  left: -4px;
  top: 50%;
  width: 9px;
  height: 54px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--raspberry), #6b35f4, var(--lime));
  box-shadow: 0 10px 24px rgba(12, 31, 124, .16);
  transform: translateY(-50%);
  opacity: .72;
}

.billericay-latest-activity-track article {
  --activity-color: var(--blueberry);
  --activity-bg-soft: #eaf6ff;
  --activity-bg-strong: #d8efff;
  --activity-glow: rgba(33, 71, 199, .16);
  --activity-ring: rgba(33, 71, 199, .2);
  position: relative;
  display: grid;
  grid-template-rows: max-content max-content;
  gap: 10px;
  place-items: center;
  place-content: center;
  aspect-ratio: 1 / 1;
  min-height: 0;
  padding: clamp(12px, 1.1vw, 16px) 10px;
  text-align: center;
  color: var(--blackberry);
  font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(.82rem, .82vw, .98rem);
  line-height: 1.04;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .38));
  transition: transform .22s ease, background .22s ease;
}

.billericay-latest-activity-track article:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, .72);
}

.billericay-latest-activity-track article strong {
  max-width: 11ch;
  font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
  font-weight: 600;
}

.billericay-latest-activity-track .billericay-latest-activity-icon {
  position: relative;
  isolation: isolate;
  width: 76px;
  height: 76px;
  color: var(--activity-color);
  background: radial-gradient(circle at 38% 30%, var(--activity-bg-soft) 0 44%, var(--activity-bg-strong) 100%);
  box-shadow: 0 16px 30px var(--activity-glow), inset 0 0 0 1px rgba(255, 255, 255, .82), inset 0 -7px 16px rgba(12, 31, 124, .06);
  animation: billericayFeatureFloat 4.8s ease-in-out infinite;
}

.billericay-latest-activity-track .billericay-latest-activity-icon::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid var(--activity-ring);
  border-radius: 50%;
  opacity: .58;
  animation: billericayFeaturePulse 4.8s ease-in-out infinite;
}

.billericay-latest-activity-track .billericay-latest-activity-icon::after {
  content: none;
}

.billericay-latest-activity-track .billericay-latest-activity-icon svg {
  width: 36px;
  height: 36px;
  stroke-width: 2;
}

.billericay-latest-activity-sports {
  --activity-color: #6b35f4;
  --activity-bg-soft: #f1eaff;
  --activity-bg-strong: #e4d5ff;
  --activity-glow: rgba(107, 53, 244, .15);
  --activity-ring: rgba(107, 53, 244, .2);
}

.billericay-latest-activity-lunch {
  --activity-color: var(--satsuma);
  --activity-bg-soft: #fff0d7;
  --activity-bg-strong: #ffe3af;
  --activity-glow: rgba(247, 111, 32, .14);
  --activity-ring: rgba(247, 111, 32, .2);
}

.billericay-latest-activity-creative {
  --activity-color: var(--raspberry);
  --activity-bg-soft: #ffe8f5;
  --activity-bg-strong: #ffd2eb;
  --activity-glow: rgba(214, 12, 132, .15);
  --activity-ring: rgba(214, 12, 132, .2);
}

.billericay-latest-activity-swim {
  --activity-color: #1285d6;
  --activity-bg-soft: #e3f6ff;
  --activity-bg-strong: #c8eeff;
  --activity-glow: rgba(18, 133, 214, .15);
  --activity-ring: rgba(18, 133, 214, .2);
}

.billericay-latest-activity-home-time {
  --activity-color: #278a1d;
  --activity-bg-soft: #eef9dd;
  --activity-bg-strong: #daf2bd;
  --activity-glow: rgba(39, 138, 29, .15);
  --activity-ring: rgba(39, 138, 29, .22);
}

.billericay-latest-activity-track article:nth-child(2) .billericay-latest-activity-icon,
.billericay-latest-activity-track article:nth-child(2) .billericay-latest-activity-icon::before {
  animation-delay: .45s;
}

.billericay-latest-activity-track article:nth-child(3) .billericay-latest-activity-icon,
.billericay-latest-activity-track article:nth-child(3) .billericay-latest-activity-icon::before {
  animation-delay: .9s;
}

.billericay-latest-activity-track article:nth-child(4) .billericay-latest-activity-icon,
.billericay-latest-activity-track article:nth-child(4) .billericay-latest-activity-icon::before {
  animation-delay: 1.35s;
}

.billericay-latest-activity-track article:nth-child(5) .billericay-latest-activity-icon,
.billericay-latest-activity-track article:nth-child(5) .billericay-latest-activity-icon::before {
  animation-delay: 1.8s;
}

.billericay-latest-activity-track article:nth-child(6) .billericay-latest-activity-icon,
.billericay-latest-activity-track article:nth-child(6) .billericay-latest-activity-icon::before {
  animation-delay: 2.25s;
}

@keyframes billericayHolidayFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  42% {
    transform: translateY(-7px) scale(1.025);
  }
}

@keyframes billericayHolidayOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes billericayHolidayGlint {
  0%, 100% {
    opacity: .78;
    transform: translate(0, 0) scale(1);
  }
  45% {
    opacity: 1;
    transform: translate(-5px, 4px) scale(1.25);
  }
}

@media (prefers-reduced-motion: reduce) {
  .billericay-latest-activity-track article,
  .billericay-latest-activity-track .billericay-latest-activity-icon,
  .billericay-latest-activity-track .billericay-latest-activity-icon::before,
  .billericay-latest-activity-track .billericay-latest-activity-icon::after {
    animation: none;
    transition: none;
  }
}

.billericay-latest-why-row {
  grid-template-columns: 1.36fr repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.45vw, 24px);
  align-items: stretch;
}

.billericay-latest-why-copy {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fff 0%, #fbfcff 50%, #fff7fc 100%);
  border-color: rgba(214, 12, 132, .12);
}

.billericay-latest-why-copy::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--raspberry), #6b35f4);
  opacity: .78;
}

.billericay-latest-why-copy > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

.billericay-latest-why-copy h2 {
  max-width: 12.8em;
  margin-bottom: 22px;
}

.billericay-latest-why-copy p {
  max-width: 34ch;
}

.billericay-latest-feature {
  --feature-color: var(--blueberry);
  --feature-bg-soft: #eaf6ff;
  --feature-bg-strong: #d8efff;
  --feature-ring: rgba(33, 71, 199, .2);
  --feature-border: rgba(33, 71, 199, .14);
  --feature-border-hover: rgba(33, 71, 199, .28);
  --feature-glow: rgba(33, 71, 199, .16);
  --feature-wash: rgba(33, 71, 199, .08);
  --feature-card-start: #fff;
  --feature-card-end: #f7fbff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  gap: 0;
  justify-items: center;
  align-content: center;
  min-height: 252px;
  padding: clamp(24px, 2.1vw, 34px) clamp(18px, 1.8vw, 30px);
  text-align: center;
  background: linear-gradient(145deg, var(--feature-card-start) 0%, var(--feature-card-end) 100%);
  border-color: var(--feature-border);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.billericay-latest-feature::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(135deg, var(--feature-wash), transparent 46%),
    linear-gradient(0deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0));
  opacity: .55;
}

.billericay-latest-feature:hover {
  transform: translateY(-4px);
  border-color: var(--feature-border-hover);
  box-shadow: 0 18px 42px rgba(12, 31, 124, .11);
}

.billericay-latest-feature h3 {
  margin: 0 0 14px;
  font-size: clamp(1.08rem, 1.08vw, 1.28rem);
  line-height: 1.07;
}

.billericay-latest-feature p {
  margin: 0;
  max-width: 25ch;
  line-height: 1.38;
}

.billericay-latest-feature-icon {
  position: relative;
  width: 76px;
  height: 76px;
  margin: 0 0 20px;
  color: var(--feature-color);
  background: radial-gradient(circle at 38% 30%, var(--feature-bg-soft) 0 44%, var(--feature-bg-strong) 100%);
  box-shadow: 0 16px 30px var(--feature-glow), inset 0 0 0 1px rgba(255, 255, 255, .82), inset 0 -7px 16px rgba(12, 31, 124, .06);
  animation: billericayFeatureFloat 4.8s ease-in-out infinite;
}

.billericay-latest-feature-icon::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid var(--feature-ring);
  border-radius: 50%;
  opacity: .58;
  animation: billericayFeaturePulse 4.8s ease-in-out infinite;
}

.billericay-latest-feature-icon svg {
  width: 36px;
  height: 36px;
  stroke-width: 2;
}

.billericay-latest-feature-local {
  --feature-color: var(--raspberry);
  --feature-bg-soft: #ffe8f5;
  --feature-bg-strong: #ffd4ec;
  --feature-ring: rgba(214, 12, 132, .2);
  --feature-border: rgba(214, 12, 132, .14);
  --feature-border-hover: rgba(214, 12, 132, .28);
  --feature-glow: rgba(214, 12, 132, .15);
  --feature-wash: rgba(214, 12, 132, .07);
  --feature-card-end: #fff7fc;
}

.billericay-latest-feature-team {
  --feature-color: #278a1d;
  --feature-bg-soft: #eef9dd;
  --feature-bg-strong: #d8f1bb;
  --feature-ring: rgba(39, 138, 29, .22);
  --feature-border: rgba(39, 138, 29, .16);
  --feature-border-hover: rgba(39, 138, 29, .3);
  --feature-glow: rgba(39, 138, 29, .15);
  --feature-wash: rgba(39, 138, 29, .08);
  --feature-card-end: #fbfff5;
}

.billericay-latest-feature-local .billericay-latest-feature-icon {
  animation-delay: .45s;
}

.billericay-latest-feature-local .billericay-latest-feature-icon::before {
  animation-delay: .45s;
}

.billericay-latest-feature-team .billericay-latest-feature-icon {
  animation-delay: .9s;
}

.billericay-latest-feature-team .billericay-latest-feature-icon::before {
  animation-delay: .9s;
}

@keyframes billericayFeatureFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  45% {
    transform: translateY(-7px) rotate(-1.5deg);
  }
}

@keyframes billericayFeaturePulse {
  0%, 100% {
    transform: scale(.96);
    opacity: .38;
  }
  50% {
    transform: scale(1.08);
    opacity: .78;
  }
}

@media (prefers-reduced-motion: reduce) {
  .billericay-latest-feature,
  .billericay-latest-feature-icon,
  .billericay-latest-feature-icon::before {
    animation: none;
    transition: none;
  }
}

.billericay-latest-about-offers {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.25vw, 20px);
  align-items: stretch;
}

.billericay-latest-about {
  grid-column: span 2;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.billericay-latest-about-main {
  display: grid;
  grid-template-columns: minmax(0, calc((100% - clamp(14px, 1.25vw, 20px) + 2px) / 2)) minmax(0, 1fr);
  gap: 0;
  flex: 1 1 auto;
}

.billericay-latest-about-main > img {
  width: 100%;
  height: 100%;
  min-height: clamp(390px, 31vw, 520px);
  object-fit: cover;
  object-position: center;
}
.warlingham-about-photo-frame,
.venue-about-photo-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: clamp(390px, 31vw, 520px);
  margin: 0;
  overflow: hidden;
  background: #eef0fa;
}

.warlingham-about-photo-frame .warlingham-about-photo,
.venue-about-photo-frame .venue-about-photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(390px, 31vw, 520px);
  object-fit: cover;
  object-position: center;
}

.warlingham-about-photo-frame .warlingham-about-photo {
  object-position: 35% center;
}

.warlingham-photo-open,
.venue-photo-open {
  position: absolute;
  right: clamp(14px, 1.4vw, 22px);
  bottom: clamp(14px, 1.4vw, 22px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 9px 15px 9px 10px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 44px rgba(12, 31, 124, .18), inset 0 1px 0 rgba(255, 255, 255, .72);
  color: var(--blackberry);
  cursor: pointer;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .84rem;
  line-height: 1;
  letter-spacing: 0;
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}

.warlingham-photo-open::after,
.venue-photo-open::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(214, 12, 132, .42);
  border-radius: inherit;
  opacity: 0;
  transform: scale(.92);
  transition: opacity .24s ease, transform .24s ease;
}

.warlingham-photo-open:hover,
.warlingham-photo-open:focus-visible,
.venue-photo-open:hover,
.venue-photo-open:focus-visible {
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 24px 56px rgba(12, 31, 124, .24), 0 0 0 4px rgba(214, 12, 132, .12);
  color: var(--raspberry);
  transform: translateY(-2px);
}

.warlingham-photo-open:hover::after,
.warlingham-photo-open:focus-visible::after,
.venue-photo-open:hover::after,
.venue-photo-open:focus-visible::after {
  opacity: 1;
  transform: scale(1);
}

.warlingham-photo-open__icon,
.venue-photo-open__icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(214, 12, 132, .13), rgba(176, 218, 33, .18));
  color: var(--raspberry);
}

.warlingham-photo-open__icon svg,
.venue-photo-open__icon svg {
  width: 16px;
  height: 16px;
}

.venue-photo-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 42px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .26s ease, visibility .26s ease;
}

.venue-photo-modal[hidden] {
  display: none;
}

.venue-photo-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.venue-photo-modal-open {
  overflow: hidden;
}

.venue-photo-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 14%, rgba(176, 218, 33, .22), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(214, 12, 132, .18), transparent 24%),
    linear-gradient(135deg, rgba(4, 17, 78, .9), rgba(54, 72, 148, .82));
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
}

.venue-photo-modal__panel {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100vw - 36px));
  max-height: calc(100vh - 44px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(370px, 430px);
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 28px;
  background:
    linear-gradient(#fff, #fff) padding-box,
    conic-gradient(from 145deg, rgba(255, 255, 255, .95), rgba(214, 12, 132, .82), rgba(176, 218, 33, .72), rgba(37, 69, 174, .84), rgba(255, 255, 255, .95)) border-box;
  box-shadow: 0 34px 90px rgba(3, 18, 86, .34), 0 0 0 1px rgba(255, 255, 255, .16);
  opacity: 0;
  outline: none;
  transform: translateY(22px) scale(.965);
  transition: opacity .3s ease, transform .42s cubic-bezier(.2, .72, .2, 1);
}

.venue-photo-modal__panel::before,
.venue-photo-modal__panel::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2;
}

.venue-photo-modal__panel::before {
  inset: 10px;
  border: 1px solid rgba(12, 31, 124, .08);
  border-radius: 20px;
}

.venue-photo-modal__panel::after {
  inset: 14px;
  border-radius: 18px;
  background:
    linear-gradient(var(--raspberry), var(--raspberry)) left top / 56px 3px no-repeat,
    linear-gradient(var(--blueberry), var(--blueberry)) left top / 3px 56px no-repeat,
    linear-gradient(var(--lime), var(--lime)) right bottom / 56px 3px no-repeat,
    linear-gradient(var(--raspberry), var(--raspberry)) right bottom / 3px 56px no-repeat;
  opacity: .58;
}

.venue-photo-modal.is-open .venue-photo-modal__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.venue-photo-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 4;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(12, 31, 124, .08);
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: var(--blackberry);
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(12, 31, 124, .16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .22s ease, color .22s ease, box-shadow .22s ease, background .22s ease;
}

.venue-photo-modal__close:hover,
.venue-photo-modal__close:focus-visible {
  background: #fff;
  color: var(--raspberry);
  box-shadow: 0 20px 42px rgba(12, 31, 124, .22);
  transform: rotate(6deg) scale(1.04);
}

.venue-photo-modal__close svg {
  width: 20px;
  height: 20px;
}

.venue-photo-modal__media {
  position: relative;
  aspect-ratio: 25 / 14;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #eef3ff;
}

.venue-photo-modal__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34), inset -26px 0 54px rgba(4, 17, 78, .1);
  pointer-events: none;
}

.venue-photo-modal__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, .46) 44%, transparent 58%);
  opacity: 0;
  transform: translateX(-70%);
  pointer-events: none;
}

.venue-photo-modal.is-open .venue-photo-modal__media::after {
  animation: venuePhotoSweep .72s .08s ease both;
}

.venue-photo-modal__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  animation: venuePhotoImageReveal .5s .08s cubic-bezier(.2, .72, .2, 1) both;
}

.venue-photo-modal__info {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 13px;
  min-width: 0;
  min-height: 0;
  container-type: inline-size;
  padding: clamp(24px, 2.1vw, 34px) clamp(30px, 2.8vw, 42px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(250, 252, 255, .99)),
    radial-gradient(circle at 100% 0%, rgba(214, 12, 132, .08), transparent 34%);
  box-shadow: inset 1px 0 0 rgba(12, 31, 124, .08);
}

.venue-photo-modal__info::before {
  content: "";
  position: absolute;
  left: 0;
  top: 28px;
  bottom: 28px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--raspberry), var(--lime));
  opacity: .78;
}

.venue-photo-modal__eyebrow {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 2px solid var(--raspberry);
  border-radius: 6px;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .74rem;
}

.venue-photo-modal__info h2 {
  max-width: 100%;
  margin: 0;
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.9rem, 3.25vw, 3rem);
  line-height: .94;
  overflow-wrap: anywhere;
  text-wrap: balance;
  word-break: normal;
}

@supports (font-size: 10cqw) {
  .venue-photo-modal__info h2 {
    font-size: clamp(1.85rem, 12cqw, 3rem);
  }
}

.venue-photo-modal__address {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1rem, .95vw, 1.08rem);
  line-height: 1.45;
}

.venue-photo-modal__directions {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  margin-top: 6px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--raspberry);
  color: #fff;
  box-shadow: 0 14px 28px rgba(214, 12, 132, .24);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .9rem;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.venue-photo-modal__directions:hover,
.venue-photo-modal__directions:focus-visible {
  background: #b90072;
  box-shadow: 0 18px 36px rgba(214, 12, 132, .3);
  transform: translateY(-2px);
}

.venue-photo-modal__directions svg {
  width: 18px;
  height: 18px;
}

@keyframes venuePhotoSweep {
  0% {
    opacity: 0;
    transform: translateX(-70%);
  }
  38% {
    opacity: .82;
  }
  100% {
    opacity: 0;
    transform: translateX(70%);
  }
}

@keyframes venuePhotoImageReveal {
  0% {
    opacity: 0;
    transform: scale(.985);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


.billericay-latest-about-main > div {
  padding: clamp(26px, 2.1vw, 38px);
  align-self: start;
}

.billericay-latest-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 9px;
}

.billericay-latest-tags span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--raspberry);
  border-radius: 6px;
  padding: 0 10px;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .72rem;
}

.billericay-latest-tags span:first-child {
  color: #fff;
  background: var(--blueberry);
  border-color: var(--blueberry);
}

.billericay-latest-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #eef0fa;
}

.billericay-latest-stats span {
  min-height: 78px;
  display: grid;
  place-items: center;
  gap: 5px;
  padding: 10px;
  text-align: center;
  color: var(--blackberry);
  font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(.68rem, .62vw, .78rem);
  line-height: 1.05;
}

.billericay-latest-stats svg {
  width: 26px;
  height: 26px;
  color: var(--blueberry);
}

.billericay-latest-offers {
  display: flex;
  flex-direction: column;
  padding: clamp(30px, 2.65vw, 44px) clamp(24px, 2.35vw, 40px);
}

.billericay-latest-offers h2 {
  position: relative;
  align-self: center;
  display: inline-block;
  text-align: center;
  margin-bottom: clamp(30px, 3vw, 48px);
}

.billericay-latest-offers h2::before,
.billericay-latest-offers h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}

.billericay-latest-offers h2::before {
  right: calc(100% + 18px);
  background-image: url("../images/header-text-bars-left-pink.png");
}

.billericay-latest-offers h2::after {
  left: calc(100% + 18px);
  background-image: url("../images/header-text-bars-right-pink.png");
}

.billericay-latest-offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 3.25vw, 48px) clamp(16px, 1.8vw, 28px);
  align-content: start;
  margin-top: 0;
}

.billericay-latest-offer-grid div {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
  font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(.72rem, .68vw, .84rem);
  line-height: 1.08;
}

.billericay-latest-offer-grid span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e5f3ff;
  color: var(--blueberry);
  box-shadow: 0 10px 22px rgba(21,31,109,.07), inset 0 -5px 12px rgba(12,31,124,.05);
}

.billericay-latest-offer-grid svg {
  width: 29px;
  height: 29px;
}

.billericay-latest-offer-crafts span,
.billericay-latest-offer-extended span {
  background: #efe8ff;
  color: #6b35f4;
}

.billericay-latest-offer-cookery span,
.billericay-latest-offer-breakfast span {
  background: #fff0d7;
  color: var(--satsuma);
}

.billericay-latest-offer-enrichment span,
.billericay-latest-offer-tuck span,
.billericay-latest-offer-ofsted span {
  background: #e9f8d5;
  color: #36a31d;
}

.billericay-latest-offer-breakfast {
  grid-column: 2;
}

.billericay-latest-parent-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.billericay-latest-parent-row > .billericay-card,
.billericay-latest-good-row > .billericay-card {
  height: 100%;
}

.billericay-latest-perfect-icons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.billericay-latest-perfect-icons span {
  display: grid;
  justify-items: center;
  gap: 9px;
  text-align: center;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.72rem, .68vw, .84rem);
  line-height: 1.08;
}

.billericay-latest-perfect-icons i {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  box-shadow: 0 12px 24px rgba(12, 31, 124, .1), inset 0 0 0 1px rgba(255, 255, 255, .78), inset 0 -5px 12px rgba(12, 31, 124, .05);
}

.billericay-latest-perfect-icons svg {
  width: 30px;
  height: 30px;
  color: var(--blueberry);
}

.billericay-latest-perfect-icons strong {
  font: inherit;
  color: inherit;
}

.billericay-latest-perfect-active i {
  background: radial-gradient(circle at 38% 30%, #eff9ff 0 42%, #d8efff 100%);
}

.billericay-latest-perfect-active svg {
  color: #2147c7;
}

.billericay-latest-perfect-working i {
  background: radial-gradient(circle at 38% 30%, #f5efff 0 42%, #e5d7ff 100%);
}

.billericay-latest-perfect-working svg {
  color: #6b35f4;
}

.billericay-latest-perfect-trusted i {
  background: radial-gradient(circle at 38% 30%, #f2fadd 0 42%, #daf2bd 100%);
}

.billericay-latest-perfect-trusted svg {
  color: #278a1d;
}

.billericay-latest-ofsted {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: linear-gradient(135deg, #fff 0%, #fff7fc 54%, #f7fbff 100%);
  border-color: rgba(214, 12, 132, .16);
}

.billericay-latest-ofsted::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--raspberry), #6b35f4);
  opacity: .82;
}

.billericay-latest-ofsted-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.billericay-latest-ofsted-head h2 {
  min-height: 48px;
  display: grid;
  align-content: center;
  margin: 0;
  padding-top: 2px;
}

.billericay-latest-ofsted-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--raspberry);
  background: radial-gradient(circle at 38% 30%, #ffe8f5 0 44%, #ffd7ee 100%);
  box-shadow: 0 12px 24px rgba(214, 12, 132, .12), inset 0 0 0 1px rgba(255, 255, 255, .78), inset 0 -5px 12px rgba(214, 12, 132, .06);
}

.billericay-latest-ofsted-mark svg {
  width: 24px;
  height: 24px;
  display: block;
}

.billericay-latest-ofsted blockquote {
  position: relative;
  z-index: 1;
  margin: 0 0 14px;
  padding: 0 0 0 14px;
  border-left: 2px solid rgba(214, 12, 132, .22);
}

.billericay-latest-ofsted blockquote p {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.94rem, .92vw, 1.03rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.42;
}

.billericay-latest-ofsted small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(12, 31, 124, .08);
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.35;
  opacity: .9;
}

.billericay-latest-ofsted .billericay-latest-btn {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: 18px;
}

.billericay-latest-good-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.billericay-latest-good .billericay-check-list {
  gap: 8px;
}

.billericay-latest-photo-card {
  margin: 0;
  overflow: hidden;
  aspect-ratio: auto;
  min-height: 0;
}

.billericay-latest-photo-card img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.billericay-latest-fun {
  background: linear-gradient(135deg, #fff 0%, #fff9e9 100%);
}

.billericay-latest-fun-art {
  width: 92%;
  height: auto;
  aspect-ratio: 1050 / 720;
  object-fit: contain;
  max-width: 330px;
  margin: 4px auto 0;
  display: block;
}

.billericay-latest-location-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.billericay-latest-pin-icon {
  color: var(--raspberry);
  background: #ffe5f3;
}

.billericay-latest-location .billericay-latest-btn {
  width: max-content;
  min-width: 160px;
}

.billericay-latest-icon-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.billericay-latest-icon-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.78rem, .72vw, .88rem);
  line-height: 1.22;
}

.billericay-latest-icon-list span {
  color: var(--blueberry);
  width: 48px;
  min-height: 1.44em;
  display: grid;
  place-items: center;
  line-height: 0;
}

.billericay-latest-icon-list svg {
  width: 23px;
  height: 23px;
  display: block;
}

.billericay-latest-card.billericay-latest-map-card {
  padding: 0;
  display: grid;
  overflow: hidden;
}

.billericay-latest-map {
  position: relative;
  min-height: 210px;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: #f0f2f5;
  border: 0;
}

.billericay-latest-map::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(34deg, transparent 0 34%, rgba(255,255,255,.96) 35% 40%, transparent 41%),
    linear-gradient(150deg, transparent 0 45%, rgba(255,255,255,.96) 46% 51%, transparent 52%),
    linear-gradient(82deg, transparent 0 56%, rgba(255,255,255,.96) 57% 62%, transparent 63%);
}

.billericay-latest-road {
  position: absolute;
  z-index: 1;
  height: 14px;
  background: #fff;
  border: 1px solid #d9dde7;
  border-radius: 999px;
}

.billericay-latest-road-one {
  left: -24px;
  top: 58px;
  width: 270px;
  transform: rotate(-22deg);
}

.billericay-latest-road-two {
  right: -28px;
  bottom: 54px;
  width: 280px;
  transform: rotate(-15deg);
}

.billericay-latest-road-three {
  left: 74px;
  top: -34px;
  width: 16px;
  height: 300px;
  transform: rotate(24deg);
}

.billericay-latest-park {
  position: absolute;
  z-index: 2;
  right: 44px;
  top: 22px;
  width: 150px;
  height: 98px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #ccefd6;
  color: #3d8a52;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.1;
  text-align: center;
}

.billericay-latest-map-label {
  position: absolute;
  z-index: 4;
  left: 49%;
  top: 55%;
  color: #df2424;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .8rem;
}

.billericay-latest-map-pin {
  position: absolute;
  z-index: 5;
  left: 42%;
  top: 48%;
  width: 34px;
  height: 34px;
  background: #ef332f;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 6px 14px rgba(239, 51, 47, .25);
}

.billericay-latest-map-pin::after {
  content: "";
  position: absolute;
  inset: 10px;
  background: #fff;
  border-radius: 50%;
}

.billericay-venue-content .billericay-latest-card h2,
.billericay-venue-content .billericay-latest-card h3,
.billericay-venue-content .billericay-latest-panel h2,
.billericay-venue-content .billericay-latest-about h2 {
  color: var(--blackberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.25rem, 1.35vw, 1.62rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.05;
  text-transform: none;
}

.billericay-venue-content .billericay-latest-card p,
.billericay-venue-content .billericay-latest-panel p,
.billericay-venue-content .billericay-latest-card li,
.billericay-venue-content .billericay-latest-care-row strong,
.billericay-venue-content .billericay-latest-care-row span,
.billericay-venue-content .billericay-latest-care-row small,
.billericay-venue-content .billericay-latest-feature p,
.billericay-venue-content .billericay-latest-perfect p,
.billericay-venue-content .billericay-latest-ofsted small,
.billericay-venue-content .billericay-latest-icon-list li {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.94rem, .92vw, 1.03rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.44;
}

@media (max-width: 1180px) {
  .billericay-latest-about-main > .warlingham-about-photo-frame,
  .billericay-latest-about-main > .venue-about-photo-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  .warlingham-about-photo-frame .warlingham-about-photo,
  .venue-about-photo-frame .venue-about-photo {
    min-height: 0;
  }

  .warlingham-photo-open,
  .venue-photo-open {
    top: 18px;
    right: 18px;
    bottom: auto;
  }
}

@media (max-width: 900px) {
  .venue-photo-modal__panel {
    width: min(680px, calc(100vw - 28px));
    max-height: calc(100vh - 28px);
    grid-template-columns: 1fr;
    overflow-y: auto;
    border-radius: 24px;
  }

  .venue-photo-modal__panel::before {
    inset: 8px;
    border-radius: 17px;
  }

  .venue-photo-modal__panel::after {
    inset: 12px;
  }

  .venue-photo-modal__media {
    aspect-ratio: 25 / 14;
  }

  .venue-photo-modal__info {
    padding: 24px 26px 28px;
    box-shadow: inset 0 1px 0 rgba(12, 31, 124, .08);
  }

  .venue-photo-modal__info::before {
    top: 0;
    left: 26px;
    right: 26px;
    bottom: auto;
    width: auto;
    height: 3px;
  }

  .venue-photo-modal__info h2 {
    font-size: clamp(1.9rem, 7vw, 2.8rem);
  }
}

@media (max-width: 760px) {
  .billericay-latest-about-main > .warlingham-about-photo-frame,
  .billericay-latest-about-main > .venue-about-photo-frame {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .warlingham-about-photo-frame .warlingham-about-photo,
  .venue-about-photo-frame .venue-about-photo {
    height: auto;
    min-height: 0;
    object-fit: cover;
    object-position: center;
  }

  .warlingham-photo-open,
  .venue-photo-open {
    top: auto;
    right: 12px;
    bottom: 12px;
    min-height: 42px;
    padding: 8px 12px 8px 9px;
    font-size: .78rem;
  }

  .warlingham-photo-open__icon,
  .venue-photo-open__icon {
    width: 26px;
    height: 26px;
  }

  .venue-photo-modal {
    padding: 12px;
  }

  .venue-photo-modal__panel {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    border-radius: 20px;
  }

  .venue-photo-modal__close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
  }

  .venue-photo-modal__info {
    gap: 11px;
    padding: 22px;
  }

  .venue-photo-modal__directions {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .warlingham-photo-open,
  .warlingham-photo-open::after,
  .venue-photo-open,
  .venue-photo-open::after,
  .venue-photo-modal,
  .venue-photo-modal__panel,
  .venue-photo-modal__close,
  .venue-photo-modal__directions {
    transition: none;
  }

  .venue-photo-modal__media::after,
  .venue-photo-modal__media img {
    animation: none !important;
  }
}

@media (max-width: 1180px) {
  .billericay-latest-top-grid,
  .billericay-latest-holiday,
  .billericay-latest-about-offers,
  .billericay-latest-parent-row,
  .billericay-latest-good-row,
  .billericay-latest-location-row {
    grid-template-columns: 1fr;
  }

  .billericay-latest-about {
    grid-column: auto;
  }

  .billericay-latest-why-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billericay-latest-why-copy {
    grid-column: 1 / -1;
  }

  .billericay-latest-activity-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: clamp(24px, 3vw, 34px);
    padding-left: 0;
  }

  .billericay-latest-activity-track::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(12, 31, 124, .16) 18%, rgba(214, 12, 132, .26) 50%, rgba(176, 218, 33, .22) 82%, transparent);
  }

  .billericay-latest-activity-track::after {
    left: 50%;
    top: -4px;
    width: 54px;
    height: 9px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, var(--raspberry), #6b35f4, var(--lime));
  }

  .billericay-latest-photo-card img {
    max-height: 420px;
  }
}

@media (max-width: 760px) {
  .billericay-latest-card,
  .billericay-latest-panel {
    padding: 20px;
  }

  .page-venue .page-content > section.section-inner.billericay-latest-panel.billericay-latest-holiday {
    padding: 20px;
  }

  .billericay-latest-heading {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .billericay-latest-icon,
  .billericay-latest-pin-icon {
    width: 42px;
    height: 42px;
  }

  .billericay-latest-icon-list li {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .billericay-latest-icon-list span {
    width: 42px;
  }

  .billericay-latest-care-row,
  .billericay-latest-pay-note,
  .billericay-latest-price-board {
    grid-template-columns: 1fr;
  }

  .billericay-latest-care-row b {
    justify-self: start;
  }

  .billericay-latest-pay-logos,
  .billericay-latest-activity-track,
  .billericay-latest-offer-grid,
  .billericay-latest-perfect-icons,
  .billericay-latest-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billericay-latest-actions,
  .billericay-latest-about-main,
  .billericay-latest-why-row {
    grid-template-columns: 1fr;
  }

  .billericay-latest-actions .billericay-btn,
  .billericay-latest-location .billericay-latest-btn {
    width: 100%;
    min-width: 0;
  }

  .billericay-latest-about-main > img {
    min-height: 230px;
  }

  .billericay-latest-about-main {
    position: relative;
    min-height: 520px;
    overflow: hidden;
  }

  .billericay-latest-about-main > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
  }

  .billericay-latest-about-main > div {
    position: relative;
    z-index: 1;
    align-self: end;
    margin: 18px;
    padding: 18px 18px 20px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 16px;
    background: rgba(255, 255, 255, .38);
    box-shadow: 0 18px 44px rgba(12, 31, 124, .16);
    backdrop-filter: blur(10px) saturate(1.05);
    -webkit-backdrop-filter: blur(10px) saturate(1.05);
  }

  .billericay-latest-about .billericay-latest-tags {
    gap: 7px;
    margin-bottom: 12px;
  }

  .billericay-latest-about .billericay-latest-tags span {
    min-height: 30px;
    padding: 0 11px;
    border-color: var(--blueberry);
    background: var(--blueberry);
    color: #fff;
    box-shadow: 0 8px 18px rgba(12, 31, 124, .16);
  }

  .billericay-latest-about .billericay-latest-tags span:nth-child(2) {
    border-color: #D20f8C;
    background: #D20f8C;
  }

  .billericay-venue-content .billericay-latest-about h2 {
    margin-bottom: 13px;
    color: var(--blackberry);
    text-shadow: none;
  }

  .billericay-latest-about-main p {
    margin: 0;
    color: var(--blackberry);
    font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(.9rem, 3.65vw, .98rem);
    line-height: 1.42;
    text-shadow: none;
  }

  .billericay-latest-about-main p + p {
    margin-top: 12px;
  }

  .billericay-latest-offers {
    padding: 24px 20px;
  }

  .billericay-latest-offers h2::before,
  .billericay-latest-offers h2::after {
    display: none;
  }

  .billericay-latest-map {
    min-height: 230px;
  }

  .billericay-latest-pay-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billericay-latest-pay-support {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .billericay-latest-pay-logos,
  .billericay-latest-activity-track,
  .billericay-latest-offer-grid,
  .billericay-latest-perfect-icons,
  .billericay-latest-stats {
    grid-template-columns: 1fr;
  }

  .billericay-latest-offer-breakfast {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .venue-hero-billericay .quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
    border-radius: 16px;
  }

  .venue-hero-billericay .quick-facts h2 {
    grid-column: 1 / -1;
    padding: 0 0 6px;
    border-bottom: 1px solid rgba(12, 31, 124, .12);
    font-size: clamp(1.55rem, 7vw, 2.05rem);
  }

  .venue-hero-billericay .quick-facts .fact-item {
    min-height: 126px;
    grid-template-rows: 62px auto auto;
    gap: 6px;
    padding: 12px 8px 11px;
    border: 1px solid rgba(12, 31, 124, .08);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #fbfcff);
  }

  .venue-hero-billericay .quick-facts .fact-item:nth-of-type(3) {
    grid-column: 1 / -1;
    min-height: 118px;
  }

  .venue-hero-billericay .quick-facts .fact-item:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 12px) / 2);
  }

  .venue-hero-billericay .quick-facts .quick-fact-icon {
    width: 62px;
    height: 62px;
  }

  .venue-hero-billericay .quick-facts .fact-item svg {
    width: 34px;
    height: 34px;
  }

  .venue-hero-billericay .quick-facts .fact-item span:not(.quick-fact-icon) {
    font-size: clamp(.8rem, 3.4vw, .94rem);
    line-height: 1.06;
  }

  .venue-hero-billericay .quick-facts .fact-item strong {
    max-width: 18ch;
    font-size: clamp(.82rem, 3.55vw, .98rem);
    line-height: 1.08;
  }

  .venue-hero-billericay .quick-facts .fact-item:nth-of-type(3) strong {
    max-width: 30ch;
  }

  .billericay-latest-holiday {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 18px;
  }

  .billericay-latest-activity-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding-left: 0;
  }

  .billericay-latest-activity-track::before,
  .billericay-latest-activity-track::after {
    display: none;
  }

  .billericay-latest-activity-track article {
    min-height: 140px;
    aspect-ratio: auto;
    padding: 14px 8px 12px;
    gap: 9px;
    border: 1px solid rgba(12, 31, 124, .06);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.55));
    font-size: clamp(.8rem, 3.4vw, .92rem);
  }

  .billericay-latest-activity-track .billericay-latest-activity-icon {
    width: 68px;
    height: 68px;
  }

  .billericay-latest-activity-track .billericay-latest-activity-icon svg {
    width: 32px;
    height: 32px;
  }

  .billericay-latest-offer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 8px;
  }

  .billericay-latest-offer-grid div {
    min-height: 104px;
    align-content: start;
    gap: 8px;
    font-size: clamp(.68rem, 3vw, .8rem);
  }

  .billericay-latest-offer-grid span {
    width: 58px;
    height: 58px;
  }

  .billericay-latest-offer-grid svg {
    width: 29px;
    height: 29px;
  }

  .billericay-latest-offer-breakfast {
    grid-column: 2;
  }

  .billericay-latest-perfect-icons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
  }

  .billericay-latest-perfect-icons span {
    gap: 10px;
    padding: 4px 2px;
    font-size: clamp(.72rem, 3.1vw, .84rem);
    line-height: 1.08;
  }

  .billericay-latest-perfect-icons i {
    width: 66px;
    height: 66px;
  }

  .billericay-latest-perfect-icons svg {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 360px) {
  .billericay-latest-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billericay-latest-offer-breakfast {
    grid-column: auto;
  }

  .billericay-latest-perfect-icons {
    gap: 8px;
  }

  .billericay-latest-perfect-icons i {
    width: 58px;
    height: 58px;
  }
}

@media (max-width: 760px) {
  .billericay-latest-about-main {
    position: static;
    min-height: 0;
    overflow: visible;
    background: #fff;
  }

  .billericay-latest-about-main > img {
    position: static;
    display: block;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
    object-position: center;
  }

  .billericay-latest-about-main > div {
    position: static;
    z-index: auto;
    align-self: auto;
    margin: 0;
    padding: 20px 18px 22px;
    border: 0;
    border-top: 1px solid rgba(12, 31, 124, .08);
    border-radius: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .billericay-latest-about .billericay-latest-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-top: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  }

  .billericay-latest-about .billericay-latest-stats span {
    min-height: 116px;
    padding: 14px 8px 12px;
    border: 1px solid rgba(12, 31, 124, .08);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(12, 31, 124, .055);
    gap: 9px;
    color: var(--blackberry);
    font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(.78rem, 3.25vw, .9rem);
    line-height: 1.12;
  }

  .billericay-latest-about .billericay-latest-stats svg {
    width: 54px;
    height: 54px;
    padding: 13px;
    border-radius: 50%;
    background: #e8f5ff;
    color: var(--blueberry);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .85), 0 10px 22px rgba(12, 31, 124, .08);
  }

  .billericay-latest-about .billericay-latest-stats span:nth-child(2) svg {
    background: #eee6ff;
    color: #6b35f4;
  }

  .billericay-latest-about .billericay-latest-stats span:nth-child(3) svg {
    background: #eaf8d4;
    color: #35a51f;
  }

  .billericay-latest-about .billericay-latest-stats span:nth-child(4) svg {
    background: #ffeecf;
    color: #f36b17;
  }
}
/* End Billericay venue page refresh styles */

/* Homepage pricing panel: mobile layout polish */
@media (max-width: 760px) {
  body.page-home .pricing-panel {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(21, 31, 109, .07);
    border-radius: 28px;
    background:
      radial-gradient(circle at 100% 0%, rgba(210, 15, 140, .10) 0 96px, transparent 97px),
      linear-gradient(160deg, #fffaf0 0%, #fff 52%, #f8fbff 100%);
    box-shadow: 0 22px 54px rgba(21, 31, 109, .09);
  }

  body.page-home .pricing-panel > div {
    position: relative;
    padding: 20px 18px;
    border: 1px solid rgba(21, 31, 109, .08);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(21, 31, 109, .055);
    overflow: hidden;
  }

  body.page-home .pricing-panel > div + div {
    padding-left: 18px;
    padding-top: 20px;
    border-left: 1px solid rgba(21, 31, 109, .08);
    border-top: 1px solid rgba(21, 31, 109, .08);
  }

  body.page-home .pricing-panel h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-size: clamp(1.55rem, 6.5vw, 2.05rem);
    line-height: 1.02;
  }

  body.page-home .pricing-panel h2::before {
    content: "";
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
    font-size: 1.15rem;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8), 0 10px 18px rgba(21, 31, 109, .08);
  }

  body.page-home .pricing-panel > div:nth-child(1) h2::before {
    content: "\00a3";
    color: #D20F8C;
    background: #ffe4f4;
  }

  body.page-home .pricing-panel > div:nth-child(2) h2::before {
    content: "+";
    color: #6C22E8;
    background: #eee7ff;
  }

  body.page-home .pricing-panel > div:nth-child(3) h2::before {
    content: "";
    background:
      linear-gradient(#35a51f, #35a51f) 10px 13px / 18px 4px no-repeat,
      linear-gradient(#35a51f, #35a51f) 10px 21px / 18px 4px no-repeat,
      #eaf8d4;
  }

  body.page-home .pricing-panel p {
    margin: 0;
    color: var(--blackberry);
    font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
    font-size: clamp(.98rem, 4.05vw, 1.08rem);
    line-height: 1.42;
  }

  body.page-home .pricing-panel > div:first-child > p {
    padding: 15px;
    border: 1px solid rgba(210, 15, 140, .15);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff8fd, #f8fbff);
  }

  body.page-home .pricing-panel p strong {
    color: #D20F8C;
    font-size: 1.12em;
  }

  body.page-home .pricing-panel .check-list {
    gap: 10px;
    margin-top: 14px;
  }

  body.page-home .pricing-panel .check-list li {
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 12px 12px 12px 48px;
    border: 1px solid rgba(178, 210, 53, .18);
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(178, 210, 53, .14), rgba(255, 255, 255, .92));
    font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
    font-weight: 600;
    font-size: clamp(.9rem, 3.75vw, 1rem);
    line-height: 1.24;
  }

  body.page-home .pricing-panel .check-list li::before {
    left: 14px;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    box-shadow: 0 8px 16px rgba(178, 210, 53, .18);
  }

  body.page-home .pricing-panel .check-list li::after {
    left: 21px;
    top: 50%;
    width: 9px;
    height: 5px;
    transform: translateY(-65%) rotate(-45deg);
  }

  body.page-home .pricing-panel .time-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
  }

  body.page-home .pricing-panel .time-list li {
    min-height: 118px;
    align-content: center;
    gap: 8px;
    padding: 15px 12px;
    border: 1px solid rgba(108, 34, 232, .13);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(108, 34, 232, .10) 0 48px, transparent 49px),
      linear-gradient(180deg, #fff, #fbf9ff);
    text-align: center;
  }

  body.page-home .pricing-panel .time-list strong {
    color: var(--blackberry);
    font-size: clamp(.94rem, 3.85vw, 1.02rem);
    line-height: 1.12;
  }

  body.page-home .pricing-panel .time-list span {
    color: #2b378f;
    font-family: GilroySemiBold, GilroyBold, Arial, sans-serif;
    font-size: clamp(.88rem, 3.65vw, .98rem);
    line-height: 1.2;
  }

  body.page-home .pricing-panel .nearest-camp-pay-btn {
    width: 100%;
    min-height: 58px;
    margin-top: 18px;
    border-radius: 14px;
    font-size: clamp(.95rem, 4vw, 1.08rem);
    box-shadow: 0 14px 28px rgba(178, 210, 53, .24);
  }
}
/* Homepage: final mobile layout refinements */
@media (max-width: 760px) {
  body.page-home {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  body.page-home .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-home .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-home .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-home .sticky-booking {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    min-height: 52px;
    border-radius: 14px;
  }

  body.page-home .back-to-top {
    right: 18px;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }

  body.page-home.has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-home .itinerary-carousel {
    grid-template-columns: 46px minmax(0, 1fr) 46px;
  }

  body.page-home .itinerary-nav {
    width: 46px;
    height: 46px;
    min-width: 46px;
  }

  body.page-home .itinerary-card div {
    gap: 10px;
  }

  body.page-home .itinerary-card a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
    line-height: 1.15;
  }

  body.page-home .itinerary-carousel .itinerary-card.fade-up,
  body.page-home .venue-card.fade-up {
    transition-duration: .28s;
  }

  body.page-home .itinerary-carousel .itinerary-card[class*="fade-up-delay"],
  body.page-home .venue-card[class*="fade-up-delay"] {
    transition-delay: 0s;
  }

  .cookie-consent {
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  .cookie-card {
    max-height: calc(100vh - 28px);
    overflow: auto;
    padding: 16px;
    border-radius: 16px;
  }

  .cookie-card__top {
    gap: 10px;
    margin-bottom: 8px;
  }

  .cookie-card__icon {
    width: 42px;
    height: 42px;
  }

  .cookie-card h2 {
    font-size: 1.2rem;
  }

  .cookie-card p {
    font-size: .88rem;
    line-height: 1.3;
  }

  .cookie-card__small {
    display: none;
  }

  .cookie-card__actions {
    gap: 8px;
    margin-top: 12px;
  }

  .cookie-btn {
    min-height: 42px;
    padding: 10px 12px;
  }
}
/* Offers and rewards page redesign styles */
body.page-offers .offers-save-intro,
body.page-offers .offers-sibling-section,
body.page-offers .offers-savings-section,
body.page-offers .offers-rewards-section,
body.page-offers .offers-important-section {
  margin-top: clamp(18px, 1.8vw, 28px);
  margin-bottom: 0;
}

body.page-offers .offers-save-intro {
  margin-top: 0;
}

body.page-offers .offers-savings-section {
  margin-top: clamp(42px, 4vw, 64px);
}

body.page-offers {
  --offers-card-shadow: 0 12px 30px rgba(21, 31, 109, .07);
  --offers-field-muted: #9aa3b5;
}

body.page-offers .offers-intro-panel,
body.page-offers .offers-sibling-panel,
body.page-offers .offers-support-card,
body.page-offers .offers-reward-card,
body.page-offers .offers-referral-card,
body.page-offers .offers-important-panel {
  position: relative;
  background: #fff;
  border: 1px solid #dfe3f4;
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(21, 31, 109, .07);
}

body.page-offers .offers-intro-panel {
  display: grid;
  grid-template-columns: clamp(86px, 8vw, 126px) minmax(0, 1fr) minmax(280px, 430px);
  gap: clamp(18px, 2.4vw, 38px);
  align-items: center;
  padding: clamp(24px, 3vw, 36px) clamp(28px, 4vw, 48px);
  overflow: hidden;
  background: linear-gradient(135deg, #fff, #f7f6ff);
}

body.page-offers .offers-intro-icon {
  width: clamp(78px, 7.6vw, 116px);
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--raspberry);
  box-shadow: 0 12px 26px rgba(21, 31, 109, .08);
}

body.page-offers .offers-intro-icon svg {
  width: 72%;
  height: 72%;
}

body.page-offers .offers-intro-copy h2,
body.page-offers .offers-important-title h2 {
  margin: 0 0 12px;
  color: #071885;
  font-size: clamp(1.45rem, 1.75vw, 2.35rem);
  line-height: 1.04;
  text-transform: lowercase;
}

body.page-offers .offers-intro-copy p,
body.page-offers .offers-support-card p,
body.page-offers .offers-reward-card p,
body.page-offers .offers-important-panel p {
  margin: 0;
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.9rem, .86vw, 1rem);
  line-height: 1.43;
}

body.page-offers .offers-support-card p + p,
body.page-offers .offers-reward-card p + p {
  margin-top: 10px;
}

body.page-offers .offers-intro-icons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 34px);
  align-items: center;
}

body.page-offers .offers-line-icon {
  display: grid;
  place-items: center;
  min-height: 96px;
}

body.page-offers .offers-line-icon svg {
  width: clamp(70px, 6.2vw, 102px);
  height: clamp(70px, 6.2vw, 102px);
}
body.page-offers .offers-save-intro .offers-intro-icon,
body.page-offers .offers-save-intro .offers-line-icon {
  position: relative;
  isolation: isolate;
  overflow: visible;
}

body.page-offers .offers-save-intro .offers-icon-pink {
  --offers-icon-delay: -.35s;
  --offers-icon-lift: -5px;
  --offers-icon-tilt: -2.2deg;
  --offers-icon-counter-tilt: 1.2deg;
}

body.page-offers .offers-save-intro .offers-line-lime {
  --offers-icon-delay: -1.15s;
  --offers-icon-lift: -6px;
  --offers-icon-tilt: 1.8deg;
  --offers-icon-counter-tilt: -1deg;
}

body.page-offers .offers-save-intro .offers-line-pink {
  --offers-icon-delay: -2.05s;
  --offers-icon-lift: -4px;
  --offers-icon-tilt: -1.4deg;
  --offers-icon-counter-tilt: .9deg;
}

body.page-offers .offers-save-intro .offers-line-blue {
  --offers-icon-delay: -2.85s;
  --offers-icon-lift: -7px;
  --offers-icon-tilt: 2.4deg;
  --offers-icon-counter-tilt: -1.3deg;
}

body.page-offers .offers-save-intro .offers-intro-icon img,
body.page-offers .offers-save-intro .offers-line-icon img {
  position: relative;
  z-index: 1;
  transform-origin: 50% 55%;
  will-change: transform, filter;
  filter: drop-shadow(0 8px 12px rgba(21, 31, 109, .1));
  animation: offersIconFloat 7.8s cubic-bezier(.42, 0, .2, 1) infinite;
  animation-delay: var(--offers-icon-delay, 0s);
}

body.page-offers .offers-save-intro .offers-intro-icon::before,
body.page-offers .offers-save-intro .offers-line-icon::before {
  content: "";
  position: absolute;
  inset: clamp(4px, .8vw, 10px);
  border-radius: 999px;
  opacity: .46;
  transform: scale(.86);
  filter: blur(8px);
  pointer-events: none;
  z-index: 0;
  animation: offersIconAura 7.8s ease-in-out infinite;
  animation-delay: var(--offers-icon-delay, 0s);
}

body.page-offers .offers-save-intro .offers-icon-pink::before,
body.page-offers .offers-save-intro .offers-line-pink::before {
  background: radial-gradient(circle at 50% 55%, rgba(210, 15, 140, .2), rgba(210, 15, 140, .08) 42%, transparent 72%);
}

body.page-offers .offers-save-intro .offers-line-lime::before {
  background: radial-gradient(circle at 50% 55%, rgba(178, 210, 53, .24), rgba(178, 210, 53, .1) 42%, transparent 72%);
}

body.page-offers .offers-save-intro .offers-line-blue::before {
  background: radial-gradient(circle at 50% 55%, rgba(46, 138, 239, .2), rgba(46, 138, 239, .08) 42%, transparent 72%);
}

body.page-offers .offers-save-intro .offers-intro-icon::after,
body.page-offers .offers-save-intro .offers-line-icon::after {
  content: "";
  position: absolute;
  top: 19%;
  right: 18%;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow:
    -27px 14px 0 -3px currentColor,
    18px 44px 0 -3px currentColor;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  animation: offersIconTwinkle 5.2s ease-in-out infinite;
  animation-delay: var(--offers-icon-delay, 0s);
}

@keyframes offersIconFloat {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    filter: drop-shadow(0 8px 12px rgba(21, 31, 109, .1));
  }

  30% {
    transform: translate3d(0, var(--offers-icon-lift, -5px), 0) rotate(var(--offers-icon-tilt, 2deg)) scale(1.035);
    filter: drop-shadow(0 14px 18px rgba(21, 31, 109, .14));
  }

  62% {
    transform: translate3d(0, 2px, 0) rotate(var(--offers-icon-counter-tilt, -1deg)) scale(.992);
    filter: drop-shadow(0 7px 10px rgba(21, 31, 109, .08));
  }
}

@keyframes offersIconAura {
  0%, 100% {
    opacity: .28;
    transform: scale(.86);
  }

  38% {
    opacity: .62;
    transform: scale(1.08);
  }

  72% {
    opacity: .36;
    transform: scale(.94);
  }
}

@keyframes offersIconTwinkle {
  0%, 16%, 100% {
    opacity: 0;
    transform: translate3d(0, 6px, 0) scale(.55);
  }

  28%, 42% {
    opacity: .34;
    transform: translate3d(0, 0, 0) scale(1);
  }

  56% {
    opacity: 0;
    transform: translate3d(0, -5px, 0) scale(.7);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-offers .offers-save-intro .offers-intro-icon img,
  body.page-offers .offers-save-intro .offers-line-icon img,
  body.page-offers .offers-save-intro .offers-intro-icon::before,
  body.page-offers .offers-save-intro .offers-line-icon::before,
  body.page-offers .offers-save-intro .offers-intro-icon::after,
  body.page-offers .offers-save-intro .offers-line-icon::after {
    animation: none;
  }
}

body.page-offers .offers-line-lime {
  color: #8bb400;
}

body.page-offers .offers-line-pink {
  color: var(--raspberry);
}

body.page-offers .offers-line-blue {
  color: var(--sky);
}

body.page-offers .offers-sibling-panel {
  min-height: clamp(286px, 22vw, 360px);
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .82fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: center;
  padding: clamp(28px, 3.4vw, 46px) clamp(34px, 4.2vw, 56px);
  overflow: hidden;
  border-color: #1d9df3;
}

body.page-offers .offers-sibling-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 52%, rgba(46, 138, 239, .08) 0 170px, transparent 171px),
    radial-gradient(circle at 16% 20%, rgba(255, 255, 255, .9), transparent 230px);
  pointer-events: none;
}

body.page-offers .offers-sibling-copy,
body.page-offers .offers-sibling-art {
  position: relative;
  z-index: 1;
}

body.page-offers .offers-sibling-copy h2 {
  margin: 0 0 22px;
  color: #071885;
  font-size: clamp(2.2rem, 3.4vw, 4.15rem);
  line-height: .92;
  text-transform: lowercase;
}

body.page-offers .offers-sibling-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

body.page-offers .offers-sibling-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  color: #161b2f;
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: clamp(1.05rem, 1.16vw, 1.4rem);
  line-height: 1.2;
}

body.page-offers .offers-sibling-list strong {
  font-family: GilroyRegular, Arial, sans-serif;
  font-weight: 400;
  color: #161b2f;
}

body.page-offers .offers-sibling-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
}

body.page-offers .offers-sibling-icon svg {
  width: 100%;
  height: 100%;
}

body.page-offers .offers-sibling-blue {
  color: var(--sky);
}

body.page-offers .offers-sibling-pink {
  color: var(--raspberry);
}

body.page-offers .offers-sibling-lime {
  color: #8bb400;
}

body.page-offers .offers-sibling-star {
  color: #8d35ff;
}

body.page-offers .offers-child-sketch {
  width: min(100%, 520px);
  height: auto;
  display: block;
  margin-left: auto;
}

body.page-offers .offers-sibling-panel-premium {
  min-height: clamp(420px, 32vw, 520px);
  grid-template-columns: minmax(0, .88fr) minmax(430px, .82fr);
  gap: clamp(30px, 4vw, 70px);
  padding: clamp(34px, 4.4vw, 64px);
  border: 1px solid #dfe3f4;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(21, 31, 109, .08);
}

body.page-offers .offers-sibling-panel-premium::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 25px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,249,255,.72));
  z-index: 0;
  pointer-events: none;
}

body.page-offers .offers-sibling-panel-premium::after {
  content: "";
  position: absolute;
  right: clamp(20px, 3vw, 52px);
  top: clamp(18px, 2vw, 34px);
  width: clamp(126px, 12vw, 190px);
  aspect-ratio: 1;
  background: radial-gradient(var(--satsuma) 2px, transparent 3px) 0 0 / 18px 18px;
  opacity: .55;
  mask-image: radial-gradient(circle, #000 0 58%, transparent 59%);
  z-index: 0;
  pointer-events: none;
}

body.page-offers .offers-sibling-panel-premium .offers-sibling-copy,
body.page-offers .offers-sibling-panel-premium .offers-sibling-art {
  position: relative;
  z-index: 2;
}

body.page-offers .offers-sibling-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(210, 15, 140, .18);
  border-radius: 999px;
  background: #fff5fb;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .82rem;
  line-height: 1;
  text-transform: uppercase;
}

body.page-offers .offers-sibling-kicker svg {
  width: 18px;
  height: 18px;
}

body.page-offers .offers-sibling-panel-premium .offers-sibling-copy h2 {
  max-width: 680px;
  margin: 0;
  color: #071885;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: .9;
  letter-spacing: 0;
}

body.page-offers .offers-sibling-lede {
  max-width: 620px;
  margin: clamp(14px, 1.4vw, 22px) 0 clamp(20px, 2vw, 30px);
  color: #24306f;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.98rem, 1vw, 1.12rem);
  line-height: 1.42;
}

body.page-offers .offers-sibling-tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1vw, 16px);
  max-width: 660px;
}

body.page-offers .offers-sibling-tier {
  position: relative;
  min-height: 132px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(218, 221, 240, .92);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.82) 0 62px, transparent 63px),
    #fff;
  box-shadow: 0 14px 30px rgba(21, 31, 109, .08);
  overflow: hidden;
}

body.page-offers .offers-sibling-tier::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: currentColor;
}

body.page-offers .offers-sibling-tier .offers-sibling-icon {
  width: 42px;
  height: 42px;
}

body.page-offers .offers-sibling-tier strong,
body.page-offers .offers-sibling-tier span:not(.offers-sibling-icon) {
  display: block;
}

body.page-offers .offers-sibling-tier strong {
  color: #071885;
  font-size: clamp(.95rem, .9vw, 1.08rem);
  line-height: 1;
}

body.page-offers .offers-sibling-tier span:not(.offers-sibling-icon) {
  margin-top: 8px;
  color: #141a38;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1.02rem, 1.08vw, 1.28rem);
  line-height: 1.05;
  white-space: nowrap;
}

body.page-offers .offers-sibling-tier-blue {
  color: var(--sky);
}

body.page-offers .offers-sibling-tier-pink {
  color: var(--raspberry);
}

body.page-offers .offers-sibling-tier-lime {
  color: #8bb400;
}

body.page-offers .offers-sibling-note {
  max-width: 660px;
  min-height: 72px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: clamp(14px, 1.5vw, 22px);
  padding: 14px 18px;
  border: 1px solid rgba(143, 66, 255, .18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(143, 66, 255, .08), rgba(255, 255, 255, .95)),
    #fff;
  box-shadow: 0 12px 28px rgba(21, 31, 109, .06);
}

body.page-offers .offers-sibling-note-star {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #8f42ff;
}

body.page-offers .offers-sibling-note-star svg {
  width: 100%;
  height: 100%;
}

body.page-offers .offers-sibling-note strong {
  color: #071885;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.94rem, .92vw, 1.06rem);
  line-height: 1.3;
}

body.page-offers .offers-sibling-art-premium {
  align-self: center;
}

body.page-offers .offers-sibling-visual-card {
  position: relative;
  width: min(100%, 600px);
  margin-left: auto;
  padding: clamp(14px, 1.5vw, 22px);
  border: 1px solid rgba(218, 221, 240, .78);
  border-radius: 32px;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 228, 244, .72), transparent 34%),
    radial-gradient(circle at 84% 12%, rgba(223, 241, 255, .72), transparent 36%),
    radial-gradient(circle at 78% 88%, rgba(243, 250, 221, .62), transparent 36%),
    linear-gradient(135deg, rgba(255, 252, 255, .96), rgba(248, 252, 255, .86));
  box-shadow:
    0 26px 52px rgba(21, 31, 109, .12),
    inset 0 1px 0 rgba(255,255,255,.85);
  overflow: hidden;
  transform: scale(.84);
  transform-origin: right bottom;
}

body.page-offers .offers-sibling-visual-card::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 24px;
  border: 1px dashed rgba(40, 58, 151, .13);
  pointer-events: none;
}

body.page-offers .offers-sibling-orbit {
  position: absolute;
  border-radius: 999px;
  border: 2px solid rgba(46, 138, 239, .14);
  pointer-events: none;
}

body.page-offers .offers-sibling-orbit-one {
  right: -42px;
  top: 38px;
  width: 180px;
  height: 180px;
}

body.page-offers .offers-sibling-orbit-two {
  left: -54px;
  bottom: 18px;
  width: 156px;
  height: 156px;
  border-color: rgba(210, 15, 140, .12);
}

body.page-offers .offers-sibling-savings-badge {
  position: absolute;
  left: clamp(10px, 1.1vw, 16px);
  top: clamp(10px, 1.1vw, 16px);
  z-index: 3;
  width: clamp(72px, 5.5vw, 86px);
  height: clamp(72px, 5.5vw, 86px);
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--raspberry), #ff4aa5);
  color: #fff;
  box-shadow: 0 18px 34px rgba(210, 15, 140, .24);
  transform: rotate(-8deg);
}

body.page-offers .offers-sibling-savings-badge strong,
body.page-offers .offers-sibling-savings-badge small {
  display: block;
  color: #fff;
  text-align: center;
}

body.page-offers .offers-sibling-savings-badge strong {
  font-size: clamp(.92rem, 1vw, 1.08rem);
  line-height: .9;
  text-transform: lowercase;
}

body.page-offers .offers-sibling-savings-badge small {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.54rem, .58vw, .64rem);
  line-height: 1.1;
}

body.page-offers .offers-family-premium-sketch {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

body.page-offers .offers-section-title {
  display: block;
  margin-bottom: 20px;
  text-align: center;
}

body.page-offers .offers-section-title::before,
body.page-offers .offers-section-title::after {
  content: none;
}

body.page-offers .offers-section-title h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #071885;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: 1;
  text-transform: lowercase;
}

body.page-offers .offers-section-title h2::before,
body.page-offers .offers-section-title h2::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}

body.page-offers .offers-section-title h2::before {
  right: calc(100% + 18px);
  background-image: url("../images/header-text-bars-left-pink.png");
}

body.page-offers .offers-section-title h2::after {
  left: calc(100% + 18px);
  background-image: url("../images/header-text-bars-right-pink.png");
}

body.page-offers .offers-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.5vw, 24px);
}

body.page-offers .offers-support-card {
  min-height: 232px;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(22px, 2vw, 28px);
}

body.page-offers .offers-support-card.offers-card-green {
  border-color: rgba(178, 210, 53, .24);
  background: linear-gradient(135deg, #ffffff 0%, #fbfff2 100%);
}

body.page-offers .offers-support-card.offers-card-purple {
  border-color: rgba(108, 34, 232, .18);
  background: linear-gradient(135deg, #ffffff 0%, #faf7ff 100%);
}

body.page-offers .offers-support-card.offers-card-pink {
  border-color: rgba(210, 15, 140, .18);
  background: linear-gradient(135deg, #ffffff 0%, #fff7fc 100%);
}

body.page-offers .offers-support-card.offers-card-bright {
  border-color: rgba(243, 113, 33, .18);
  background: linear-gradient(135deg, #ffffff 0%, #fffaf2 100%);
}

body.page-offers .offers-support-card.offers-card-blue {
  border-color: rgba(46, 138, 239, .20);
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%);
}

body.page-offers .offers-support-card h3,
body.page-offers .offers-reward-card h3,
body.page-offers .offers-referral-card h3 {
  margin: 0 0 10px;
  color: #071885;
  font-size: clamp(1.05rem, 1.15vw, 1.38rem);
  line-height: 1.05;
  text-transform: lowercase;
}

body.page-offers .offers-support-card h3 span {
  display: block;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .72em;
  line-height: 1.18;
}

body.page-offers .offers-card-icon,
body.page-offers .offers-sun-icon,
body.page-offers .offers-reward-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 12px 24px rgba(21, 31, 109, .09);
}

body.page-offers .offers-card-icon svg,
body.page-offers .offers-sun-icon svg,
body.page-offers .offers-reward-icon svg {
  width: 58%;
  height: 58%;
}

body.page-offers .offers-support-card {
  --offers-icon-ring: rgba(178, 210, 53, .34);
  --offers-icon-aura: rgba(178, 210, 53, .24);
  --offers-icon-shadow: rgba(178, 210, 53, .18);
}

body.page-offers .offers-support-card .offers-card-icon,
body.page-offers .offers-support-card .offers-sun-icon {
  position: relative;
  isolation: isolate;
  overflow: visible;
  animation: offersSupportIconFloat 5.2s ease-in-out infinite;
  box-shadow:
    0 13px 26px rgba(21, 31, 109, .10),
    0 0 0 0 var(--offers-icon-aura);
  transition: filter .24s ease, box-shadow .24s ease, transform .24s ease;
}

body.page-offers .offers-support-card .offers-card-icon::before,
body.page-offers .offers-support-card .offers-sun-icon::before {
  content: "";
  position: absolute;
  inset: -9px;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--offers-icon-aura) 0 36%, transparent 68%),
    conic-gradient(from 90deg, transparent 0 18%, var(--offers-icon-ring) 22% 36%, transparent 42% 100%);
  opacity: .72;
  transform: scale(.9);
  animation: offersSupportIconAura 3.1s ease-in-out infinite;
}

body.page-offers .offers-support-card .offers-card-icon::after,
body.page-offers .offers-support-card .offers-sun-icon::after {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 50%;
  background: linear-gradient(120deg, transparent 8%, rgba(255,255,255,.44) 42%, transparent 68%);
  opacity: 0;
  transform: translateX(-130%) rotate(20deg);
  pointer-events: none;
  animation: offersSupportIconShine 5.2s ease-in-out infinite;
}

body.page-offers .offers-support-card .offers-card-icon svg,
body.page-offers .offers-support-card .offers-sun-icon svg {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.08));
  transform-origin: center;
  animation: offersSupportGlyphPulse 5.2s ease-in-out infinite;
}

body.page-offers .offers-support-card:nth-child(2) .offers-card-icon,
body.page-offers .offers-support-card:nth-child(2) .offers-card-icon::before,
body.page-offers .offers-support-card:nth-child(2) .offers-card-icon::after,
body.page-offers .offers-support-card:nth-child(2) .offers-card-icon svg {
  animation-delay: .35s;
}

body.page-offers .offers-support-card:nth-child(3) .offers-card-icon,
body.page-offers .offers-support-card:nth-child(3) .offers-card-icon::before,
body.page-offers .offers-support-card:nth-child(3) .offers-card-icon::after,
body.page-offers .offers-support-card:nth-child(3) .offers-card-icon svg {
  animation-delay: .7s;
}

body.page-offers .offers-support-card:nth-child(4) .offers-card-icon,
body.page-offers .offers-support-card:nth-child(4) .offers-card-icon::before,
body.page-offers .offers-support-card:nth-child(4) .offers-card-icon::after,
body.page-offers .offers-support-card:nth-child(4) .offers-card-icon svg {
  animation-delay: 1.05s;
}

body.page-offers .offers-support-card:nth-child(5) .offers-sun-icon,
body.page-offers .offers-support-card:nth-child(5) .offers-sun-icon::before,
body.page-offers .offers-support-card:nth-child(5) .offers-sun-icon::after,
body.page-offers .offers-support-card:nth-child(5) .offers-sun-icon svg {
  animation-delay: 1.4s;
}

body.page-offers .offers-support-card:nth-child(6) .offers-card-icon,
body.page-offers .offers-support-card:nth-child(6) .offers-card-icon::before,
body.page-offers .offers-support-card:nth-child(6) .offers-card-icon::after,
body.page-offers .offers-support-card:nth-child(6) .offers-card-icon svg {
  animation-delay: 1.75s;
}

body.page-offers .offers-support-card:hover .offers-card-icon,
body.page-offers .offers-support-card:hover .offers-sun-icon {
  animation: none;
  transform: translateY(-6px) scale(1.06);
  filter: saturate(1.08);
  box-shadow:
    0 18px 34px rgba(21, 31, 109, .14),
    0 0 0 9px var(--offers-icon-aura);
}

body.page-offers .offers-support-card:hover .offers-card-icon svg,
body.page-offers .offers-support-card:hover .offers-sun-icon svg {
  animation: none;
  transform: scale(1.05);
}

body.page-offers .offers-card-green .offers-card-icon {
  background: linear-gradient(135deg, #7aa300, #93bd07);
}

body.page-offers .offers-card-green {
  --offers-icon-ring: rgba(147, 189, 7, .38);
  --offers-icon-aura: rgba(178, 210, 53, .24);
  --offers-icon-shadow: rgba(122, 163, 0, .18);
}

body.page-offers .offers-card-purple .offers-card-icon {
  background: linear-gradient(135deg, #4e12e8, #7836ff);
}

body.page-offers .offers-card-purple {
  --offers-icon-ring: rgba(120, 54, 255, .34);
  --offers-icon-aura: rgba(120, 54, 255, .20);
  --offers-icon-shadow: rgba(78, 18, 232, .18);
}

body.page-offers .offers-card-pink .offers-card-icon {
  background: linear-gradient(135deg, #ff0b72, #d20f8c);
}

body.page-offers .offers-card-pink {
  --offers-icon-ring: rgba(255, 11, 114, .34);
  --offers-icon-aura: rgba(210, 15, 140, .19);
  --offers-icon-shadow: rgba(210, 15, 140, .18);
}

body.page-offers .offers-card-blue .offers-card-icon {
  background: linear-gradient(135deg, #0476d9, #2e8aef);
}

body.page-offers .offers-card-blue {
  --offers-icon-ring: rgba(46, 138, 239, .36);
  --offers-icon-aura: rgba(46, 138, 239, .20);
  --offers-icon-shadow: rgba(4, 118, 217, .18);
}

body.page-offers .offers-sun-icon {
  background: linear-gradient(135deg, #ff9b21, #f37121);
  color: #fff;
}

body.page-offers .offers-card-bright {
  --offers-icon-ring: rgba(243, 113, 33, .34);
  --offers-icon-aura: rgba(243, 113, 33, .18);
  --offers-icon-shadow: rgba(243, 113, 33, .18);
}

@keyframes offersSupportIconFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  48% {
    transform: translateY(-5px) rotate(-1.6deg);
  }
}

@keyframes offersSupportIconAura {
  0%, 100% {
    opacity: .38;
    transform: scale(.9) rotate(0deg);
  }
  50% {
    opacity: .8;
    transform: scale(1.12) rotate(28deg);
  }
}

@keyframes offersSupportIconShine {
  0%, 58%, 100% {
    opacity: 0;
    transform: translateX(-130%) rotate(20deg);
  }
  70% {
    opacity: .62;
  }
  84% {
    opacity: 0;
    transform: translateX(130%) rotate(20deg);
  }
}

@keyframes offersSupportGlyphPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.07);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-offers .offers-support-card .offers-card-icon,
  body.page-offers .offers-support-card .offers-sun-icon,
  body.page-offers .offers-support-card .offers-card-icon::before,
  body.page-offers .offers-support-card .offers-sun-icon::before,
  body.page-offers .offers-support-card .offers-card-icon::after,
  body.page-offers .offers-support-card .offers-sun-icon::after,
  body.page-offers .offers-support-card .offers-card-icon svg,
  body.page-offers .offers-support-card .offers-sun-icon svg {
    animation: none;
    transition: none;
  }
}

body.page-offers .offers-email-link,
body.page-offers .offers-support-card a {
  color: #071885;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.86rem, .8vw, .95rem);
  line-height: 1.25;
}

body.page-offers .offers-email-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
}

body.page-offers .offers-email-link svg {
  width: 20px;
  height: 20px;
  color: #6c22e8;
}

body.page-offers .offers-partner-box {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid rgba(210, 15, 140, .18);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(255, 245, 251, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 12px 28px rgba(21, 31, 109, .06);
}

body.page-offers .offers-partner-logo {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 8px 10px;
  border: 1px solid rgba(21, 31, 109, .08);
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
}

body.page-offers .offers-partner-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 42px;
  object-fit: contain;
}

body.page-offers .offers-bright-logo {
  display: inline-flex;
  align-items: end;
  gap: 8px;
  margin-top: 12px;
  color: #1a4f5f;
  font-family: GilroyBold, Arial, sans-serif;
}

body.page-offers .offers-bright-logo span {
  width: 38px;
  height: 24px;
  background:
    radial-gradient(circle at 50% 100%, #fbb900 0 14px, transparent 15px),
    linear-gradient(#fbb900, #fbb900) 0 20px / 38px 4px no-repeat;
}

body.page-offers .offers-rewards-grid {
  display: grid;
  grid-template-columns: 1.05fr .75fr 1.12fr;
  gap: clamp(16px, 1.5vw, 24px);
  align-items: stretch;
}

body.page-offers .offers-reward-card,
body.page-offers .offers-referral-card {
  min-height: 362px;
  padding: clamp(22px, 2vw, 28px);
  overflow: hidden;
}

body.page-offers .offers-recommend-card {
  border-color: rgba(210, 15, 140, .42);
  background: linear-gradient(135deg, #fff, #fff5fb);
}

body.page-offers .offers-loyalty-card {
  border-color: rgba(243, 113, 33, .48);
  background: linear-gradient(135deg, #fff, #fff8f1);
}

body.page-offers .offers-referral-card {
  border-color: rgba(210, 15, 140, .28);
  background: linear-gradient(135deg, #fff, #fff7fc);
}

body.page-offers .offers-card-heading-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

body.page-offers .offers-card-heading-row h3,
body.page-offers .offers-referral-card h3 {
  margin: 0;
  color: #071885;
}

body.page-offers .offers-referral-card h3 {
  color: var(--raspberry);
  margin-bottom: 14px;
}

body.page-offers .offers-reward-icon {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
}

body.page-offers .offers-reward-pink {
  background: var(--raspberry);
}

body.page-offers .offers-reward-orange {
  background: var(--satsuma);
}

body.page-offers .offers-tick-list,
body.page-offers .offers-dot-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.78rem, .72vw, .88rem);
  line-height: 1.28;
}

body.page-offers .offers-tick-list li,
body.page-offers .offers-dot-list li {
  position: relative;
  padding-left: 24px;
}

body.page-offers .offers-tick-list li::before,
body.page-offers .offers-dot-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--raspberry);
}

body.page-offers .offers-tick-list li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: .48em;
  width: 6px;
  height: 3px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

body.page-offers .offers-dot-list li::before {
  background: var(--satsuma);
  box-shadow: inset 0 0 0 4px #fff;
  border: 2px solid var(--satsuma);
}

body.page-offers .offers-family-mini {
  position: absolute;
  right: 24px;
  bottom: 70px;
  width: 96px;
  height: auto;
  color: var(--raspberry);
  opacity: .95;
}

body.page-offers .offers-card-btn,
body.page-offers .offers-referral-form button {
  min-height: 42px;
  border-radius: 7px;
  border: 2px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .9rem;
  line-height: 1;
}

body.page-offers .offers-card-btn {
  margin-top: 20px;
  color: var(--raspberry);
  background: #fff;
}

body.page-offers .offers-card-btn svg,
body.page-offers .offers-referral-form button svg {
  width: 18px;
  height: 18px;
}

body.page-offers .offers-referral-form {
  display: grid;
  gap: 9px;
}

body.page-offers .offers-referral-form label {
  display: grid;
}

body.page-offers .offers-referral-form label.offers-field-with-icon {
  position: relative;
}

body.page-offers .offers-referral-form label.is-required {
  position: relative;
}

body.page-offers .offers-referral-form label.is-required::after {
  content: "*";
  color: rgba(210, 15, 140, .62);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .98rem;
  line-height: 1;
  position: absolute;
  right: 16px;
  top: 11px;
  z-index: 3;
}

body.page-offers .offers-referral-form label span {
  position: absolute;
  left: -9999px;
}

body.page-offers .offers-referral-form label.offers-field-with-icon .offers-field-icon {
  align-items: center;
  background: #f1f4ff;
  border: 1px solid rgba(21, 31, 109, .08);
  border-radius: 12px;
  box-shadow: 0 8px 16px rgba(21, 31, 109, .055);
  color: var(--blackberry);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  left: 13px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  z-index: 3;
}

body.page-offers .offers-referral-form label.offers-field-with-icon .offers-field-icon svg {
  display: block;
  flex: 0 0 auto;
  height: 18px;
  stroke-width: 2.25;
  width: 18px;
}

body.page-offers .offers-referral-form input,
body.page-offers .offers-referral-form select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d3d8ec;
  border-radius: 6px;
  padding: 9px 12px;
  background: #fff;
  color: var(--blackberry);
  font-family: GilroyRegular, Arial, sans-serif;
  font-size: .9rem;
}

body.page-offers .offers-referral-form label.is-required input {
  padding-right: 42px;
}

body.page-offers .offers-referral-form label.offers-field-with-icon input,
body.page-offers .offers-referral-form label.offers-field-with-icon select {
  padding-left: 60px;
}

body.page-offers .offers-referral-form label.offers-select-field::after {
  border-bottom: 2px solid var(--blackberry);
  border-right: 2px solid var(--blackberry);
  content: "";
  height: 9px;
  pointer-events: none;
  position: absolute;
  right: 19px;
  top: 50%;
  transform: translateY(-62%) rotate(45deg);
  width: 9px;
  z-index: 3;
}

body.page-offers .offers-referral-form label.offers-field-with-icon:hover .offers-field-icon,
body.page-offers .offers-referral-form label.offers-field-with-icon:focus-within .offers-field-icon {
  background: #fff1fa;
  border-color: rgba(210, 15, 140, .22);
  box-shadow: 0 10px 20px rgba(210, 15, 140, .1);
  color: var(--raspberry);
}

body.page-offers .offers-referral-form button {
  width: 100%;
  margin-top: 4px;
  border: 0;
  background: var(--raspberry);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(210, 15, 140, .18);
}

body.page-offers .offers-stamp-card {
  --offers-stamp-tilt: 5deg;
  position: absolute;
  right: clamp(22px, 2vw, 32px);
  bottom: clamp(22px, 2vw, 32px);
  width: 124px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  padding: 14px;
  border: 3px solid var(--satsuma);
  border-radius: 8px;
  color: var(--satsuma);
  background: #fff;
  transform: rotate(var(--offers-stamp-tilt));
  transform-origin: center;
  box-shadow: 0 12px 24px rgba(21, 31, 109, .08);
  animation: offersStampCardFloat 5.8s ease-in-out infinite;
}

body.page-offers .offers-stamp-card::before,
body.page-offers .offers-stamp-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

body.page-offers .offers-stamp-card::before {
  right: -50px;
  top: -34px;
  width: 48px;
  height: 66px;
  background: url("../images/orange_bars.svg") center / contain no-repeat;
  transform: rotate(-26deg);
  transform-origin: 14% 50%;
  animation: offersStampBarsPulse 2.7s ease-in-out infinite;
}

body.page-offers .offers-stamp-card::after {
  content: none;
}

body.page-offers .offers-stamp-card strong {
  grid-column: 1 / -1;
  color: var(--satsuma);
  font-size: .88rem;
  line-height: .84;
  text-transform: lowercase;
}

body.page-offers .offers-stamp-card span {
  --offers-stamp-delay: 0s;
  position: relative;
  aspect-ratio: 1;
  border: 2px solid var(--satsuma);
  border-radius: 50%;
  background: #fff;
  overflow: hidden;
  box-shadow: inset 0 0 0 0 rgba(243, 113, 33, 0);
  animation: offersStampCircleGlow 9.8s ease-in-out infinite;
  animation-delay: var(--offers-stamp-delay);
}

body.page-offers .offers-stamp-card span::before {
  content: "\2605";
  position: absolute;
  inset: -1px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #ff9c42 0%, var(--satsuma) 68%);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  opacity: 0;
  transform: scale(.34) rotate(-80deg);
  animation: offersStampStarVisit 9.8s cubic-bezier(.2,.78,.28,1) infinite;
  animation-delay: var(--offers-stamp-delay);
}

body.page-offers .offers-stamp-card .is-star {
  background: #fff;
}

body.page-offers .offers-stamp-card .is-star::before {
  content: "\2605";
}

body.page-offers .offers-stamp-card span:nth-of-type(1) { --offers-stamp-delay: 0s; }
body.page-offers .offers-stamp-card span:nth-of-type(2) { --offers-stamp-delay: .58s; }
body.page-offers .offers-stamp-card span:nth-of-type(3) { --offers-stamp-delay: 1.16s; }
body.page-offers .offers-stamp-card span:nth-of-type(4) { --offers-stamp-delay: 1.74s; }
body.page-offers .offers-stamp-card span:nth-of-type(5) { --offers-stamp-delay: 2.32s; }
body.page-offers .offers-stamp-card span:nth-of-type(6) { --offers-stamp-delay: 2.9s; }
body.page-offers .offers-stamp-card span:nth-of-type(7) { --offers-stamp-delay: 3.48s; }
body.page-offers .offers-stamp-card span:nth-of-type(8) { --offers-stamp-delay: 4.06s; }
body.page-offers .offers-stamp-card span:nth-of-type(9) { --offers-stamp-delay: 4.64s; }

@keyframes offersStampCardFloat {
  0%, 100% {
    transform: rotate(var(--offers-stamp-tilt)) translate3d(0, 0, 0);
    filter: drop-shadow(0 10px 12px rgba(243, 113, 33, .08));
  }
  45% {
    transform: rotate(calc(var(--offers-stamp-tilt) - 1.4deg)) translate3d(0, -6px, 0);
    filter: drop-shadow(0 16px 18px rgba(243, 113, 33, .15));
  }
}

@keyframes offersStampBarsPulse {
  0%, 100% {
    opacity: .76;
    transform: rotate(-26deg) translate3d(0, 0, 0) scale(1);
  }
  50% {
    opacity: 1;
    transform: rotate(-31deg) translate3d(4px, -2px, 0) scale(1.08);
  }
}

@keyframes offersStampCircleGlow {
  0%, 7%, 100% {
    box-shadow: inset 0 0 0 0 rgba(243, 113, 33, 0), 0 0 0 rgba(243, 113, 33, 0);
  }
  10%, 18% {
    box-shadow: inset 0 0 0 20px rgba(243, 113, 33, .10), 0 8px 18px rgba(243, 113, 33, .18);
  }
  24% {
    box-shadow: inset 0 0 0 0 rgba(243, 113, 33, 0), 0 0 0 rgba(243, 113, 33, 0);
  }
}

@keyframes offersStampStarVisit {
  0%, 7%, 100% {
    opacity: 0;
    transform: scale(.34) rotate(-80deg);
  }
  10%, 18% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
  24% {
    opacity: 0;
    transform: scale(.52) rotate(56deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-offers .offers-stamp-card,
  body.page-offers .offers-stamp-card::before,
  body.page-offers .offers-stamp-card span,
  body.page-offers .offers-stamp-card span::before {
    animation: none !important;
  }

  body.page-offers .offers-stamp-card .is-star {
    background: var(--satsuma);
  }

  body.page-offers .offers-stamp-card .is-star::before {
    opacity: 1;
    transform: none;
  }
}

body.page-offers .offers-loyalty-card .offers-dot-list {
  width: calc(100% - 150px);
}

body.page-offers .offers-important-panel {
  min-height: 86px;
  display: grid;
  grid-template-columns: 1.25fr 1fr 1.18fr 1.05fr 1.3fr;
  align-items: center;
  gap: 18px;
  padding: 18px 26px;
  border-color: rgba(206, 174, 21, .45);
  background: #fffdf4;
  box-shadow: 0 10px 24px rgba(21, 31, 109, .05);
}

body.page-offers .offers-important-title {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
}

body.page-offers .offers-important-title span {
  width: 58px;
  height: 58px;
  color: #d6ad00;
}

body.page-offers .offers-important-title svg {
  width: 100%;
  height: 100%;
}

body.page-offers .offers-important-title h2 {
  margin: 0;
  font-size: clamp(1rem, 1.05vw, 1.22rem);
}

body.page-offers .offers-important-panel p {
  position: relative;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 20px;
  border-left: 1px solid rgba(206, 174, 21, .45);
  font-size: clamp(.78rem, .72vw, .88rem);
}

body.page-offers .offers-important-panel p > span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #7fac00;
  position: relative;
}

body.page-offers .offers-important-panel p > span::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 7px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

body.page-offers .offers-important-contact {
  align-items: flex-start;
}

body.page-offers .offers-important-contact svg {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  color: #071885;
}

body.page-offers .offers-important-contact a {
  display: block;
  color: #071885;
  font-family: GilroyBold, Arial, sans-serif;
}

body.page-offers .offers-tools-section {
  margin-top: clamp(18px, 1.8vw, 28px);
  margin-bottom: 0;
}

body.page-offers .offers-sibling-panel-premium,
body.page-offers .offers-friend-feature,
body.page-offers .offers-referral-card-premium,
body.page-offers .offers-loyalty-card-premium,
body.page-offers .offers-important-panel-premium {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 22px 54px rgba(21, 31, 109, .12);
}

body.page-offers .offers-blob {
  --blob-x1: 10px;
  --blob-y1: -8px;
  --blob-x2: -8px;
  --blob-y2: 12px;
  --blob-r1: 6deg;
  --blob-r2: -7deg;
  --blob-s1: 1.08;
  --blob-s2: .94;
  position: absolute;
  display: block;
  aspect-ratio: 1;
  border-radius: 58% 42% 52% 48% / 44% 56% 40% 60%;
  pointer-events: none;
  z-index: 0;
  will-change: transform, border-radius;
  animation: offersOrganicBlob 15s ease-in-out infinite;
}

body.page-offers .offers-blob::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: inherit;
  background: rgba(255,255,255,.16);
  filter: blur(8px);
  opacity: .45;
}

body.page-offers .offers-blob-sibling-pink {
  left: 0;
  top: 0;
  translate: -16% -36%;
  width: clamp(132px, 12.4vw, 195px);
  background: rgba(210, 15, 140, .085);
  animation-duration: 17s;
}

body.page-offers .offers-blob-sibling-blue {
  --blob-x1: -12px;
  --blob-y1: -10px;
  --blob-x2: 14px;
  --blob-y2: 8px;
  right: 0;
  bottom: 0;
  translate: 34% 34%;
  width: clamp(157px, 14.1vw, 248px);
  background: rgba(46, 138, 239, .085);
  animation-duration: 19s;
  animation-delay: -5s;
}

body.page-offers .offers-blob-friend-pink {
  left: 0;
  top: 0;
  translate: -42% -40%;
  width: clamp(182px, 14.9vw, 257px);
  background: rgba(210,15,140,.095);
  animation-duration: 18s;
  animation-delay: -2s;
}

body.page-offers .offers-blob-friend-purple {
  --blob-x1: -12px;
  --blob-y1: -10px;
  --blob-x2: 14px;
  --blob-y2: 8px;
  right: 0;
  bottom: 0;
  translate: 32% 34%;
  width: clamp(174px, 14.9vw, 248px);
  background: rgba(178,210,53,.13);
  animation-duration: 16s;
  animation-delay: -7s;
}

body.page-offers .offers-blob-referral-pink {
  --blob-x1: -10px;
  --blob-y1: 12px;
  --blob-x2: 8px;
  --blob-y2: -10px;
  right: 0;
  top: 0;
  translate: 30% -36%;
  width: clamp(141px, 11.6vw, 195px);
  background: rgba(210,15,140,.075);
  animation-duration: 18.5s;
  animation-delay: -4s;
}

body.page-offers .offers-blob-loyalty-orange {
  --blob-x1: -12px;
  --blob-y1: -12px;
  --blob-x2: 12px;
  --blob-y2: 10px;
  right: 0;
  bottom: 0;
  translate: 35% 34%;
  width: clamp(174px, 14.9vw, 257px);
  background: rgba(243,113,33,.085);
  animation-duration: 17.5s;
  animation-delay: -6s;
}

body.page-offers .offers-blob-important-left {
  --blob-x1: 12px;
  --blob-y1: 8px;
  --blob-x2: -10px;
  --blob-y2: -12px;
  left: 0;
  top: 0;
  translate: -18% -36%;
  width: clamp(157px, 12.4vw, 222px);
  background: rgba(255, 227, 104, .25);
  animation-duration: 18s;
  animation-delay: -1s;
}

body.page-offers .offers-blob-important-contact {
  --blob-x1: -10px;
  --blob-y1: 8px;
  --blob-x2: 12px;
  --blob-y2: -8px;
  right: clamp(210px, 19vw, 300px);
  top: 22px;
  width: clamp(98px, 8.3vw, 141px);
  background: rgba(255, 227, 104, .16);
  animation-duration: 14.5s;
  animation-delay: -8s;
}

body.page-offers .offers-blob-important-bottom {
  --blob-x1: -14px;
  --blob-y1: -8px;
  --blob-x2: 10px;
  --blob-y2: 12px;
  right: 0;
  bottom: 0;
  translate: 26% 30%;
  width: clamp(190px, 16.6vw, 282px);
  background: rgba(178,210,53,.13);
  animation-duration: 20s;
  animation-delay: -10s;
}

body.page-offers .offers-friend-feature > :not(.offers-blob),
body.page-offers .offers-referral-card-premium > :not(.offers-blob),
body.page-offers .offers-loyalty-card-premium > :not(.offers-blob) {
  position: relative;
  z-index: 2;
}

@keyframes offersOrganicBlob {
  0%, 100% {
    border-radius: 58% 42% 52% 48% / 44% 56% 40% 60%;
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  }
  32% {
    border-radius: 36% 64% 44% 56% / 66% 34% 58% 42%;
    transform: translate3d(var(--blob-x1), var(--blob-y1), 0) rotate(var(--blob-r1)) scale(var(--blob-s1));
  }
  66% {
    border-radius: 68% 32% 61% 39% / 34% 66% 42% 58%;
    transform: translate3d(var(--blob-x2), var(--blob-y2), 0) rotate(var(--blob-r2)) scale(var(--blob-s2));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-offers .offers-blob,
  .decor-blob {
    animation: none !important;
  }
}

.decor-blob-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.decor-blob-card > :not(.decor-blob):not(.faq-sidebar-toggle):not(.parents-water-drops):not(.parents-outline-star):not(.work-panel-star):not(.work-panel-shield):not(.work-panel-cap):not(.work-panel-bolt):not(.work-panel-dots) {
  position: relative;
  z-index: 2;
}

.decor-blob-card > .parents-water-drops,
.decor-blob-card > .parents-outline-star,
.decor-blob-card > .work-panel-star,
.decor-blob-card > .work-panel-shield,
.decor-blob-card > .work-panel-cap,
.decor-blob-card > .work-panel-bolt,
.decor-blob-card > .work-panel-dots {
  position: absolute;
  z-index: 1;
}

.decor-blob {
  --blob-x1: 10px;
  --blob-y1: -8px;
  --blob-x2: -8px;
  --blob-y2: 12px;
  --blob-r1: 6deg;
  --blob-r2: -7deg;
  --blob-s1: 1.08;
  --blob-s2: .94;
  position: absolute;
  display: block;
  aspect-ratio: 1;
  border-radius: 58% 42% 52% 48% / 44% 56% 40% 60%;
  pointer-events: none;
  z-index: 0;
  will-change: transform, border-radius;
  animation: offersOrganicBlob 17s ease-in-out infinite;
}

.decor-blob::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: inherit;
  background: rgba(255, 255, 255, .16);
  filter: blur(8px);
  opacity: .45;
}

.decor-blob-pink { background: rgba(210, 15, 140, .08); }
.decor-blob-blue { background: rgba(46, 138, 239, .085); }
.decor-blob-lime { background: rgba(178, 210, 53, .13); }
.decor-blob-yellow { background: rgba(255, 227, 104, .22); }
.decor-blob-orange { background: rgba(243, 113, 33, .085); }
.decor-blob-purple { background: rgba(108, 34, 232, .075); }

.decor-blob-top-left {
  left: 0;
  top: 0;
  translate: -32% -36%;
  width: clamp(124px, 11.6vw, 190px);
  animation-duration: 18s;
  animation-delay: -2s;
}

.decor-blob-top-right {
  --blob-x1: -14px;
  --blob-y1: 10px;
  --blob-x2: 12px;
  --blob-y2: -10px;
  right: 0;
  top: 0;
  translate: 32% -38%;
  width: clamp(141px, 13.2vw, 224px);
  animation-duration: 19.5s;
  animation-delay: -5s;
}

.decor-blob-bottom-left {
  --blob-x1: 12px;
  --blob-y1: 8px;
  --blob-x2: -10px;
  --blob-y2: -12px;
  left: 0;
  bottom: 0;
  translate: -30% 34%;
  width: clamp(141px, 12.4vw, 215px);
  animation-duration: 16.5s;
  animation-delay: -7s;
}

.decor-blob-bottom-right {
  --blob-x1: -12px;
  --blob-y1: -10px;
  --blob-x2: 14px;
  --blob-y2: 8px;
  right: 0;
  bottom: 0;
  translate: 34% 34%;
  width: clamp(157px, 14.1vw, 248px);
  animation-duration: 20s;
  animation-delay: -9s;
}

.decor-blob-mid-right {
  --blob-x1: -10px;
  --blob-y1: 8px;
  --blob-x2: 12px;
  --blob-y2: -8px;
  right: clamp(14px, 3vw, 42px);
  top: 50%;
  translate: 42% -50%;
  width: clamp(116px, 9.9vw, 174px);
  animation-duration: 15.5s;
  animation-delay: -4s;
}

.decor-blob-low-left {
  --blob-x1: 12px;
  --blob-y1: 10px;
  --blob-x2: -12px;
  --blob-y2: -8px;
  left: clamp(8px, 2vw, 34px);
  bottom: 0;
  translate: -40% 38%;
  width: clamp(124px, 10.8vw, 187px);
  animation-duration: 18.5s;
  animation-delay: -6s;
}


@media (max-width: 1180px) {
  .decor-blob,
  body.page-offers .offers-blob {
    display: none !important;
  }
}

body.page-offers .offers-friend-feature {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, .78fr);
  gap: clamp(28px, 3.4vw, 56px);
  align-items: center;
  padding: clamp(34px, 4vw, 58px);
  border: 1px solid rgba(210, 15, 140, .26);
  background: linear-gradient(135deg, #fff, #fff7fc);
}

body.page-offers .offers-friend-feature::before {
  content: "";
  position: absolute;
  right: clamp(20px, 3vw, 52px);
  top: clamp(22px, 2.8vw, 44px);
  width: clamp(122px, 11vw, 184px);
  aspect-ratio: 1;
  background: radial-gradient(var(--raspberry) 2px, transparent 3px) 0 0 / 18px 18px;
  opacity: .24;
  mask-image: radial-gradient(circle, #000 0 58%, transparent 59%);
}

body.page-offers .offers-friend-copy,
body.page-offers .offers-friend-details {
  position: relative;
  z-index: 2;
}

body.page-offers .offers-feature-kicker,
body.page-offers .offers-tool-heading > div > span,
body.page-offers .offers-important-title small {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  color: var(--raspberry);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .8rem;
  line-height: 1;
  text-transform: uppercase;
}

body.page-offers .offers-feature-kicker {
  padding: 8px 13px;
  border: 1px solid rgba(210, 15, 140, .18);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(210, 15, 140, .08);
}

body.page-offers .offers-feature-kicker svg {
  width: 18px;
  height: 18px;
}

body.page-offers .offers-friend-copy h2 {
  max-width: 740px;
  margin: 16px 0 18px;
  color: #071885;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: .96;
  text-transform: lowercase;
}

body.page-offers .offers-friend-copy p,
body.page-offers .offers-loyalty-card-premium > p {
  max-width: 760px;
  color: #151f6d;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1rem, 1.03vw, 1.18rem);
  line-height: 1.48;
}

body.page-offers .offers-friend-copy .offers-card-btn {
  min-height: 50px;
  margin-top: clamp(20px, 2vw, 30px);
  padding: 0 28px;
  border-radius: 10px;
  background: var(--raspberry);
  color: #fff;
  box-shadow: 0 16px 30px rgba(210, 15, 140, .22);
}

body.page-offers .offers-friend-details {
  display: grid;
  gap: 20px;
}

body.page-offers .offers-credit-pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
}

body.page-offers .offers-credit-pair span {
  width: 100%;
  min-height: 112px;
  justify-self: center;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 18px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, #071885, #283a97);
  color: #fff;
  text-align: center;
  box-shadow: 0 16px 36px rgba(21, 31, 109, .18);
}

body.page-offers .offers-credit-pair span:last-child {
  background: linear-gradient(135deg, var(--raspberry), #ff45a1);
}

body.page-offers .offers-credit-pair strong {
  color: #fff;
  font-size: clamp(1.65rem, 2.25vw, 2.75rem);
  line-height: .86;
}

body.page-offers .offers-credit-pair small {
  color: #fff;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(.72rem, .7vw, .84rem);
  line-height: 1.15;
}

body.page-offers .offers-credit-pair b {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lime);
  color: #fff;
  font-size: 1.6rem;
  box-shadow: 0 12px 24px rgba(178, 210, 53, .2);
}

body.page-offers .offers-tick-list-premium {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

body.page-offers .offers-tick-list-premium li {
  --offers-premium-tick-size: 18px;
  --offers-premium-tick-glyph: 12.5px;
  min-height: 64px;
  display: flex;
  align-items: center;
  padding: 12px 14px 12px 48px;
  border: 1px solid rgba(210, 15, 140, .14);
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  font-size: clamp(.9rem, .86vw, 1rem);
  line-height: 1.28;
}

body.page-offers .offers-tick-list-premium li::before {
  left: 16px;
  top: 50%;
  width: var(--offers-premium-tick-size);
  height: var(--offers-premium-tick-size);
  transform: translateY(-50%);
}

/* Keeps premium referral ticks centered as the marker size scales. */
body.page-offers .offers-tick-list-premium li::after {
  left: 16px;
  top: 50%;
  width: var(--offers-premium-tick-size);
  height: var(--offers-premium-tick-size);
  border: 0;
  background: #fff;
  transform: translateY(-50%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.4l3.2 3.2 6.8-7.2' fill='none' stroke='black' stroke-width='2.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--offers-premium-tick-glyph) var(--offers-premium-tick-glyph) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.4l3.2 3.2 6.8-7.2' fill='none' stroke='black' stroke-width='2.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--offers-premium-tick-glyph) var(--offers-premium-tick-glyph) no-repeat;
}

body.page-offers .offers-family-feature-art {
  position: absolute;
  right: clamp(18px, 2vw, 34px);
  bottom: clamp(16px, 1.6vw, 28px);
  width: clamp(110px, 10vw, 164px);
  height: auto;
  color: rgba(210, 15, 140, .86);
  opacity: .72;
}

body.page-offers .offers-tools-grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(18px, 2vw, 30px);
  align-items: stretch;
}

body.page-offers .offers-referral-card-premium,
body.page-offers .offers-loyalty-card-premium {
  min-height: 0;
  padding: clamp(28px, 3vw, 42px);
}

body.page-offers .offers-referral-card-premium {
  border: 1px solid rgba(210, 15, 140, .22);
  background: linear-gradient(135deg, #fff, #fff7fc);
}

body.page-offers .offers-loyalty-card-premium {
  border: 1px solid rgba(243, 113, 33, .26);
  background: linear-gradient(135deg, #fff, #fffaf4);
}

body.page-offers .offers-tool-heading {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: clamp(18px, 1.8vw, 28px);
}

body.page-offers .offers-tool-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 16px 32px rgba(21, 31, 109, .12);
}

body.page-offers .offers-tool-icon svg {
  width: 46px;
  height: 46px;
}

body.page-offers .offers-tool-icon-pink {
  background: linear-gradient(135deg, var(--raspberry), #ff4ca6);
}

body.page-offers .offers-tool-icon-orange {
  background: linear-gradient(135deg, var(--satsuma), #ff9b35);
}

body.page-offers .offers-tool-heading h3 {
  margin: 6px 0 0;
  color: #071885;
  font-size: clamp(1.55rem, 1.8vw, 2.35rem);
  line-height: 1;
  text-transform: lowercase;
}

body.page-offers .offers-tool-heading > div > span {
  color: var(--raspberry);
}

body.page-offers .offers-loyalty-card-premium .offers-tool-heading > div > span {
  color: var(--satsuma);
}

body.page-offers .offers-referral-form-premium {
  gap: 16px;
}

body.page-offers .offers-referral-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

body.page-offers .offers-referral-fields .offers-field-wide {
  grid-column: 1 / -1;
}

body.page-offers .offers-referral-form-premium input,
body.page-offers .offers-referral-form-premium select {
  min-height: 54px;
  border-radius: 11px;
  padding: 13px 16px;
  border-color: rgba(21, 31, 109, .18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  font-size: clamp(.95rem, .9vw, 1.05rem);
}

body.page-offers .offers-referral-form-premium select {
  -webkit-appearance: none;
  appearance: none;
  background: #FFFFFF;
  color: var(--offers-field-muted);
  cursor: pointer;
}

body.page-offers .offers-referral-form-premium select option {
  color: var(--blackberry);
}

body.page-offers .offers-referral-form-premium input::placeholder {
  color: var(--offers-field-muted);
}

body.page-offers .offers-referral-form-premium input:focus,
body.page-offers .offers-referral-form-premium select:focus {
  outline: 3px solid rgba(210, 15, 140, .16);
  border-color: rgba(210, 15, 140, .55);
}

body.page-offers .offers-referral-form-premium button {
  min-height: 56px;
  border-radius: 12px;
  font-size: 1rem;
}

body.page-offers .offers-referral-form-premium button:disabled {
  cursor: wait;
  opacity: .72;
}

body.page-offers .offers-referral-form-status {
  display: none;
  border: 1px solid transparent;
  border-radius: 12px;
  font-family: GilroyBold, Arial, sans-serif;
  line-height: 1.35;
  margin-top: 4px;
  padding: 13px 15px;
}

body.page-offers .offers-referral-form-status.is-visible {
  display: block;
}

body.page-offers .offers-referral-form-status.is-success {
  background: #ecffd7;
  border-color: rgba(178, 210, 53, .5);
  color: var(--blackberry);
}

body.page-offers .offers-referral-form-status.is-error {
  background: #fff0f8;
  border-color: rgba(210, 15, 140, .28);
  color: var(--raspberry);
}

body.page-offers .contact-success-modal[hidden] {
  display: none;
}

body.page-offers .contact-success-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 9999;
}

body.page-offers .contact-success-backdrop {
  animation: offersReferralModalFade .24s ease both;
  backdrop-filter: blur(8px);
  background: rgba(21, 31, 109, .48);
  inset: 0;
  position: absolute;
}

body.page-offers .contact-success-card {
  animation: offersReferralModalRise .34s cubic-bezier(.2, .72, .2, 1) both;
  background:
    radial-gradient(circle at 18% 0%, rgba(178, 210, 53, .24), transparent 32%),
    radial-gradient(circle at 100% 12%, rgba(210, 15, 140, .16), transparent 30%),
    #fff;
  border: 1px solid rgba(229, 232, 247, .95);
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(21, 31, 109, .26);
  max-width: 520px;
  overflow: hidden;
  padding: 34px;
  position: relative;
  text-align: center;
  width: min(100%, 520px);
}

body.page-offers .contact-success-icon {
  align-items: center;
  animation: offersReferralSuccessPulse 1.8s ease-in-out infinite;
  background: #B2D235;
  border-radius: 50%;
  box-shadow: 0 16px 30px rgba(130, 181, 0, .2);
  color: var(--blackberry);
  display: inline-flex;
  height: 78px;
  justify-content: center;
  margin-bottom: 18px;
  width: 78px;
}

body.page-offers .contact-success-icon svg {
  display: block;
  flex: 0 0 auto;
  height: 38px;
  stroke-width: 2.5;
  width: 38px;
}

body.page-offers .contact-success-card h2 {
  color: var(--blackberry);
  font-size: clamp(1.75rem, 2vw, 2.3rem);
  line-height: 1;
  margin: 0 0 12px;
  text-transform: lowercase;
}

body.page-offers .contact-success-card p {
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.42;
  margin: 0 auto 22px;
  max-width: 390px;
}

body.page-offers .contact-success-close {
  align-items: center;
  background: var(--raspberry);
  border: 0;
  border-radius: 14px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: .98rem;
  justify-content: center;
  min-height: 46px;
  padding: 0 28px;
  transition: box-shadow .2s ease, transform .2s ease;
}

body.page-offers .contact-success-close:hover,
body.page-offers .contact-success-close:focus-visible {
  box-shadow: 0 12px 22px rgba(210, 15, 140, .2);
  transform: translateY(-2px);
}

@media (max-width: 640px) {
  body.page-offers .contact-success-modal {
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
  }

  body.page-offers .contact-success-card {
    border-radius: 22px;
    max-height: calc(100vh - 28px);
    max-height: calc(100dvh - 28px);
    overflow-y: auto;
    padding: 28px 20px 22px;
    -webkit-overflow-scrolling: touch;
    width: min(100%, 420px);
  }

  body.page-offers .contact-success-icon {
    height: 64px;
    margin-bottom: 14px;
    width: 64px;
  }

  body.page-offers .contact-success-icon svg {
    height: 31px;
    width: 31px;
  }

  body.page-offers .contact-success-card h2 {
    font-size: 2rem;
    line-height: .96;
    margin-bottom: 10px;
  }

  body.page-offers .contact-success-card p {
    font-size: 1rem;
    line-height: 1.36;
    margin-bottom: 20px;
    max-width: 310px;
  }

  body.page-offers .contact-success-close {
    min-height: 48px;
    min-width: 156px;
    padding: 0 24px;
  }
}

@media (max-width: 380px), (max-height: 560px) {
  body.page-offers .contact-success-card {
    border-radius: 20px;
    padding: 24px 16px 18px;
  }

  body.page-offers .contact-success-icon {
    height: 58px;
    margin-bottom: 12px;
    width: 58px;
  }

  body.page-offers .contact-success-icon svg {
    height: 28px;
    width: 28px;
  }

  body.page-offers .contact-success-card h2 {
    font-size: 1.82rem;
  }

  body.page-offers .contact-success-card p {
    font-size: .96rem;
    margin-bottom: 18px;
  }
}

@keyframes offersReferralModalFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes offersReferralModalRise {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes offersReferralSuccessPulse {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.045);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-offers .contact-success-backdrop,
  body.page-offers .contact-success-card,
  body.page-offers .contact-success-icon,
  body.page-offers .contact-success-close {
    animation: none;
    transition: none;
  }
}

body.page-offers .offers-loyalty-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: clamp(22px, 2.4vw, 36px);
  align-items: center;
  margin-top: clamp(20px, 2vw, 30px);
}

body.page-offers .offers-dot-list-premium {
  width: auto;
  gap: 12px;
  margin: 0;
  font-size: clamp(.92rem, .9vw, 1.05rem);
  line-height: 1.34;
}

body.page-offers .offers-dot-list-premium li {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding-left: 34px;
}

body.page-offers .offers-dot-list-premium li::before {
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}

body.page-offers .offers-stamp-card-premium {
  --offers-stamp-tilt: 4deg;
  position: relative;
  right: auto;
  bottom: auto;
  width: 176px;
  padding: 20px;
  gap: 12px;
  border-width: 4px;
  border-radius: 16px;
  transform: rotate(var(--offers-stamp-tilt));
}

body.page-offers .offers-stamp-card-premium strong {
  font-size: 1.16rem;
}

body.page-offers .offers-stamp-card-premium span {
  border-width: 3px;
}

body.page-offers .offers-important-panel-premium {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(24px, 2.5vw, 36px);
  padding: clamp(36px, 4.4vw, 62px);
  border: 1px solid rgba(214, 173, 0, .36);
  background: linear-gradient(135deg, #fffefa 0%, #fffdf8 54%, #fffbed 100%);
  box-shadow: 0 28px 70px rgba(21, 31, 109, .12);
  isolation: isolate;
}

body.page-offers .offers-important-panel-premium::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}

body.page-offers .offers-important-panel-premium::after {
  content: none;
}

body.page-offers .offers-important-lead,
body.page-offers .offers-important-items {
  position: relative;
  z-index: 2;
}

body.page-offers .offers-important-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .5fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: center;
}

body.page-offers .offers-important-panel-premium .offers-important-title {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 2.2vw, 30px);
  max-width: 820px;
}

body.page-offers .offers-important-panel-premium .offers-important-shield {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(214, 173, 0, .24);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.9), transparent 42%),
    linear-gradient(135deg, #fff8d8, #ffeaa0);
  color: #d6ad00;
  box-shadow: 0 18px 36px rgba(214, 173, 0, .18);
}

body.page-offers .offers-important-panel-premium .offers-important-shield svg {
  width: 58px;
  height: 58px;
}

body.page-offers .offers-important-panel-premium .offers-important-title small {
  font-size: .82rem;
  letter-spacing: .03em;
}

body.page-offers .offers-important-panel-premium .offers-important-title h2 {
  margin: 6px 0 0;
  color: #071885;
  font-size: clamp(2rem, 2.45vw, 2.9rem);
  line-height: .94;
}

body.page-offers .offers-important-panel-premium .offers-important-title .offers-important-summary {
  display: block;
  width: auto;
  height: auto;
  margin-top: 12px;
  color: #24306f;
  background: none;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: clamp(1rem, 1.04vw, 1.16rem);
  line-height: 1.45;
}

body.page-offers .offers-important-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.1vw, 28px);
  counter-reset: offersImportant;
}

body.page-offers .offers-important-note {
  counter-increment: offersImportant;
  position: relative;
  min-height: 210px;
  padding: clamp(26px, 2.5vw, 34px);
  border: 1px solid rgba(214, 173, 0, .20);
  border-radius: 22px;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(214,173,0,.34), rgba(210,15,140,.14), rgba(7,24,133,.12)) border-box;
  box-shadow: 0 18px 38px rgba(21, 31, 109, .08);
  overflow: hidden;
}

body.page-offers .offers-important-note::before {
  content: "0" counter(offersImportant);
  position: absolute;
  right: 22px;
  top: 18px;
  color: rgba(214, 173, 0, .18);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(3.2rem, 4vw, 5rem);
  line-height: .78;
}

body.page-offers .offers-important-note::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 6px;
  background: linear-gradient(90deg, var(--lime), #d6ad00, var(--raspberry));
  opacity: .86;
}

body.page-offers .offers-note-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #8ab600, #acd82b);
  box-shadow: 0 12px 24px rgba(138, 182, 0, .22);
}

body.page-offers .offers-note-icon::after {
  content: "";
  width: 12px;
  height: 7px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}

body.page-offers .offers-important-note strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 30px;
  max-width: 260px;
  color: #071885;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.22rem, 1.28vw, 1.56rem);
  line-height: 1.08;
}

body.page-offers .offers-important-panel-premium .offers-important-note p {
  position: relative;
  z-index: 1;
  min-height: 0;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17235f;
  font-size: clamp(1rem, .98vw, 1.12rem);
  line-height: 1.5;
}

body.page-offers .offers-important-contact {
  position: relative;
  min-height: 156px;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "email email";
  align-content: center;
  align-items: center;
  justify-items: stretch;
  gap: clamp(12px, 1vw, 16px) 18px;
  min-width: 0;
  justify-self: end;
  width: 100%;
  max-width: 500px;
  padding: clamp(24px, 2.5vw, 32px);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.18) 0 92px, transparent 94px),
    radial-gradient(circle at 87% 112%, rgba(255,255,255,.12) 0 70px, transparent 72px),
    linear-gradient(135deg, #071885 0%, #142bc2 62%, #071885 100%);
  box-shadow: 0 22px 42px rgba(7, 24, 133, .24);
  overflow: hidden;
}

body.page-offers .offers-important-contact::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 24px;
  width: 52px;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: #acd82b;
  box-shadow: 0 16px 0 rgba(255,255,255,.32), 0 32px 0 #ff6b1a;
}

body.page-offers .offers-important-contact > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}

body.page-offers .offers-important-contact svg {
  grid-area: icon;
  width: 34px;
  height: 34px;
  padding: 14px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.15);
  box-sizing: content-box;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

body.page-offers .offers-important-contact span {
  grid-area: title;
  display: block;
  min-width: 0;
  color: #fff;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1.18rem, 1.2vw, 1.44rem);
  line-height: 1.1;
  padding-right: 56px;
}

body.page-offers .offers-important-contact a {
  grid-area: email;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  width: fit-content;
  padding: 11px 18px;
  border-radius: 999px;
  color: #071885;
  background: #fff;
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
  font-size: clamp(.9rem, .9vw, 1.02rem);
  line-height: 1.2;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

body.page-offers .offers-intro-panel,
body.page-offers .offers-sibling-panel-premium,
body.page-offers .offers-child-tier,
body.page-offers .offers-sibling-note,
body.page-offers .offers-sibling-visual-card,
body.page-offers .offers-support-card,
body.page-offers .offers-reward-card,
body.page-offers .offers-friend-feature,
body.page-offers .offers-credit-pair span,
body.page-offers .offers-tick-list-premium li,
body.page-offers .offers-referral-card-premium,
body.page-offers .offers-loyalty-card-premium,
body.page-offers .offers-important-panel-premium,
body.page-offers .offers-important-note,
body.page-offers .offers-important-contact {
  box-shadow: var(--offers-card-shadow);
}

@media (max-width: 1180px) {
  body.page-offers .offers-intro-panel,
  body.page-offers .offers-sibling-panel,
  body.page-offers .offers-rewards-grid {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-intro-icons {
    max-width: 520px;
  }

  body.page-offers .offers-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-offers .offers-sibling-art {
    justify-self: center;
  }

  body.page-offers .offers-sibling-panel-premium {
    gap: 28px;
  }

  body.page-offers .offers-sibling-panel-premium .offers-sibling-copy h2,
  body.page-offers .offers-sibling-lede,
  body.page-offers .offers-sibling-tiers,
  body.page-offers .offers-sibling-note {
    max-width: none;
  }

  body.page-offers .offers-sibling-visual-card {
    margin: 0 auto;
  }

  body.page-offers .offers-important-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-offers .offers-important-title {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  body.page-offers .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-offers .login-link {
    display: none;
  }

  body.page-offers .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-offers .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-offers .offers-save-intro,
  body.page-offers .offers-sibling-section,
  body.page-offers .offers-savings-section,
  body.page-offers .offers-rewards-section,
  body.page-offers .offers-important-section {
    margin-top: 18px;
  }

  body.page-offers .offers-savings-section {
    margin-top: 30px;
  }

  body.page-offers .offers-intro-panel,
  body.page-offers .offers-sibling-panel,
  body.page-offers .offers-support-card,
  body.page-offers .offers-reward-card,
  body.page-offers .offers-referral-card,
  body.page-offers .offers-important-panel {
    border-radius: 12px;
  }

  body.page-offers .offers-intro-panel,
  body.page-offers .offers-sibling-panel,
  body.page-offers .offers-reward-card,
  body.page-offers .offers-referral-card {
    padding: 22px;
  }

  body.page-offers .offers-intro-icons {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  body.page-offers .offers-line-icon {
    min-height: 66px;
  }

  body.page-offers .offers-line-icon svg {
    width: 60px;
    height: 60px;
  }

  body.page-offers .offers-sibling-panel {
    min-height: 0;
  }

  body.page-offers .offers-sibling-panel-premium {
    padding: 22px;
    border-radius: 18px;
  }

  body.page-offers .offers-sibling-panel-premium::before {
    border-radius: 17px;
  }

  body.page-offers .offers-sibling-panel-premium::after {
    width: 110px;
    opacity: .34;
  }

  body.page-offers .offers-sibling-copy h2 {
    font-size: clamp(2.2rem, 12vw, 3.2rem);
  }

  body.page-offers .offers-sibling-panel-premium .offers-sibling-copy h2 {
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: .92;
  }

  body.page-offers .offers-sibling-lede {
    font-size: .94rem;
  }

  body.page-offers .offers-sibling-tiers {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-sibling-tier {
    min-height: 88px;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    gap: 14px;
    padding: 16px;
  }

  body.page-offers .offers-sibling-tier .offers-sibling-icon {
    width: 38px;
    height: 38px;
  }

  body.page-offers .offers-sibling-tier span:not(.offers-sibling-icon) {
    font-size: 1.16rem;
  }

  body.page-offers .offers-sibling-note {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 0;
    padding: 14px;
  }

  body.page-offers .offers-sibling-note-star {
    width: 38px;
    height: 38px;
  }

  body.page-offers .offers-sibling-list li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    font-size: 1rem;
  }

  body.page-offers .offers-sibling-icon {
    width: 38px;
    height: 38px;
  }

  body.page-offers .offers-child-sketch {
    width: 100%;
  }

  body.page-offers .offers-sibling-visual-card {
    padding: 12px;
    border-radius: 20px;
    transform: none;
  }

  body.page-offers .offers-sibling-visual-card::before,
  body.page-offers .offers-sibling-orbit {
    display: none;
  }

  body.page-offers .offers-sibling-savings-badge {
    width: 64px;
    height: 64px;
    left: 8px;
    top: 8px;
  }

  body.page-offers .offers-sibling-savings-badge strong {
    font-size: .82rem;
  }

  body.page-offers .offers-sibling-savings-badge small {
    font-size: .5rem;
  }

  body.page-offers .offers-section-title::before,
  body.page-offers .offers-section-title::after,
  body.page-offers .offers-section-title h2::before,
  body.page-offers .offers-section-title h2::after {
    display: none;
  }

  body.page-offers .offers-section-title h2 {
    display: block;
    max-width: 100%;
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: 1.08;
  }

  body.page-offers .offers-support-grid,
  body.page-offers .offers-important-panel {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-support-card {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 0;
    padding: 20px;
  }

  body.page-offers .offers-card-icon,
  body.page-offers .offers-sun-icon {
    width: 56px;
    height: 56px;
  }

  body.page-offers .offers-partner-box {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-partner-logo {
    min-height: 54px;
  }

  body.page-offers .offers-family-mini {
    display: none;
  }

  body.page-offers .offers-loyalty-card .offers-dot-list {
    width: 100%;
  }

  body.page-offers .offers-stamp-card {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 20px;
    transform: none;
  }

  body.page-offers .offers-important-panel {
    padding: 18px;
  }

  body.page-offers .offers-important-panel p {
    min-height: 0;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(206, 174, 21, .45);
    padding-top: 14px;
  }
}

@media (max-width: 1180px) {
  body.page-offers .offers-friend-feature,
  body.page-offers .offers-tools-grid,
  body.page-offers .offers-important-panel-premium {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-important-lead {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-friend-copy h2,
  body.page-offers .offers-friend-copy p {
    max-width: none;
  }

  body.page-offers .offers-important-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  body.page-offers .offers-important-items {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-important-note {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  body.page-offers .offers-tools-section {
    margin-top: 18px;
  }

  body.page-offers .offers-friend-feature,
  body.page-offers .offers-referral-card-premium,
  body.page-offers .offers-loyalty-card-premium,
  body.page-offers .offers-important-panel-premium {
    border-radius: 16px;
    padding: 22px;
  }

  body.page-offers .offers-blob-sibling-pink,
  body.page-offers .offers-blob-friend-pink,
  body.page-offers .offers-blob-referral-pink {
    width: 150px;
  }

  body.page-offers .offers-blob-sibling-blue {
    right: 0;
    top: auto;
    bottom: 0;
    translate: 24% 28%;
    width: 170px;
  }

  body.page-offers .offers-blob-friend-purple,
  body.page-offers .offers-blob-loyalty-orange,
  body.page-offers .offers-blob-important-bottom {
    width: 180px;
  }

  body.page-offers .offers-blob-important-left {
    left: 0;
    top: 0;
    translate: -26% -30%;
    width: 166px;
  }

  body.page-offers .offers-blob-important-contact {
    right: 12px;
    top: 18px;
    width: 112px;
  }

  body.page-offers .offers-friend-feature {
    gap: 22px;
  }

  body.page-offers .offers-friend-copy h2 {
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: .98;
  }

  body.page-offers .offers-friend-copy p,
  body.page-offers .offers-loyalty-card-premium > p {
    font-size: .98rem;
  }

  body.page-offers .offers-credit-pair {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-credit-pair b {
    justify-self: center;
    margin: -4px 0;
  }

  body.page-offers .offers-credit-pair span {
    width: 100%;
    min-height: 96px;
  }

  body.page-offers .offers-tick-list-premium,
  body.page-offers .offers-referral-fields,
  body.page-offers .offers-important-items {
    grid-template-columns: 1fr;
  }

  body.page-offers .offers-tick-list-premium li {
    min-height: 0;
  }

  body.page-offers .offers-family-feature-art {
    display: none;
  }

  body.page-offers .offers-tool-heading {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 14px;
  }

  body.page-offers .offers-tool-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
  }

  body.page-offers .offers-tool-icon svg {
    width: 38px;
    height: 38px;
  }

  body.page-offers .offers-tool-heading h3 {
    font-size: 1.6rem;
  }

  body.page-offers .offers-referral-form-premium input,
  body.page-offers .offers-referral-form-premium select,
  body.page-offers .offers-referral-form-premium button {
    min-height: 50px;
  }

  body.page-offers .offers-loyalty-content {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.page-offers .offers-loyalty-card .offers-dot-list,
  body.page-offers .offers-dot-list-premium {
    width: 100%;
  }

  body.page-offers .offers-stamp-card-premium {
    --offers-stamp-tilt: 2deg;
    width: 150px;
    margin: 0 auto;
    transform: rotate(var(--offers-stamp-tilt));
  }

  body.page-offers .offers-important-panel-premium .offers-important-title {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
  }

  body.page-offers .offers-important-panel-premium .offers-important-shield {
    width: 68px;
    height: 68px;
    border-radius: 50%;
  }

  body.page-offers .offers-important-panel-premium .offers-important-shield svg {
    width: 42px;
    height: 42px;
  }

  body.page-offers .offers-important-panel-premium .offers-important-title h2 {
    font-size: clamp(1.55rem, 7.2vw, 2rem);
  }

  body.page-offers .offers-important-panel-premium .offers-important-title .offers-important-summary {
    font-size: .98rem;
  }

  body.page-offers .offers-important-note {
    min-height: 0;
    padding: 22px;
    border-top: 1px solid rgba(214, 173, 0, .20);
  }

  body.page-offers .offers-important-note strong {
    max-width: none;
    font-size: 1.24rem;
  }

  body.page-offers .offers-important-note p {
    padding: 0;
    border-top: 0;
    font-size: .98rem;
  }

  body.page-offers .offers-important-contact {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "icon"
      "title"
      "email";
    justify-items: flex-start;
    justify-self: stretch;
    max-width: none;
    padding: 22px;
  }

  body.page-offers .offers-important-contact span {
    padding-right: 0;
    font-size: 1.16rem;
  }

  body.page-offers .offers-important-contact::after {
    opacity: .55;
  }
}
/* End Offers and rewards page redesign styles */
/* Other venue cards: number badge treatment */
body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-why-row .billericay-latest-feature {
  align-content: start;
  background:
    linear-gradient(90deg, #eaf6c9, #ffe7bd, #ffd9ec) left bottom / 100% 6px no-repeat,
    linear-gradient(145deg, var(--feature-card-start) 0%, var(--feature-card-end) 100%);
}

body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-feature-heritage {
  --billericay-feature-number: "01";
  --billericay-feature-number-color: rgba(33, 71, 199, .17);
}

body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-feature-local {
  --billericay-feature-number: "02";
  --billericay-feature-number-color: rgba(214, 12, 132, .16);
}

body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-feature-team {
  --billericay-feature-number: "03";
  --billericay-feature-number-color: rgba(39, 138, 29, .17);
}

body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-why-row .billericay-latest-feature::after {
  content: none;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 0;
  color: var(--billericay-feature-number-color);
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(2.25rem, 2.65vw, 3.35rem);
  line-height: .78;
  pointer-events: none;
}

body:is(.page-venue-warlingham, .page-venue-southend, .page-venue-braintree, .page-venue-ockendon, .page-venue-ware) .billericay-latest-why-row .billericay-latest-feature > :not(.decor-blob) {
  position: relative;
  z-index: 1;
}
/* End Other venue cards: number badge treatment */

/* Parents page: layout safeguards for headings, hidden SEO copy and mobile flow */
body.page-parents {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  body.page-parents {
    overflow-x: hidden;
  }
}

body.page-parents .site-header,
body.page-parents .page-hero,
body.page-parents .site-footer {
  max-width: 100%;
}

body.page-parents .page-hero {
  margin-bottom: clamp(36px, 4vw, 72px);
}

body.page-parents .parents-hero-picture-object {
  overflow: hidden;
}

body.page-parents .parents-hero-picture,
body.page-parents .parents-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
}

body.page-parents .parents-hero-picture img {
  border: 0;
  object-fit: cover;
}

body.page-parents .parents-wide-graphic picture {
  display: block;
}

body.page-parents .footer-about > img[src="assets/images/main-logo.png"] {
  height: auto;
  object-fit: contain;
}

body.page-parents #before-camp h3,
body.page-parents #what-to-bring h3,
body.page-parents #drop-off-collection h3,
body.page-parents #food-drink h3,
body.page-parents #medical-information h3,
body.page-parents #swimming-sites h3,
body.page-parents .parents-reminder-grid > .parents-reminder-card:nth-child(1) h3,
body.page-parents .parents-reminder-grid > .parents-reminder-card:nth-child(2) h3,
body.page-parents .parents-reminder-grid > .parents-reminder-card:nth-child(3) h3,
body.page-parents .parents-reminder-grid > .parents-reminder-card:nth-child(4) h3,
body.page-parents .parents-support-grid > .parents-support-card:nth-child(2) h3,
body.page-parents .parents-support-grid > .parents-support-card:nth-child(3) h3,
body.page-parents .parents-booking-grid > .parents-guide-card:nth-child(1) h3,
body.page-parents .parents-booking-grid > .parents-guide-card:nth-child(2) h3,
body.page-parents .parents-booking-grid > .parents-guide-card:nth-child(3) h3 {
  font-size: clamp(1.25rem, 1.35vw, 1.62rem);
  line-height: 1.05;
}

body.page-parents .parents-guide-grid > .parents-guide-card > p,
body.page-parents .parents-guide-grid > .parents-guide-card .parents-guide-list li,
body.page-parents .parents-reminder-grid > .parents-reminder-card p,
body.page-parents .parents-reminder-grid > .parents-reminder-card .parents-tick-list li,
body.page-parents .parents-support-grid > .parents-support-card p,
body.page-parents .parents-support-grid > .parents-support-card .parents-guide-list li,
body.page-parents .parents-booking-grid > .parents-guide-card p,
body.page-parents .parents-booking-grid > .parents-guide-card .parents-guide-list li,
body.page-parents .parents-booking-grid > .parents-guide-card .parents-policy-links li {
  font-size: clamp(.94rem, .92vw, 1.03rem);
}

body.page-parents #parents-guide-title + p,
body.page-parents #parents-reminders-title + p {
  font-size: clamp(.98rem, .98vw, 1.12rem);
}

body.page-parents.has-cookie-banner .back-to-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 760px) {
  body.page-parents {
    padding-bottom: 0;
  }

  body.page-parents .page-hero .section-inner,
  body.page-parents .hero-grid,
  body.page-parents .hero-copy,
  body.page-parents .hero-copy h1,
  body.page-parents .hero-copy h2,
  body.page-parents .hero-copy p,
  body.page-parents .hero-buttons,
  body.page-parents .parents-guide-grid,
  body.page-parents .parents-reminder-grid,
  body.page-parents .parents-support-grid,
  body.page-parents .parents-booking-grid {
    min-width: 0;
    max-width: 100%;
  }

  body.page-parents .hero-copy h2,
  body.page-parents .hero-copy p,
  body.page-parents .parents-guide-card,
  body.page-parents .parents-reminder-card,
  body.page-parents .parents-support-card {
    overflow-wrap: break-word;
  }

  body.page-parents .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-parents .login-link {
    display: none;
  }

  body.page-parents .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-parents .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-parents .parents-support-card-wide .parents-support-card-copy {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  body.page-parents .parents-support-card-wide .parents-support-card-copy p {
    width: auto;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.page-parents .sticky-booking {
    display: none;
  }

  body.page-parents .back-to-top {
    display: none;
  }

  body.page-parents .cookie-consent {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  body.page-parents .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }

  body.page-parents .cookie-card__top {
    margin-bottom: 6px;
  }

  body.page-parents .cookie-card p:not(.cookie-card__small) {
    line-height: 1.25;
  }
}

@media (max-width: 390px) {
  body.page-parents .cookie-card {
    max-height: min(44vh, 310px);
  }

  body.page-parents .cookie-card__icon {
    width: 36px;
    height: 36px;
  }

  body.page-parents .cookie-btn {
    min-height: 38px;
  }
}
/* End Parents page: layout safeguards for headings, hidden SEO copy and mobile flow */

/* Billericay Google map embed */
.billericay-latest-map.billericay-latest-google-map {
  position: relative;
  display: block;
  min-height: 210px;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(21, 31, 109, .08);
  border-radius: inherit;
  background: linear-gradient(135deg, #f8fbff 0%, #fff 48%, #f7f3ff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86);
  isolation: isolate;
}

.billericay-latest-map.billericay-latest-google-map::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 88% 15%, rgba(255, 255, 255, .32), rgba(255, 255, 255, 0) 30%),
    linear-gradient(135deg, rgba(13, 23, 137, .045), rgba(225, 0, 133, .026));
}

.billericay-latest-map-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 5px;
  padding: 28px;
  color: var(--blackberry);
  text-align: center;
  background:
    linear-gradient(28deg, transparent 0 33%, rgba(255, 255, 255, .72) 34% 39%, transparent 40%),
    linear-gradient(148deg, transparent 0 48%, rgba(255, 255, 255, .70) 49% 54%, transparent 55%),
    radial-gradient(circle at 78% 18%, rgba(171, 218, 255, .30), transparent 33%),
    linear-gradient(135deg, #f7fbff 0%, #fbf7ff 100%);
}

.billericay-latest-map-fallback-pin {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(225, 0, 133, .12);
  color: var(--raspberry);
  box-shadow: 0 14px 28px rgba(21, 31, 109, .10);
}

.billericay-latest-map-fallback-pin svg {
  width: 26px;
  height: 26px;
}

.billericay-latest-map-fallback-kicker,
.billericay-latest-map-fallback span:last-child {
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.15;
}

.billericay-latest-map-fallback-kicker {
  color: var(--raspberry);
  text-transform: uppercase;
  letter-spacing: .02em;
}

.billericay-latest-map-fallback strong {
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: clamp(1rem, 1vw, 1.2rem);
  line-height: 1.05;
}

.billericay-latest-google-map iframe {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 0;
  filter: saturate(.88) contrast(1.03) brightness(1.04);
}

.billericay-latest-map-fullscreen {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 13px;
  border: 1px solid rgba(21, 31, 109, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--blackberry);
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(21, 31, 109, .16);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.billericay-latest-map-fullscreen svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.billericay-latest-map-fullscreen:hover,
.billericay-latest-map-fullscreen:focus-visible {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(21, 31, 109, .20);
}

@media (max-width: 640px) {
  .billericay-latest-map-fullscreen {
    right: 10px;
    bottom: 10px;
    padding: 9px 11px;
    font-size: .72rem;
  }
}
/* End Billericay Google map embed */




/* Our Camp page: layout safeguards for headings, hidden SEO copy and mobile flow */
body.page-our-camp {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  body.page-our-camp {
    overflow-x: hidden;
  }
}

body.page-standard.page-our-camp:has(.our-camp-activity-icons) .page-content {
  overflow-x: clip;
  overflow-y: visible;
}

@supports not (overflow: clip) {
  body.page-standard.page-our-camp:has(.our-camp-activity-icons) .page-content {
    overflow-x: hidden;
    overflow-y: visible;
  }
}

body.page-our-camp .site-header,
body.page-our-camp .page-hero,
body.page-our-camp .site-footer {
  max-width: 100%;
}

@media (max-width: 760px) {
  body.page-our-camp .page-hero .section-inner,
  body.page-our-camp .hero-grid,
  body.page-our-camp .hero-copy,
  body.page-our-camp .hero-copy h1,
  body.page-our-camp .hero-copy h2,
  body.page-our-camp .hero-copy p,
  body.page-our-camp .hero-buttons {
    min-width: 0;
    max-width: 100%;
  }

  body.page-our-camp .hero-copy h2,
  body.page-our-camp .hero-copy p {
    overflow-wrap: break-word;
  }

  body.page-our-camp .page-hero .our-camp-hero-visual {
    justify-self: center;
    width: min(100%, 500px);
    max-width: 100%;
  }

  body.page-our-camp .cookie-consent {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  body.page-our-camp .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }

  body.page-our-camp .cookie-card__top {
    margin-bottom: 6px;
  }

  body.page-our-camp .cookie-card p:not(.cookie-card__small) {
    line-height: 1.25;
  }
}

@media (max-width: 390px) {
  body.page-our-camp .cookie-card {
    max-height: min(44vh, 310px);
  }

  body.page-our-camp .cookie-card__icon {
    width: 36px;
    height: 36px;
  }

  body.page-our-camp .cookie-btn {
    min-height: 38px;
  }
}

/* Prices page: layout safeguards for headings, hidden SEO copy and mobile flow */
html:has(body.page-prices),
body.page-prices {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html:has(body.page-prices),
  body.page-prices {
    overflow-x: hidden;
  }
}

body.page-prices .site-header,
body.page-prices .page-hero,
body.page-prices .site-footer {
  max-width: 100%;
}

body.page-prices .voucher-step p {
  font-size: clamp(.9rem, .82vw, .98rem);
  line-height: 1.34;
}

@media (max-width: 760px) {
  body.page-prices {
    padding-bottom: 0;
  }

  body.page-prices .page-hero .section-inner,
  body.page-prices .hero-grid,
  body.page-prices .hero-copy,
  body.page-prices .hero-copy h1,
  body.page-prices .hero-copy h2,
  body.page-prices .hero-copy p,
  body.page-prices .hero-buttons {
    box-sizing: border-box;
    width: min(100%, calc(100vw - 28px)) !important;
    max-width: min(100%, calc(100vw - 28px)) !important;
    min-width: 0;
  }

  body.page-prices .hero-copy h2,
  body.page-prices .hero-copy p {
    width: min(100%, calc(100vw - 76px)) !important;
    max-width: min(100%, calc(100vw - 76px)) !important;
  }

  body.page-prices .hero-buttons {
    width: min(100%, calc(100vw - 42px)) !important;
    max-width: min(100%, calc(100vw - 42px)) !important;
  }

  body.page-prices .price-content2,
  body.page-prices .cta-panel {
    min-width: 0;
    max-width: 100%;
  }

  body.page-prices .page-hero .our-camp-hero-visual,
  body.page-prices .page-hero .our-camp-hero-visual .our-camp-hero-frame {
    justify-self: center;
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
  }

  body.page-prices .hero-copy h2,
  body.page-prices .hero-copy p,
  body.page-prices .voucher-step p {
    overflow-wrap: break-word;
  }

  body.page-prices .sticky-booking {
    display: none;
  }

  body.page-prices .back-to-top {
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }

  body.page-prices.has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-prices .cookie-consent {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    right: auto;
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
  }

  body.page-prices .cookie-card {
    max-height: min(46vh, 340px);
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body.page-prices .cookie-card__top {
    margin-bottom: 6px;
  }

  body.page-prices .cookie-card p:not(.cookie-card__small) {
    line-height: 1.25;
    width: min(100%, calc(100vw - 112px)) !important;
    max-width: min(100%, calc(100vw - 112px)) !important;
  }

  body.page-prices .cookie-card__actions,
  body.page-prices .cookie-btn {
    min-width: 0;
    max-width: 100%;
  }

  body.page-prices .voucher-step p {
    max-width: 340px;
  }
}

@media (max-width: 390px) {
  body.page-prices .cookie-card {
    max-height: min(44vh, 310px);
  }

  body.page-prices .cookie-card__icon {
    width: 36px;
    height: 36px;
  }

  body.page-prices .cookie-btn {
    min-height: 38px;
  }
}
/* Work with us page: layout safeguards for headings, hidden SEO copy and mobile flow */
body.page-work {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  body.page-work {
    overflow-x: hidden;
  }
}

body.page-work .site-header,
body.page-work .page-hero,
body.page-work .site-footer {
  max-width: 100%;
}

body.page-work .page-hero {
  padding-bottom: clamp(24px, 2.1vw, 30px);
}

body.page-work .work-hero-picture-object {
  overflow: hidden;
}

body.page-work .work-hero-picture,
body.page-work .work-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
}

body.page-work .work-hero-picture img {
  object-fit: cover;
}

body.page-work .work-content2 {
  padding-top: clamp(6px, .8vw, 12px);
}

body.page-work .work-panel-star,
body.page-work .work-panel-dots,
body.page-work .work-join-dots {
  height: auto;
}

body.page-work #work-why-heading,
body.page-work #work-roles-heading,
body.page-work #work-application-heading,
body.page-work #work-join-heading {
  font-size: clamp(1.58rem, 1.9vw, 2.35rem);
  line-height: 1.02;
}

body.page-work .work-info-suits h2,
body.page-work .work-info-safeguarding h2,
body.page-work .work-info-training h2,
body.page-work .work-info-energy h2,
body.page-work .work-roles-modern .work-role-modern-card h3 {
  font-size: clamp(1.25rem, 1.35vw, 1.62rem);
  line-height: 1.05;
}

body.page-work .work-why > .work-section-intro,
body.page-work .work-application-section > .work-section-intro {
  font-size: clamp(.98rem, .98vw, 1.12rem);
  line-height: 1.42;
}

body.page-work .work-roles-modern .work-role-modern-card p,
body.page-work .work-roles-modern .work-role-note,
body.page-work .work-info-suits > p,
body.page-work .work-info-suits .work-check-list li,
body.page-work .work-info-safeguarding .work-check-list li,
body.page-work .work-info-training > p,
body.page-work .work-info-training .work-training-tags span,
body.page-work .work-info-energy > p,
body.page-work .work-info-energy .work-check-list li,
body.page-work .work-application-chat-copy p {
  font-size: clamp(.94rem, .92vw, 1.03rem);
  line-height: 1.44;
}

body.page-work .work-info-safeguarding h2,
body.page-work .work-info-safeguarding .work-check-list {
  position: relative;
  z-index: 1;
}

body.page-work .work-info-safeguarding .work-panel-shield {
  z-index: 1;
}

body.page-work .work-info-safeguarding .work-panel-dots {
  right: -94px;
  bottom: -90px;
  width: clamp(230px, 18vw, 300px);
  z-index: 0;
}

@media (max-width: 760px) {
  body.page-work {
    padding-bottom: 0;
  }

  body.page-work .page-hero .hero-copy h1,
  body.page-work .page-hero .hero-copy h2,
  body.page-work .page-hero .hero-copy p,
  body.page-work .work-hero-actions {
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
    min-width: 0;
  }

  body.page-work .page-hero .hero-copy h2,
  body.page-work .page-hero .hero-copy p {
    overflow-wrap: break-word;
  }

  body.page-work .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-work .login-link {
    display: none;
  }

  body.page-work .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-work .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-work .work-hero-actions {
    grid-template-columns: 1fr;
  }

  body.page-work .work-hero-actions .work-solid-btn,
  body.page-work .work-hero-actions .work-dark-outline-btn {
    width: 100%;
    min-width: 0;
  }

  body.page-work .page-hero .doodle-star-pink {
    right: -10px;
  }

  body.page-work .page-hero .our-camp-hero-visual,
  body.page-work .page-hero .our-camp-hero-visual .our-camp-hero-frame {
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
    justify-self: center;
  }

  body.page-work .work-info-safeguarding .work-panel-dots {
    right: -42px;
    bottom: -42px;
    width: min(46vw, 180px);
  }

  body.page-work .sticky-booking {
    display: none;
  }

  body.page-work .back-to-top {
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }

  body.page-work.has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-work .cookie-consent {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  body.page-work .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }

  body.page-work .cookie-card__top {
    margin-bottom: 6px;
  }

  body.page-work .cookie-card p:not(.cookie-card__small) {
    line-height: 1.25;
  }
}

@media (max-width: 390px) {
  body.page-work .cookie-card {
    max-height: min(44vh, 310px);
  }

  body.page-work .cookie-card__icon {
    width: 36px;
    height: 36px;
  }

  body.page-work .cookie-btn {
    min-height: 38px;
  }
}




/* FAQ page: local styles live here so the page can stay light and cache cleanly. */
.page-faq .page-content {
      padding-top: 0;
    }

    .page-faq .faq-hero-picture-object {
      overflow: hidden;
    }

    .page-faq .faq-hero-picture,
    .page-faq .faq-hero-picture img {
      display: block;
      width: 100%;
      height: 100%;
    }

    .page-faq .faq-hero-picture img {
      border: 0;
      object-fit: cover;
    }

    .page-faq .faq-redesign {
      display: grid;
      gap: 34px;
      padding-top: clamp(8px, 1.1vw, 16px);
      padding-bottom: 6px;
      margin-bottom: 0;
    }

    .page-faq .faq-redesign + .section-inner {
      margin-top: 0;
    }

    .page-faq .faq-tools {
      display: flex;
      align-items: center;
      gap: 16px;
      min-height: 124px;
      padding: 26px 30px;
      border: 1px solid #e4e6f6;
      border-radius: 16px;
      background: #f7f6ff;
      box-shadow: 0 14px 34px rgba(21, 31, 109, .055);
    }

    .page-faq .faq-tools-title {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      flex: 0 0 auto;
      color: var(--raspberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: 1.04rem;
      line-height: 1;
    }

    .page-faq .faq-tools-title svg {
      width: 24px;
      height: 24px;
      stroke-width: 2.4;
    }

    .page-faq .faq-search {
      position: relative;
      flex: 1 1 340px;
      max-width: 370px;
    }

    .page-faq .faq-search label {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    .page-faq .faq-search input {
      width: 100%;
      height: 72px;
      padding: 0 58px 0 26px;
      border: 1px solid #dfe3f4;
      border-radius: 16px;
      background: #fff;
      color: var(--blackberry);
      font-family: GilroyBold, Arial, sans-serif;
      font-size: 1.05rem;
      box-shadow: 0 10px 24px rgba(21, 31, 109, .075);
      outline: 0;
    }

    .page-faq .faq-search input:focus {
      border-color: var(--raspberry);
      box-shadow: 0 0 0 4px rgba(210, 15, 140, .12), 0 10px 24px rgba(21, 31, 109, .075);
    }

    .page-faq .faq-search svg {
      position: absolute;
      right: 20px;
      top: 50%;
      width: 27px;
      height: 27px;
      color: #1d203a;
      transform: translateY(-50%);
      pointer-events: none;
    }

    .page-faq .faq-tool-chips {
      display: flex;
      justify-content: flex-end;
      gap: 12px;
      flex: 1 1 auto;
      flex-wrap: wrap;
    }

    .page-faq .faq-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 60px;
      padding: 0 18px;
      border: 1px solid #dfe3f4;
      border-radius: 13px;
      background: #fff;
      color: var(--blackberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: .86rem;
      line-height: 1.05;
      text-align: left;
      cursor: pointer;
      box-shadow: 0 8px 18px rgba(21, 31, 109, .055);
    }

    .page-faq .faq-chip:hover,
    .page-faq .faq-chip:focus-visible {
      border-color: rgba(210, 15, 140, .38);
      color: var(--raspberry);
      outline: 0;
    }

    .page-faq .faq-layout {
      display: grid;
      grid-template-columns: minmax(300px, 426px) minmax(0, 1fr);
      gap: 32px;
      align-items: start;
      overflow: visible;
      transition:
        grid-template-columns .58s cubic-bezier(.16, 1, .3, 1),
        gap .58s cubic-bezier(.16, 1, .3, 1);
    }

    .page-faq .faq-sidebar {
      position: relative;
      display: grid;
      gap: 28px;
      min-width: 0;
      transition:
        gap .48s cubic-bezier(.16, 1, .3, 1),
        transform .48s cubic-bezier(.16, 1, .3, 1);
    }

    .page-faq .faq-topic-card,
    .page-faq .faq-more-card {
      border: 1px solid #e4e6f4;
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 14px 34px rgba(21, 31, 109, .055);
    }

    .page-faq .faq-topic-card {
      padding: 34px 20px 28px;
    }

    .page-faq .faq-topic-card h2 {
      margin: 0 0 24px 14px;
      color: var(--blackberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: clamp(1.6rem, 1.65vw, 2.05rem);
      line-height: 1;
    }

    .page-faq .faq-topic-list {
      display: grid;
      gap: 8px;
    }

    .page-faq .faq-topic-button {
      --faq-accent: var(--blueberry);
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr) 18px;
      align-items: center;
      gap: 12px;
      width: 100%;
      min-height: 62px;
      padding: 10px 14px;
      border: 0;
      border-radius: 10px;
      background: transparent;
      color: var(--blackberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: 1.02rem;
      line-height: 1.08;
      text-align: left;
      cursor: pointer;
    }

    .page-faq .faq-topic-button svg {
      width: 30px;
      height: 30px;
      color: var(--faq-accent);
      stroke-width: 2.3;
    }

    .page-faq .faq-topic-button::after {
      content: "";
      width: 10px;
      height: 10px;
      border-right: 3px solid currentColor;
      border-bottom: 3px solid currentColor;
      transform: rotate(-45deg);
      justify-self: end;
    }

    .page-faq .faq-topic-button.is-active,
    .page-faq .faq-topic-button:hover,
    .page-faq .faq-topic-button:focus-visible {
      background: #fff1f8;
      color: var(--raspberry);
      outline: 0;
    }

    .page-faq .faq-more-card {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr);
      gap: 18px;
      padding: 34px;
      background: linear-gradient(135deg, #fff, #f8f7ff);
    }

    .page-faq .faq-more-icon {
      display: grid;
      place-items: center;
      width: 58px;
      height: 58px;
      border: 2px solid var(--raspberry);
      border-radius: 50%;
      color: var(--raspberry);
    }

    .page-faq .faq-more-icon svg {
      width: 34px;
      height: 34px;
      stroke-width: 2.2;
    }

    .page-faq .faq-more-card h2 {
      margin: 0 0 12px;
      color: var(--blackberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: clamp(1.34rem, 1.4vw, 1.78rem);
      line-height: 1.05;
    }

    .page-faq .faq-more-card p {
      margin: 0;
      color: var(--blackberry);
      font-family: GilroyBold, Arial, sans-serif;
      font-size: clamp(.98rem, .95vw, 1.08rem);
      line-height: 1.48;
    }

    .page-faq .faq-more-card a {
      color: var(--raspberry);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .page-faq .faq-accordion-stack {
      display: grid;
      gap: 10px;
    }

    .page-faq .faq-category {
      --faq-accent: var(--blueberry);
      border: 1px solid #e2e6f2;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 12px 28px rgba(21, 31, 109, .06);
      overflow: hidden;
    }

    .page-faq .faq-category-summary,
    .page-faq .faq-question summary {
      cursor: pointer;
      list-style: none;
    }

    .page-faq .faq-category-summary::-webkit-details-marker,
    .page-faq .faq-question summary::-webkit-details-marker {
      display: none;
    }

    .page-faq .faq-category-summary {
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr) 28px;
      align-items: center;
      gap: 18px;
      min-height: 78px;
      padding: 20px 34px;
      color: var(--blackberry);
    }

    .page-faq .faq-category-summary svg {
      width: 32px;
      height: 32px;
      color: var(--faq-accent);
      stroke-width: 2.3;
    }

    .page-faq .faq-category-summary strong {
      font-size: clamp(1.3rem, 1.45vw, 1.75rem);
      line-height: 1.06;
    }

    .page-faq .faq-toggle {
      position: relative;
      width: 28px;
      height: 28px;
      color: var(--purple);
      justify-self: end;
    }

    .page-faq .faq-toggle::before,
    .page-faq .faq-toggle::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 18px;
      height: 4px;
      border-radius: 999px;
      background: currentColor;
      transform: translate(-50%, -50%);
    }

    .page-faq .faq-toggle::after {
      transform: translate(-50%, -50%) rotate(90deg);
    }

    .page-faq .faq-category[open] > .faq-category-summary .faq-toggle::after,
    .page-faq .faq-question[open] > summary .faq-toggle::after {
      opacity: 0;
    }

    .page-faq .faq-question {
      border-top: 1px solid #e4e6f2;
    }

    .page-faq .faq-question summary {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 26px;
      align-items: center;
      gap: 20px;
      padding: 24px 34px 16px 82px;
      color: var(--blackberry);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: clamp(1.08rem, 1.08vw, 1.3rem);
      line-height: 1.15;
    }

    .page-faq .faq-question p {
      max-width: 850px;
      margin: 0;
      padding: 0 44px 26px 82px;
      color: #5f6072;
      font-family: GilroyBold, Arial, sans-serif;
      font-size: clamp(.98rem, .95vw, 1.08rem);
      line-height: 1.5;
    }

    .page-faq .faq-no-results {
      padding: 30px;
      border: 1px dashed #cfd4ec;
      border-radius: 16px;
      background: #fff;
      color: var(--blackberry);
      font-family: GilroyBold, Arial, sans-serif;
      text-align: center;
    }

    .page-faq [hidden] {
      display: none !important;
    }

    @media (max-width: 1180px) {
      .page-faq .faq-tools {
        align-items: stretch;
        flex-wrap: wrap;
      }

      .page-faq .faq-tools-title {
        min-height: 54px;
      }

      .page-faq .faq-search {
        max-width: none;
      }

      .page-faq .faq-tool-chips {
        justify-content: flex-start;
        flex-basis: 100%;
      }

      .page-faq .faq-layout {
        grid-template-columns: 1fr;
      }

      .page-faq .faq-sidebar {
        grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
        align-items: start;
      }
    }

    @media (max-width: 1180px) {
      .page-faq .faq-sidebar-toggle {
        display: none;
      }

      .page-faq .faq-topic-card h2 {
        padding-right: 4px;
      }
    }

    @media (max-width: 760px) {
      .page-faq .page-content {
        padding-top: 0;
      }

      .page-faq .faq-redesign {
        gap: 24px;
        padding-top: 8px;
        padding-bottom: 0;
      }

      .page-faq .faq-redesign + .section-inner {
        margin-top: 0;
      }

      .page-faq .faq-tools {
        min-height: 0;
        padding: 20px;
        border-radius: 14px;
      }

      .page-faq .faq-search input {
        height: 60px;
        border-radius: 12px;
      }

      .page-faq .faq-chip {
        min-height: 52px;
        padding-inline: 14px;
        font-size: .82rem;
      }

      .page-faq .faq-sidebar {
        grid-template-columns: 1fr;
        gap: 20px;
      }

      .page-faq .faq-topic-card {
        padding: 24px 14px;
      }

      .page-faq .faq-topic-button {
        min-height: 56px;
        font-size: .96rem;
      }

      .page-faq .faq-more-card {
        grid-template-columns: 1fr;
        padding: 24px;
      }

      .page-faq .faq-category-summary {
        grid-template-columns: 34px minmax(0, 1fr) 24px;
        gap: 14px;
        min-height: 70px;
        padding: 18px 20px;
      }

      .page-faq .faq-category-summary strong {
        font-size: 1.08rem;
      }

      .page-faq .faq-question summary {
        padding: 20px 20px 14px;
        font-size: 1.06rem;
      }

      .page-faq .faq-question p {
        padding: 0 20px 22px;
      }
    }

    .page-faq .faq-accordion-stack {
      gap: 16px;
      position: relative;
      z-index: 1;
      perspective: 1200px;
    }

    .page-faq .faq-category {
      position: relative;
      isolation: isolate;
      border: 1px solid transparent;
      border-radius: 24px;
      background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, rgba(255,255,255,.7), color-mix(in srgb, var(--faq-accent) 42%, #fff), rgba(40,58,151,.16)) border-box;
      box-shadow:
        0 18px 40px rgba(21, 31, 109, .075),
        inset 0 1px 0 rgba(255,255,255,.95);
      transform-origin: 50% 0;
      transition:
        box-shadow .38s cubic-bezier(.22, 1, .36, 1),
        transform .38s cubic-bezier(.22, 1, .36, 1),
        border-color .38s ease;
      will-change: transform, height;
    }

    .page-faq .faq-category::before {
      content: "";
      position: absolute;
      inset: -1px;
      z-index: -1;
      border-radius: inherit;
      background:
        radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--faq-accent) 28%, transparent) 0 12%, transparent 34%),
        linear-gradient(110deg, rgba(255,255,255,0) 0 22%, rgba(255,255,255,.9) 34%, rgba(255,255,255,0) 46%);
      background-size: 100% 100%, 220% 100%;
      background-position: center, 120% 0;
      opacity: 0;
      transition: opacity .38s ease, background-position .8s cubic-bezier(.22, 1, .36, 1);
      pointer-events: none;
    }

    .page-faq .faq-category::after {
      content: "";
      position: absolute;
      left: 0;
      top: 24px;
      bottom: 24px;
      width: 5px;
      border-radius: 0 999px 999px 0;
      background: linear-gradient(180deg, var(--faq-accent), color-mix(in srgb, var(--faq-accent) 55%, var(--raspberry)));
      opacity: .22;
      transform: scaleY(.45);
      transform-origin: top;
      transition: opacity .38s ease, transform .46s cubic-bezier(.22, 1, .36, 1);
    }

    .page-faq .faq-category:hover {
      transform: translateY(-3px);
      box-shadow:
        0 22px 52px rgba(21, 31, 109, .11),
        inset 0 1px 0 rgba(255,255,255,.95);
    }

    .page-faq .faq-category[open] {
      border-color: color-mix(in srgb, var(--faq-accent) 28%, #e2e6f3);
      background: color-mix(in srgb, var(--faq-accent) 5%, #fff);
      box-shadow:
        0 26px 68px rgba(21, 31, 109, .13),
        0 9px 24px color-mix(in srgb, var(--faq-accent) 14%, transparent),
        inset 0 1px 0 rgba(255,255,255,.96);
    }

    .page-faq .faq-category[open]::before {
      opacity: 0;
      background-position: center, 120% 0;
    }

    .page-faq .faq-category[open]::after {
      opacity: .95;
      transform: scaleY(1);
    }

    .page-faq .faq-category-summary {
      grid-template-columns: 54px minmax(0, 1fr) max-content 48px;
      min-height: 96px;
      padding: 22px 28px;
      gap: 18px;
      position: relative;
      z-index: 1;
      -webkit-tap-highlight-color: transparent;
    }

    .page-faq .faq-category-summary > svg {
      width: 48px;
      height: 48px;
      padding: 11px;
      border-radius: 14px;
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--faq-accent) 12%, #fff), #fff),
        radial-gradient(circle at 30% 20%, #fff 0 24%, transparent 25%);
      color: var(--faq-accent);
      stroke-width: 2.15;
      box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 16%, transparent),
        0 3px 8px color-mix(in srgb, var(--faq-accent) 9%, transparent);
      transition:
        transform .48s cubic-bezier(.22, 1, .36, 1),
        box-shadow .38s ease,
        background .38s ease;
    }

    .page-faq .faq-category:hover .faq-category-summary > svg,
    .page-faq .faq-category[open] > .faq-category-summary > svg {
      transform: rotate(-3deg) scale(1.02);
      box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 22%, transparent),
        0 4px 10px color-mix(in srgb, var(--faq-accent) 12%, transparent);
    }

    .page-faq .faq-category-summary strong {
      font-size: clamp(1.16rem, 1.28vw, 1.58rem);
      line-height: 1.02;
    }

    .page-faq .faq-category-summary small {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 14px;
      border-radius: 999px;
      background: color-mix(in srgb, var(--faq-accent) 10%, #fff);
      color: color-mix(in srgb, var(--faq-accent) 76%, var(--blackberry));
      font-family: GilroyBold, Arial, sans-serif;
      font-size: .84rem;
      line-height: 1;
      white-space: nowrap;
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 18%, transparent);
    }

    .page-faq .faq-toggle {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      color: var(--purple);
      background: linear-gradient(135deg, #fff, #f6f4ff);
      box-shadow:
        inset 0 0 0 1px rgba(108, 34, 232, .14),
        0 10px 20px rgba(21, 31, 109, .08);
      transition:
        transform .46s cubic-bezier(.22, 1, .36, 1),
        color .32s ease,
        background .32s ease,
        box-shadow .32s ease;
    }

    .page-faq .faq-toggle::before,
    .page-faq .faq-toggle::after {
      width: 16px;
      height: 3px;
      transition: opacity .22s ease, transform .42s cubic-bezier(.22, 1, .36, 1);
    }

    .page-faq .faq-category[open] > .faq-category-summary .faq-toggle,
    .page-faq .faq-question[open] > summary .faq-toggle {
      color: #fff;
      background: linear-gradient(135deg, var(--purple), var(--raspberry));
      box-shadow:
        0 14px 28px rgba(108, 34, 232, .22),
        inset 0 1px 0 rgba(255,255,255,.28);
      transform: rotate(180deg);
    }

    .page-faq .faq-question summary .faq-toggle {
      color: color-mix(in srgb, var(--faq-accent) 70%, #151F6D);
      background: color-mix(in srgb, var(--faq-accent) 6%, #fff);
      box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 16%, transparent),
        0 9px 18px rgba(21, 31, 109, .06);
    }

    .page-faq .faq-question[open] > summary .faq-toggle {
      color: var(--raspberry);
      background: #FAD8ED;
      box-shadow:
        inset 0 0 0 1px rgba(210, 15, 140, .18);
    }

    .page-faq .faq-category[open] > .faq-category-summary .faq-toggle::before,
    .page-faq .faq-question[open] > summary .faq-toggle::before {
      transform: translate(-50%, -50%) rotate(180deg);
    }

    .page-faq .faq-question {
      margin: 0 24px 14px 96px;
      border: 1px solid rgba(226, 230, 242, .88);
      border-radius: 18px;
      background: rgba(255,255,255,.82);
      box-shadow: 0 10px 26px rgba(21,31,109,.045);
      overflow: hidden;
      transform-origin: 50% 0;
      transition:
        border-color .32s ease,
        background .32s ease,
        box-shadow .32s ease,
        transform .32s cubic-bezier(.22, 1, .36, 1);
      will-change: height, transform;
    }

    .page-faq .faq-question:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--faq-accent) 22%, #e2e6f2);
      box-shadow: 0 14px 30px rgba(21,31,109,.07);
    }

    .page-faq .faq-question[open] {
      background: color-mix(in srgb, var(--faq-accent) 1%, #fff);
      border-color: color-mix(in srgb, var(--faq-accent) 30%, #e2e6f2);
    }

    .page-faq .faq-question summary {
      grid-template-columns: 38px minmax(0, 1fr) 44px;
      padding: 18px 20px 18px 22px;
      gap: 16px;
      align-items: center;
      font-size: clamp(1.06rem, 1.02vw, 1.26rem);
    }

    .page-faq .faq-question summary::before {
      content: "Q";
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 12px;
      background: color-mix(in srgb, var(--faq-accent) 10%, #fff);
      color: var(--faq-accent);
      font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
      font-size: .86rem;
      line-height: 1;
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 20%, transparent);
    }

    .page-faq .faq-question p {
      max-width: none;
      margin: 0;
      padding: 0 78px 26px 76px;
      color: #55586f;
      font-family: GilroyBold, Arial, sans-serif;
      line-height: 1.56;
    }

    .page-faq .faq-question[open] p {
      animation: faqAnswerReveal .46s cubic-bezier(.22, 1, .36, 1) both;
    }

    .page-faq .faq-category[open] > .faq-question {
      animation: faqQuestionLift .52s cubic-bezier(.22, 1, .36, 1) both;
    }

    .page-faq .faq-category[open] > .faq-question:nth-of-type(2) {
      animation-delay: .05s;
    }

    .page-faq .faq-category[open] > .faq-question:nth-of-type(3) {
      animation-delay: .1s;
    }

    .page-faq .faq-category.is-animating,
    .page-faq .faq-question.is-animating {
      overflow: hidden;
      pointer-events: none;
    }

    @keyframes faqQuestionLift {
      from {
        opacity: 0;
        transform: translateY(-8px) scale(.985);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    @keyframes faqAnswerReveal {
      from {
        opacity: 0;
        transform: translateY(-8px);
        filter: blur(5px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .page-faq .faq-category,
      .page-faq .faq-category::before,
      .page-faq .faq-category::after,
      .page-faq .faq-category-summary > svg,
      .page-faq .faq-question,
      .page-faq .faq-toggle,
      .page-faq .faq-question[open] p,
      .page-faq .faq-category[open] > .faq-question {
        animation: none !important;
        transition: none !important;
      }
    }

    @media (max-width: 1180px) {
      .page-faq .faq-sidebar-toggle {
        display: none;
      }

      .page-faq .faq-topic-card h2 {
        padding-right: 4px;
      }

      .page-faq .faq-category-summary {
        grid-template-columns: 52px minmax(0, 1fr) max-content 46px;
      }

      .page-faq .faq-question {
        margin-left: 88px;
      }
    }

    @media (max-width: 760px) {
      .page-faq .faq-accordion-stack {
        gap: 13px;
      }

      .page-faq .faq-category {
        border-radius: 20px;
      }

      .page-faq .faq-category-summary {
        grid-template-columns: 46px minmax(0, 1fr) 42px;
        min-height: 86px;
        gap: 13px;
        padding: 18px 16px;
      }

      .page-faq .faq-category-summary > svg {
        width: 44px;
        height: 44px;
        padding: 10px;
        border-radius: 13px;
      }

      .page-faq .faq-category-summary small {
        display: none;
      }

      .page-faq .faq-toggle {
        width: 40px;
        height: 40px;
      }

      .page-faq .faq-question {
        margin: 0 12px 12px;
        border-radius: 16px;
      }

      .page-faq .faq-question summary {
        grid-template-columns: 34px minmax(0, 1fr) 38px;
        gap: 12px;
        padding: 17px 14px;
      }

      .page-faq .faq-question summary::before {
        width: 31px;
        height: 31px;
        border-radius: 10px;
      }

      .page-faq .faq-question p {
        padding: 0 18px 22px 60px;
      }
    }

    .page-faq .faq-topic-card {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: 28px 22px 24px;
      border: 1px solid #C90D84;
      border-radius: 24px;
      background: #E13DA4;
      box-shadow:
        0 24px 60px rgba(210, 15, 140, .2),
        inset 0 1px 0 rgba(255,255,255,.2);
    }

    .page-faq .faq-topic-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: none;
      pointer-events: none;
    }

    .page-faq .faq-topic-card h2 {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin: 0 0 24px;
      padding: 0 52px 20px 4px;
      border-bottom: 1px solid rgba(255,255,255,.22);
      color: #fff;
      font-size: clamp(1.38rem, 1.52vw, 1.82rem);
      transition:
        opacity .28s ease,
        transform .38s cubic-bezier(.16, 1, .3, 1),
        max-height .38s cubic-bezier(.16, 1, .3, 1),
        margin .38s cubic-bezier(.16, 1, .3, 1),
        padding .38s cubic-bezier(.16, 1, .3, 1);
    }

    .page-faq .faq-topic-card h2::after {
      content: "10 topics";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 30px;
      padding: 0 12px;
      border-radius: 999px;
      background: #fff1f8;
      color: var(--raspberry);
      font-family: GilroyBold, Arial, sans-serif;
      font-size: .78rem;
      line-height: 1;
      white-space: nowrap;
      box-shadow: inset 0 0 0 1px rgba(210,15,140,.16);
    }

    .page-faq .faq-sidebar-toggle {
      position: absolute;
      top: 22px;
      right: 22px;
      z-index: 4;
      display: inline-grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255,255,255,.58);
      border-radius: 16px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,241,248,.95));
      color: #151F6D;
      cursor: pointer;
      isolation: isolate;
      overflow: visible;
      box-shadow:
        0 16px 32px rgba(21,31,109,.2),
        inset 0 1px 0 rgba(255,255,255,.76);
      transition:
        transform .38s cubic-bezier(.16, 1, .3, 1),
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        color .25s ease;
    }

    .page-faq .faq-sidebar-toggle::before {
      content: "\2039";
      position: absolute;
      right: -9px;
      top: 50%;
      z-index: 1;
      display: grid;
      place-items: center;
      width: 23px;
      height: 23px;
      border: 2px solid #fff;
      border-radius: 999px;
      background: var(--raspberry);
      color: #fff;
      font-family: GilroyBold, Arial, sans-serif;
      font-size: 1.12rem;
      line-height: 1;
      box-shadow: 0 10px 18px rgba(210,15,140,.24);
      transform: translateY(-50%);
      transition:
        transform .3s cubic-bezier(.16, 1, .3, 1),
        background .25s ease,
        color .25s ease,
        box-shadow .25s ease;
    }

    .page-faq .faq-sidebar-toggle:hover,
    .page-faq .faq-sidebar-toggle:focus-visible {
      background:
        linear-gradient(145deg, #fff, #fff1f8);
      border-color: rgba(21,31,109,.18);
      color: var(--raspberry);
      outline: 0;
      transform: translateY(-2px) scale(1.03);
      box-shadow:
        0 20px 38px rgba(21,31,109,.24),
        inset 0 1px 0 rgba(255,255,255,.88);
    }

    .page-faq .faq-sidebar-toggle:hover::before,
    .page-faq .faq-sidebar-toggle:focus-visible::before {
      transform: translateY(-50%) scale(1.08);
      box-shadow: 0 12px 22px rgba(210,15,140,.3);
    }

    .page-faq .faq-sidebar-toggle svg {
      width: 27px;
      height: 27px;
    }

    .page-faq .faq-sidebar-toggle-panel,
    .page-faq .faq-sidebar-toggle-arrow {
      transform-origin: 12px 12px;
      transition: transform .42s cubic-bezier(.16, 1, .3, 1);
    }

    .page-faq .faq-sidebar-toggle-arrow {
      stroke-width: 2.15;
    }

    .page-faq .faq-topic-list {
      gap: 10px;
    }

    .page-faq .faq-topic-button {
      position: relative;
      grid-template-columns: 32px minmax(0, 1fr) auto 18px;
      min-height: 58px;
      gap: 12px;
      padding: 8px 12px;
      border: 1px solid transparent;
      border-radius: 16px;
      background: rgba(255,255,255,.94);
      box-shadow: none;
      transition:
        transform .25s cubic-bezier(.22, 1, .36, 1),
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        color .25s ease;
    }

    .page-faq .faq-topic-button::before {
      content: "";
      position: absolute;
      left: 0;
      top: 12px;
      bottom: 12px;
      width: 4px;
      border-radius: 0 999px 999px 0;
      background: var(--faq-accent);
      opacity: 0;
      transform: scaleY(.4);
      transition: opacity .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
    }

    .page-faq .faq-topic-button svg {
      width: 30px;
      height: 30px;
      padding: 0;
      border-radius: 0;
      background: transparent;
      color: var(--faq-accent);
      stroke-width: 2.15;
      box-shadow: none;
      transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease;
    }

    .page-faq .faq-topic-button span {
      min-width: 0;
    }

    .page-faq .faq-topic-button small {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 28px;
      height: 26px;
      padding: 0 9px;
      border-radius: 999px;
      background: color-mix(in srgb, var(--faq-accent) 10%, #fff);
      color: color-mix(in srgb, var(--faq-accent) 76%, var(--blackberry));
      font-family: GilroyBold, Arial, sans-serif;
      font-size: .78rem;
      line-height: 1;
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--faq-accent) 17%, transparent);
    }

    .page-faq .faq-topic-button::after {
      width: 8px;
      height: 8px;
      border-width: 2px;
      opacity: .72;
      transition: transform .25s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
    }

    .page-faq .faq-topic-button.is-active,
    .page-faq .faq-topic-button:hover,
    .page-faq .faq-topic-button:focus-visible {
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--faq-accent) 9%, #fff), rgba(255,255,255,.95));
      border-color: color-mix(in srgb, var(--faq-accent) 20%, #e2e6f3);
      color: var(--blackberry);
      box-shadow: 0 10px 24px rgba(21,31,109,.07);
      transform: translateY(-1px);
      outline: 0;
    }

    .page-faq .faq-topic-button.is-active::before,
    .page-faq .faq-topic-button:hover::before,
    .page-faq .faq-topic-button:focus-visible::before {
      opacity: .85;
      transform: scaleY(1);
    }

    .page-faq .faq-topic-button.is-active svg,
    .page-faq .faq-topic-button:hover svg,
    .page-faq .faq-topic-button:focus-visible svg {
      transform: rotate(-2deg) scale(1.02);
      box-shadow: none;
    }

    .page-faq .faq-topic-button.is-active::after,
    .page-faq .faq-topic-button:hover::after,
    .page-faq .faq-topic-button:focus-visible::after {
      opacity: 1;
      transform: translateX(2px) rotate(-45deg);
    }

    @media (min-width: 1181px) {
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-layout {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 28px;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar {
        z-index: 30;
        gap: 14px;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-accordion-stack {
        z-index: 1;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-card {
        overflow: visible;
        z-index: 30;
        display: grid;
        justify-items: center;
        padding: 14px 10px 16px;
        border-color: rgba(255,255,255,.12);
        border-radius: 30px;
        background:
          linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.035)),
          #151F6D;
        box-shadow:
          0 28px 58px rgba(21,31,109,.22),
          inset 0 1px 0 rgba(255,255,255,.16);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-card h2 {
        max-height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        transform: translateY(-10px);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-card h2::after {
        display: none;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle {
        position: relative;
        top: auto;
        right: auto;
        width: 58px;
        height: 58px;
        margin-bottom: 32px;
        border-radius: 20px;
        border-color: rgba(255,255,255,.22);
        background:
          radial-gradient(circle at 26% 18%, rgba(255,255,255,.28), transparent 34%),
          linear-gradient(145deg, #D20F8C, #283A97);
        color: #fff;
        box-shadow:
          0 18px 36px rgba(210,15,140,.28),
          inset 0 1px 0 rgba(255,255,255,.24);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle::before {
        content: "\203A";
        right: -10px;
        width: 24px;
        height: 24px;
        background: #B2D235;
        color: #151F6D;
        box-shadow: 0 12px 22px rgba(178,210,53,.28);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -20px;
        width: 40px;
        height: 3px;
        border-radius: 999px;
        background:
          linear-gradient(90deg, rgba(210,15,140,.08), rgba(255,255,255,.74), rgba(178,210,53,.08));
        box-shadow: 0 0 18px rgba(255,255,255,.18);
        transform: translateX(-50%);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle:hover,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle:focus-visible {
        background:
          radial-gradient(circle at 26% 18%, rgba(255,255,255,.34), transparent 34%),
          linear-gradient(145deg, #E01B9B, #2F44B3);
        color: #fff;
        transform: translateY(-2px) scale(1.04);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle-arrow {
        transform: rotate(180deg);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-sidebar-toggle-panel {
        transform: translateX(2px);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-list {
        position: relative;
        z-index: 32;
        display: grid;
        justify-items: center;
        gap: 10px;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button {
        overflow: visible;
        z-index: 1;
        display: grid;
        place-items: center;
        grid-template-columns: 1fr;
        width: 56px;
        min-height: 56px;
        padding: 0;
        border-radius: 18px;
        border-color: rgba(255,255,255,.1);
        background: rgba(255,255,255,.07);
        color: #fff;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button::before {
        left: -10px;
        top: 50%;
        bottom: auto;
        width: 4px;
        height: 28px;
        border-radius: 999px;
        opacity: 0;
        transform: translateY(-50%) scaleY(.5);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button::after,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button small {
        display: none;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button svg {
        width: 27px;
        height: 27px;
        color: #fff;
        stroke-width: 1.85;
        filter: drop-shadow(0 8px 16px color-mix(in srgb, var(--faq-accent) 24%, transparent));
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button span {
        position: absolute;
        left: calc(100% + 18px);
        top: 50%;
        z-index: 80;
        min-width: max-content;
        max-width: 240px;
        padding: 10px 13px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 12px;
        background: #151F6D;
        color: #fff;
        font-family: GilroyBold, Arial, sans-serif;
        font-size: .86rem;
        line-height: 1;
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transform: translate(-8px, -50%) scale(.98);
        box-shadow: 0 18px 36px rgba(21,31,109,.26);
        transition:
          opacity .2s ease,
          transform .3s cubic-bezier(.16, 1, .3, 1);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button span::before {
        content: "";
        position: absolute;
        left: -5px;
        top: 50%;
        width: 10px;
        height: 10px;
        background: #151F6D;
        transform: translateY(-50%) rotate(45deg);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:hover,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:focus-visible,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button.is-active {
        z-index: 70;
        background:
          linear-gradient(145deg, color-mix(in srgb, var(--faq-accent) 42%, rgba(255,255,255,.1)), rgba(255,255,255,.11));
        border-color: color-mix(in srgb, var(--faq-accent) 48%, rgba(255,255,255,.16));
        transform: translateY(-1px) scale(1.015);
        box-shadow:
          inset 0 1px 0 rgba(255,255,255,.2),
          0 16px 26px color-mix(in srgb, var(--faq-accent) 18%, rgba(0,0,0,.12));
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:hover span,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:focus-visible span {
        opacity: 1;
        transform: translate(0, -50%) scale(1);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button.is-active::before,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:hover::before,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-topic-button:focus-visible::before {
        opacity: 1;
        transform: translateY(-50%) scaleY(1);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-card {
        position: relative;
        overflow: visible;
        z-index: 30;
        display: grid;
        place-items: center;
        grid-template-columns: 1fr;
        width: 82px;
        min-height: 82px;
        padding: 10px;
        border-radius: 26px;
        border-color: rgba(210,15,140,.2);
        background: #fff;
        box-shadow: 0 18px 38px rgba(21,31,109,.11);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-card > div {
        display: none;
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-icon {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        background: #fff1f8;
        box-shadow: inset 0 0 0 1px rgba(210,15,140,.12);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-card::after {
        content: "Need more detail?";
        position: absolute;
        left: calc(100% + 16px);
        top: 50%;
        z-index: 80;
        min-width: max-content;
        padding: 10px 13px;
        border-radius: 12px;
        background: #151F6D;
        color: #fff;
        font-family: GilroyBold, Arial, sans-serif;
        font-size: .86rem;
        line-height: 1;
        opacity: 0;
        pointer-events: none;
        transform: translate(-8px, -50%) scale(.98);
        box-shadow: 0 18px 36px rgba(21,31,109,.26);
        transition:
          opacity .2s ease,
          transform .3s cubic-bezier(.16, 1, .3, 1);
      }

      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-card:hover::after,
      .page-faq .faq-redesign.is-sidebar-collapsed .faq-more-card:focus-within::after {
        opacity: 1;
        transform: translate(0, -50%) scale(1);
      }
    }

    @media (max-width: 760px) {
      .page-faq .faq-topic-card {
        padding: 22px 14px 18px;
        border-radius: 20px;
      }

      .page-faq .faq-topic-card h2 {
        padding-inline: 4px;
        font-size: 1.42rem;
      }

      .page-faq .faq-sidebar-toggle {
        display: none;
      }

      .page-faq .faq-topic-button {
        grid-template-columns: 32px minmax(0, 1fr) auto 16px;
        min-height: 56px;
        padding: 8px 10px;
        font-size: .94rem;
      }

      .page-faq .faq-topic-button svg {
        width: 28px;
        height: 28px;
        padding: 0;
      }

      .page-faq .faq-topic-button small {
        min-width: 25px;
        height: 24px;
        padding-inline: 8px;
        font-size: .72rem;
      }
    }

    .page-faq .faq-tools {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      display: grid;
      grid-template-columns: max-content minmax(260px, 340px) minmax(0, 1fr);
      gap: 18px;
      min-height: 116px;
      padding: 22px;
      border: 1px solid #3349B8;
      border-radius: 26px;
      background: #536FE3;
      box-shadow:
        0 24px 62px rgba(21,31,109,.23),
        inset 0 1px 0 rgba(255,255,255,.24);
    }

    .page-faq .faq-tools::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background: none;
      pointer-events: none;
    }

    .page-faq .faq-tools::after {
      content: "";
      position: absolute;
      top: 12px;
      left: 24px;
      right: 24px;
      z-index: 0;
      height: 1px;
      border-radius: 999px;
      background: none;
      pointer-events: none;
    }

    .page-faq .faq-tools-title,
    .page-faq .faq-search,
    .page-faq .faq-tool-chips {
      position: relative;
      z-index: 1;
    }

    .page-faq .faq-tools-title {
      min-height: 66px;
      padding: 0 16px 0 18px;
      border: 1px solid rgba(210,15,140,.14);
      border-radius: 20px;
      background: linear-gradient(135deg, #fff7fc, rgba(255,255,255,.9));
      color: #151F6D;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.92),
        0 10px 24px rgba(210,15,140,.055);
      letter-spacing: 0;
    }

    .page-faq .faq-tools-title svg {
      width: 40px;
      height: 40px;
      padding: 8px;
      border-radius: 13px;
      background: #fff;
      color: #151F6D;
      filter: drop-shadow(0 8px 14px rgba(21,31,109,.12));
      stroke-width: 2.2;
    }

    .page-faq .faq-search {
      align-self: center;
      flex: none;
      max-width: none;
    }

    .page-faq .faq-search input {
      height: 66px;
      padding: 0 66px 0 24px;
      border-color: rgba(40,58,151,.14);
      border-radius: 20px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.88));
      font-size: 1rem;
      box-shadow:
        0 14px 32px rgba(21,31,109,.075),
        inset 0 1px 0 rgba(255,255,255,.96);
      transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s cubic-bezier(.22, 1, .36, 1);
    }

    .page-faq .faq-search input:focus {
      border-color: rgba(210,15,140,.42);
      box-shadow:
        0 0 0 5px rgba(210,15,140,.1),
        0 16px 34px rgba(21,31,109,.09),
        inset 0 1px 0 rgba(255,255,255,.96);
      transform: translateY(-1px);
    }

    .page-faq .faq-search svg {
      right: 16px;
      width: 38px;
      height: 38px;
      padding: 8px;
      border-radius: 12px;
      background: #fff;
      color: var(--blackberry);
      box-shadow:
        inset 0 0 0 1px rgba(40,58,151,.08),
        0 7px 15px rgba(21,31,109,.08);
      stroke-width: 2.35;
    }

    .page-faq .faq-tool-chips {
      display: grid;
      grid-template-columns: repeat(5, minmax(140px, 1fr));
      gap: 12px;
      align-self: center;
      justify-content: stretch;
      flex: none;
    }

    .page-faq .faq-chip {
      --chip-accent: var(--blueberry);
      position: relative;
      overflow: hidden;
      justify-content: center;
      min-height: 66px;
      gap: 0;
      padding: 10px 14px;
      font-size: .9rem;
      line-height: 1.04;
      text-align: center;
      border-color: color-mix(in srgb, var(--chip-accent) 15%, #dfe3f4);
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.76));
      color: var(--blackberry);
      box-shadow:
        0 12px 26px rgba(21,31,109,.055),
        inset 0 1px 0 rgba(255,255,255,.94);
      transition:
        transform .25s cubic-bezier(.22, 1, .36, 1),
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        color .25s ease;
    }

    .page-faq .faq-chip::before {
      content: "";
      position: absolute;
      left: 0;
      top: 15px;
      bottom: 15px;
      width: 3px;
      border-radius: 0 999px 999px 0;
      background: var(--chip-accent);
      opacity: .45;
      transform: scaleY(.55);
      transition: opacity .25s ease, transform .25s cubic-bezier(.22, 1, .36, 1);
    }

    .page-faq .faq-chip span {
      position: relative;
      z-index: 1;
      min-width: 0;
    }

    .page-faq .faq-chip:hover,
    .page-faq .faq-chip:focus-visible {
      border-color: color-mix(in srgb, var(--chip-accent) 26%, #dfe3f4);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--chip-accent) 8%, #fff), rgba(255,255,255,.96));
      color: var(--blackberry);
      outline: 0;
      box-shadow:
        0 16px 34px rgba(21,31,109,.08),
        inset 0 1px 0 rgba(255,255,255,.98);
      transform: translateY(-2px);
    }

    .page-faq .faq-chip:hover::before,
    .page-faq .faq-chip:focus-visible::before {
      opacity: .82;
      transform: scaleY(1);
    }

    @media (max-width: 1180px) {
      .page-faq .faq-tools {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .page-faq .faq-tools-title {
        width: max-content;
      }

      .page-faq .faq-tool-chips {
        grid-template-columns: repeat(5, minmax(132px, 1fr));
      }
    }

    @media (max-width: 760px) {
      .page-faq .faq-tools {
        padding: 16px;
        border-radius: 22px;
      }

      .page-faq .faq-tools::after {
        left: 18px;
        right: 18px;
      }

      .page-faq .faq-tools-title {
        width: 100%;
        min-height: 56px;
        justify-content: space-between;
        padding: 0 12px 0 14px;
        border-radius: 17px;
        font-size: .98rem;
      }

      .page-faq .faq-tools-title svg {
        width: 36px;
        height: 36px;
        border-radius: 12px;
      }

      .page-faq .faq-search input {
        height: 58px;
        padding: 0 58px 0 18px;
        border-radius: 16px;
        font-size: .96rem;
      }

      .page-faq .faq-search svg {
        right: 12px;
        width: 34px;
        height: 34px;
        border-radius: 11px;
      }

      .page-faq .faq-tool-chips {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .page-faq .faq-chip {
        min-height: 56px;
        padding: 9px 12px;
        border-radius: 15px;
        font-size: .82rem;
      }
    }

@media (max-width: 760px) {
  body.page-faq .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-faq .login-link {
    display: none;
  }

  body.page-faq .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-faq .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-faq .sticky-booking {
    display: none;
  }

  body.page-faq .back-to-top {
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }

  body.page-faq.has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-faq .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }
}


/* Preserve rendered aspect ratio for the protected footer logo when HTML dimensions are present. */
.site-footer img[src="assets/images/main-logo.png"] {
  height: auto;
}


/* Policies page: local styles live here so the page can stay light and cache cleanly. */
.policy-panel > h2 {
      position: relative;
      display: table;
      margin: 0 auto 16px;
      text-align: center;
      font-size: clamp(1.58rem, 1.9vw, 2.35rem);
      line-height: 1.02;
    }

    .policy-panel > h2 + p {
      max-width: 820px;
      margin: 10px auto 0;
      color: var(--blackberry);
      font-family: GilroyBold, Arial, sans-serif;
      font-size: clamp(.98rem, .98vw, 1.12rem);
      line-height: 1.42;
      text-align: center;
    }

    .policy-panel > h2::before,
    .policy-panel > h2::after {
      content: "";
      position: absolute;
      top: 50%;
      width: 34px;
      height: 28px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      transform: translateY(-50%);
    }

    .policy-panel > h2::before {
      right: calc(100% + 18px);
      background-image: url("../images/header-text-bars-left-pink.png");
    }

    .policy-panel > h2::after {
      left: calc(100% + 18px);
      background-image: url("../images/header-text-bars-right-pink.png");
    }

    body.page-policies .page-hero {
      margin-bottom: clamp(30px, 3.4vw, 60px);
    }

    body.page-policies .policies-hero-picture-object {
      overflow: hidden;
    }

    body.page-policies .policies-hero-picture,
    body.page-policies .policies-hero-picture img {
      display: block;
      width: 100%;
      height: 100%;
    }

    body.page-policies .policies-hero-picture img {
      border: 0;
      object-fit: cover;
    }

    @media (max-width: 760px) {
      .policy-panel > h2::before,
      .policy-panel > h2::after {
        display: none;
      }
    }

.policy-support-copy h2 {
      font-size: clamp(1.25rem, 1.35vw, 1.62rem);
      line-height: 1.05;
    }

.policy-support-copy > p,
    .policy-contact-lines p,
    .policy-alert p {
      font-size: clamp(.94rem, .92vw, 1.03rem);
      line-height: 1.44;
    }

.policy-grid .policy-link {
      transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }

    .policy-grid .policy-link:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 34px rgba(21, 31, 109, .10);
    }

    .policy-grid .policy-link:nth-child(1) {
      background-color: #fffbfd;
      border-color: #fbe4f3;
    }

    .policy-grid .policy-link:nth-child(2) {
      background-color: #fffbf7;
      border-color: #f8e7d4;
    }

    .policy-grid .policy-link:nth-child(3) {
      background-color: #fbfdec;
      border-color: #e9f4c4;
    }

    .policy-grid .policy-link:nth-child(4) {
      background-color: #fbf9ff;
      border-color: #eadffc;
    }

    .policy-grid .policy-link:nth-child(5) {
      background-color: #f8feff;
      border-color: #d9f3fb;
    }

    .policy-grid .policy-link:nth-child(6) {
      background-color: #f9fff8;
      border-color: #e0f5dd;
    }

    .policy-grid .policy-link:nth-child(7) {
      background-color: #fffef8;
      border-color: #f5edc8;
    }

    .policy-grid .policy-link > svg:first-child {
      transform-origin: center;
      will-change: transform, filter;
    }

    .policy-grid .policy-link > svg:first-child path {
      animation: policyIconLineGlow 5.8s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(1) > svg:first-child {
      background-color: #ffe3f4;
      color: #d20f8c;
      animation: policyIconGuardian 5.6s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(2) > svg:first-child {
      background-color: #ffe8d3;
      color: #f37121;
      animation: policyIconHeartbeat 5.1s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(3) > svg:first-child {
      background-color: #eef9c7;
      color: #79a900;
      animation: policyIconLift 5.4s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(4) > svg:first-child {
      background-color: #ede4ff;
      color: #6c2bea;
      animation: policyIconOrbit 6.2s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(5) > svg:first-child {
      background-color: #ddf6ff;
      color: #2587d9;
      animation: policyIconSignal 5.7s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(6) > svg:first-child {
      background-color: #e5f9e2;
      color: #42a447;
      animation: policyIconPageTurn 5.9s ease-in-out infinite;
    }

    .policy-grid .policy-link:nth-child(7) > svg:first-child {
      background-color: #fff3c9;
      color: #c58a00;
      animation: policyIconStarTwinkle 5.3s ease-in-out infinite;
    }

    @keyframes policyIconGuardian {
      0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 0 0 rgba(210, 15, 140, 0)); }
      38% { transform: translateY(-3px) scale(1.035); filter: drop-shadow(0 8px 12px rgba(210, 15, 140, .18)); }
      68% { transform: translateY(1px) scale(.99); }
    }

    @keyframes policyIconHeartbeat {
      0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 0 rgba(243, 113, 33, 0)); }
      28% { transform: scale(1.045) rotate(-2deg); filter: drop-shadow(0 8px 12px rgba(243, 113, 33, .17)); }
      42% { transform: scale(.985) rotate(2deg); }
      58% { transform: scale(1.025) rotate(0deg); }
    }

    @keyframes policyIconLift {
      0%, 100% { transform: translate3d(0, 0, 0); filter: drop-shadow(0 0 0 rgba(121, 169, 0, 0)); }
      36% { transform: translate3d(0, -4px, 0); filter: drop-shadow(0 9px 12px rgba(121, 169, 0, .17)); }
      72% { transform: translate3d(0, 1px, 0); }
    }

    @keyframes policyIconOrbit {
      0%, 100% { transform: rotate(0deg) translateY(0) scale(1); filter: drop-shadow(0 0 0 rgba(108, 43, 234, 0)); }
      34% { transform: rotate(4deg) translateY(-3px) scale(1.025); filter: drop-shadow(0 8px 12px rgba(108, 43, 234, .17)); }
      70% { transform: rotate(-3deg) translateY(1px) scale(.995); }
    }

    @keyframes policyIconSignal {
      0%, 100% { transform: translateX(0) scale(1); filter: drop-shadow(0 0 0 rgba(37, 135, 217, 0)); }
      30% { transform: translateX(2px) scale(1.025); filter: drop-shadow(0 8px 12px rgba(37, 135, 217, .16)); }
      46% { transform: translateX(-2px) scale(1.015); }
      64% { transform: translateX(1px) scale(1); }
    }

    @keyframes policyIconPageTurn {
      0%, 100% { transform: rotate(0deg) translateY(0); filter: drop-shadow(0 0 0 rgba(66, 164, 71, 0)); }
      35% { transform: rotate(-3deg) translateY(-3px); filter: drop-shadow(0 8px 12px rgba(66, 164, 71, .16)); }
      62% { transform: rotate(2deg) translateY(1px); }
    }

    @keyframes policyIconStarTwinkle {
      0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 0 rgba(197, 138, 0, 0)); }
      34% { transform: scale(1.055) rotate(5deg); filter: drop-shadow(0 8px 12px rgba(197, 138, 0, .18)); }
      58% { transform: scale(.99) rotate(-3deg); }
    }

    @keyframes policyIconLineGlow {
      0%, 72%, 100% { opacity: 1; filter: none; }
      84% { opacity: .82; filter: drop-shadow(0 0 3px currentColor); }
      94% { opacity: 1; filter: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      .policy-grid .policy-link,
      .policy-grid .policy-link:hover,
      .policy-grid .policy-link > svg:first-child,
      .policy-grid .policy-link > svg:first-child path {
        animation: none;
        transform: none;
        transition: none;
      }
    }

@media (max-width: 760px) {
  body.page-policies .header-actions {
    flex: 0 0 auto;
    gap: 0;
  }

  body.page-policies .login-link {
    display: none;
  }

  body.page-policies .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
  }

  body.page-policies .menu-toggle span {
    width: 34px;
    margin: 6px auto;
  }

  body.page-policies .sticky-booking {
    display: none;
  }

  body.page-policies .back-to-top {
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }

  body.page-policies.has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.page-policies .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }
}

@media (min-width: 761px) {
  body.page-policies .cookie-card {
    width: min(360px, calc(100vw - 48px));
    padding: 18px 18px 20px;
  }

  body.page-policies .cookie-card__top {
    gap: 10px;
    margin-bottom: 6px;
  }

  body.page-policies .cookie-card__icon {
    width: 34px;
    height: 34px;
  }

  body.page-policies .cookie-card h2 {
    font-size: 1.2rem;
    margin-bottom: 6px;
  }

  body.page-policies .cookie-card p:not(.cookie-card__small) {
    font-size: .84rem;
    line-height: 1.22;
    margin-bottom: 6px;
  }

  body.page-policies .cookie-card__small {
    display: none;
  }

  body.page-policies .cookie-card__actions {
    gap: 8px;
    margin-top: 10px;
  }

  body.page-policies .cookie-btn {
    min-height: 40px;
    padding: 0 12px;
    font-size: .78rem;
  }
}


/* Offers page: scoped layout safeguards for the SEO-ready page structure. */
@media (max-width: 760px) {
  body.page-offers .sticky-booking {
    display: none;
  }

  body.page-offers .cookie-card {
    max-height: min(38vh, 285px);
    overflow: auto;
    padding: 16px;
  }

  body.page-offers .cookie-card__top {
    gap: 8px;
    margin-bottom: 4px;
  }

  body.page-offers .cookie-card__icon {
    width: 34px;
    height: 34px;
  }

  body.page-offers .cookie-card h2 {
    font-size: 1.08rem;
    margin-bottom: 5px;
  }

  body.page-offers .cookie-card p:not(.cookie-card__small) {
    font-size: .8rem;
    line-height: 1.18;
    margin-bottom: 6px;
  }

  body.page-offers .cookie-card__small {
    display: none;
  }

  body.page-offers .cookie-card__actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 8px;
  }

  body.page-offers .cookie-btn {
    min-height: 40px;
    padding: 0 6px;
    font-size: .68rem;
  }
}

@media (max-width: 370px) {
  body.page-offers .cookie-card__actions {
    grid-template-columns: 1fr;
  }

  body.page-offers .cookie-btn {
    font-size: .78rem;
  }
}


/* Mobile sticky booking: keep the footer shortcut visible on content-heavy pages. */
@media (max-width: 760px) {
  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers) {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers) .sticky-booking {
    display: flex;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    min-height: 52px;
    border-radius: 14px;
  }

  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers) .back-to-top {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers) .back-to-top.is-visible {
    display: grid;
  }

  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers).has-cookie-banner .sticky-booking {
    display: none;
  }

  body:is(.page-parents, .page-prices, .page-work, .page-faq, .page-policies, .page-offers).has-cookie-banner .back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@media (min-width: 761px) {
  body.page-offers .cookie-card {
    width: min(360px, calc(100vw - 48px));
    padding: 18px 18px 20px;
  }

  body.page-offers .cookie-card__top {
    gap: 10px;
    margin-bottom: 6px;
  }

  body.page-offers .cookie-card__icon {
    width: 34px;
    height: 34px;
  }

  body.page-offers .cookie-card h2 {
    font-size: 1.2rem;
    margin-bottom: 6px;
  }

  body.page-offers .cookie-card p:not(.cookie-card__small) {
    font-size: .84rem;
    line-height: 1.22;
    margin-bottom: 6px;
  }

  body.page-offers .cookie-card__small {
    display: none;
  }

  body.page-offers .cookie-card__actions {
    gap: 8px;
    margin-top: 10px;
  }

  body.page-offers .cookie-btn {
    min-height: 40px;
    padding: 0 12px;
    font-size: .78rem;
  }
}


@media (min-width: 1600px) {
  body.page-offers .cookie-consent {
    bottom: clamp(18px, 2.2vw, 34px);
  }

  body.page-offers .cookie-card {
    width: 300px;
  }

  body.page-offers .cookie-btn {
    padding: 0 8px;
    font-size: .72rem;
  }
}

/* Contact page: scoped layout safeguards for the SEO-ready responsive page. */
body.page-contact {
  overflow-x: clip;
}

body.page-contact .page-hero,
body.page-contact .page-content {
  overflow-x: clip;
}

body.page-contact .contact-message-card,
body.page-contact .contact-form,
body.page-contact .contact-safeguarding,
body.page-contact .contact-social-row,
body.page-contact .site-footer {
  max-width: 100%;
}

body.page-contact .contact-file-display,
body.page-contact .contact-file-name {
  min-width: 0;
}

@supports not (overflow: clip) {
  body.page-contact,
  body.page-contact .page-hero,
  body.page-contact .page-content {
    overflow-x: hidden;
  }
}

@media (max-width: 760px) {
  body.page-contact .page-hero .doodle-star-pink {
    top: -10px;
    right: clamp(12px, 3vw, 22px);
    width: clamp(58px, 13vw, 70px);
    height: clamp(58px, 13vw, 70px);
  }

  body.page-contact .page-hero .doodle-star-pink img {
    width: 100%;
    height: 100%;
  }

  body.page-contact .contact-field-date .date-field-placeholder {
    font-size: .94rem;
    max-width: calc(100% - 116px);
  }

  body.page-contact .contact-file-display {
    gap: 8px;
    padding-right: 12px;
  }

  body.page-contact .contact-file-button {
    padding-left: 10px;
    padding-right: 10px;
  }

  body.page-contact .contact-upload-info {
    border-radius: 14px;
    max-width: 100%;
    white-space: normal;
  }

  body.page-contact .contact-safeguarding {
    overflow: hidden;
  }

  body.page-contact .cookie-consent {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  body.page-contact .cookie-card {
    max-height: min(46vh, 340px);
    overflow: auto;
  }
}

@media (max-width: 390px) {
  body.page-contact .cookie-card {
    max-height: min(44vh, 310px);
  }

  body.page-contact .cookie-card__icon {
    width: 36px;
    height: 36px;
  }
}

.mobile-hero-svg-fallback {
  display: none;
}

/* Mobile hero image alignment for shared decorative page heroes. */
@media (max-width: 760px) {
  html:has(body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact)),
  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) {
    overflow-x: clip;
  }

  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .our-camp-hero-visual {
    display: grid;
    place-items: center;
    align-self: center;
    justify-self: center;
    width: min(82vw, 340px);
    max-width: calc(100vw - 56px);
    min-height: clamp(300px, 78vw, 340px);
    margin: clamp(6px, 3vw, 16px) auto 0;
  }

  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .our-camp-hero-visual .our-camp-hero-frame {
    display: none;
  }

  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .mobile-hero-svg-fallback {
    display: block;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 244 / 230;
    overflow: visible;
    filter: drop-shadow(0 20px 36px rgba(21, 31, 109, .12));
  }

  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .our-camp-hero-visual::before {
    left: -18px;
    bottom: -4px;
    width: 86px;
    height: 96px;
  }

  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .our-camp-hero-visual::after {
    right: clamp(-82px, -18vw, -58px);
    top: -6px;
    width: min(62vw, 236px);
    height: min(62vw, 236px);
  }
}

@media (max-width: 390px) {
  body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) .page-hero .our-camp-hero-visual {
    width: min(84vw, 306px);
    min-height: 292px;
  }
}

@supports not (overflow: clip) {
  @media (max-width: 760px) {
    html:has(body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact)),
    body:is(.page-our-camp, .page-prices, .page-work, .page-parents, .page-faq, .page-policies, .page-offers, .page-contact) {
      overflow-x: hidden;
    }
  }
}

/* ==========================================================================
   Responsive audit refinements

   Small, measured improvements from the responsive audit. These rules focus on
   touch targets, long text wrapping and narrow-screen stability, while keeping
   the established desktop composition and visual design intact.
   ========================================================================== */
@media (max-width: 1440px) {
  .desktop-nav a,
  .desktop-nav .submenu a,
  .login-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .page-parents .parents-dots {
    gap: 0;
  }

  .page-parents .parents-dots button {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: -17px -10px;
    background: transparent;
  }

  .page-parents .parents-dots button::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #d7d8e5;
    transition: width .18s ease, background .18s ease, transform .18s ease;
  }

  .page-parents .parents-dots button.is-active,
  .page-parents .parents-dots button[aria-current="true"] {
    width: 44px;
    background: transparent;
  }

  .page-parents .parents-dots button.is-active::before,
  .page-parents .parents-dots button[aria-current="true"]::before {
    width: 30px;
    background: var(--raspberry);
  }

  .page-parents .parents-dots button:hover {
    transform: none;
  }

  .page-parents .parents-dots button:hover::before {
    transform: translateY(-1px);
  }
}

.breadcrumb {
  flex-wrap: wrap;
}

.breadcrumb a,
.breadcrumb b,
.legal-cookie-settings button,
.cookie-card .cookie-btn,
.cookie-centre .cookie-btn,
.cookie-consent .cookie-card .cookie-btn,
.cookie-modal .cookie-centre .cookie-btn,
.billericay-latest-map-fullscreen,
body.page-offers .offers-email-link,
body.page-offers .offers-support-card p a,
body.page-offers .offers-important-contact a,
body.page-standard .safeguarding-section a {
  min-height: 44px;
}

.breadcrumb a,
.breadcrumb b,
.legal-cookie-settings button,
body.page-offers .offers-support-card p a,
body.page-faq .faq-question p a,
body.page-faq #faqMoreDetail a,
body.page-standard .safeguarding-section a,
.page-home .split-heading a {
  display: inline-flex;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: -10px;
  margin-bottom: -10px;
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.legal-cookie-settings button {
  padding-right: 4px;
  padding-left: 4px;
}

body.page-standard .safeguarding-section a {
  min-width: 44px;
}

.page-home .itinerary-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

@media (max-width: 1180px) {
  .mobile-panel a,
  .mobile-submenu-toggle,
  .mobile-submenu-panel a,
  .footer-list a,
  .footer-book-card,
  .footer-login,
  .footer-email {
    min-height: 44px;
  }
}

@media (max-width: 760px) {
  .breadcrumb {
    row-gap: 6px;
    margin-bottom: 28px;
  }

  .cta-panel,
  .parent-login-panel,
  .footer-book-card,
  .footer-login,
  .footer-email,
  .policy-link,
  .note-card,
  .contact-lines p,
  .billericay-latest-map-fullscreen,
  body.page-offers .offers-email-link,
  body.page-offers .offers-support-card a {
    min-width: 0;
  }

  .cta-panel h2,
  .cta-panel p,
  .footer-book-card strong,
  .footer-book-card small,
  .footer-login strong,
  .footer-login small,
  .footer-email,
  .policy-link strong,
  .policy-link small,
  .note-card,
  .contact-lines strong,
  .billericay-latest-map-fullscreen,
  body.page-offers .offers-email-link,
  body.page-offers .offers-support-card a,
  a[href^="mailto:"],
  a[href*="gov.uk"] {
    overflow-wrap: anywhere;
  }
}
/* Shared page-transition motion styles. */
.c4c-scroll-progress {
  --c4c-scroll-progress: 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 95;
  width: 100%;
  height: 3px;
  pointer-events: none;
  opacity: 0;
  transform: scaleX(var(--c4c-scroll-progress));
  transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--raspberry), var(--lime), var(--blueberry), var(--satsuma));
  box-shadow: 0 8px 18px rgba(210, 15, 140, .16);
  transition: opacity .22s ease;
}

.c4c-scroll-progress.is-active {
  opacity: .92;
}

.c4c-page-transition {
  position: fixed;
  inset: 140px 0 0;
  z-index: 10000;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  contain: strict;
  background: transparent;
  transition: opacity .36s cubic-bezier(.22, 1, .36, 1), visibility .36s step-end;
}

.c4c-page-transition::before,
.c4c-page-transition::after,
.c4c-page-transition__wash,
.c4c-page-transition__depth {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.c4c-page-transition::before {
  opacity: 0;
  background: rgba(255, 255, 255, .08);
}

.c4c-page-transition::after {
  opacity: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .18), transparent 36%),
    linear-gradient(180deg, rgba(21, 31, 109, .018), transparent 58%);
}

.c4c-page-transition__wash {
  opacity: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .10) 50%, transparent 80%);
  transform: translate3d(-10%, 0, 0);
}

.c4c-page-transition__depth {
  opacity: 0;
  box-shadow: inset 0 22px 34px rgba(21, 31, 109, .018);
}

.c4c-page-transition.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity .34s cubic-bezier(.22, 1, .36, 1), visibility 0s linear;
}

.c4c-page-transition.is-arriving {
  opacity: 1;
}

.c4c-page-transition.is-arriving.is-entered {
  opacity: 0;
  pointer-events: none;
  transition-duration: .5s;
}

.c4c-page-transition.is-leaving::before,
.c4c-page-transition.is-arriving::before {
  animation: c4cTransitionVeil .42s cubic-bezier(.22, 1, .36, 1) both;
}

.c4c-page-transition.is-leaving::after,
.c4c-page-transition.is-arriving::after {
  animation: c4cTransitionDepth .48s cubic-bezier(.22, 1, .36, 1) both;
}

.c4c-page-transition.is-leaving .c4c-page-transition__wash,
.c4c-page-transition.is-arriving .c4c-page-transition__wash {
  animation: c4cTransitionWash .52s cubic-bezier(.16, 1, .3, 1) both;
}

.c4c-page-transition.is-leaving .c4c-page-transition__depth,
.c4c-page-transition.is-arriving .c4c-page-transition__depth {
  animation: c4cTransitionInset .48s cubic-bezier(.22, 1, .36, 1) both;
}

.c4c-page-transition.is-arriving.is-entered::before,
.c4c-page-transition.is-arriving.is-entered::after,
.c4c-page-transition.is-arriving.is-entered .c4c-page-transition__wash,
.c4c-page-transition.is-arriving.is-entered .c4c-page-transition__depth {
  animation-play-state: paused;
}

.c4c-page-exiting body {
  cursor: progress;
}

.c4c-page-exiting .site-header {
  pointer-events: none;
}

.c4c-page-exiting .hero-slider,
.c4c-page-exiting .page-hero,
.c4c-page-exiting .venue-hero,
.c4c-page-exiting .page-content {
  opacity: .972;
  transform: translate3d(0, -2px, 0);
  filter: saturate(.992) brightness(.998);
  transition:
    opacity .38s cubic-bezier(.22, 1, .36, 1),
    transform .42s cubic-bezier(.22, 1, .36, 1),
    filter .38s cubic-bezier(.22, 1, .36, 1);
}

.c4c-page-arriving .hero-slider,
.c4c-page-arriving .page-hero,
.c4c-page-arriving .venue-hero,
.c4c-page-arriving .page-content {
  animation: c4cPageArrive .62s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes c4cTransitionVeil {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes c4cTransitionDepth {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes c4cTransitionWash {
  0% {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }
  38% {
    opacity: .22;
  }
  100% {
    opacity: .07;
    transform: translate3d(8%, 0, 0);
  }
}

@keyframes c4cTransitionInset {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes c4cPageArrive {
  0% {
    opacity: .975;
    transform: translate3d(0, 2px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 760px) {
  .c4c-page-transition {
    inset: 108px 0 0;
  }
}

/* Branded context panel: a refined iHomepage credit shown in place of the browser right-click menu. */
.c4c-context-credit {
  position: fixed;
  left: 14px;
  top: 14px;
  z-index: 10000;
  width: min(334px, calc(100vw - 28px));
  padding: 14px;
  overflow: hidden;
  border: 1px solid rgba(21, 31, 109, .12);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(251, 252, 255, .96) 54%, rgba(255, 247, 252, .96)),
    #fff;
  box-shadow: 0 24px 52px rgba(21, 31, 109, .2);
  color: #151f6d;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 9px, 0) scale(.982);
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility .2s ease;
  user-select: none;
  visibility: hidden;
}

.c4c-context-credit::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .68);
}

.c4c-context-credit__shine {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #d20f8c 0%, #b2d235 54%, #2089ee 100%);
}

.c4c-context-credit__corner {
  position: absolute;
  right: -34px;
  top: -34px;
  width: 110px;
  height: 92px;
  background:
    repeating-linear-gradient(135deg, rgba(210, 15, 140, .14) 0 2px, transparent 2px 9px);
  transform: rotate(8deg);
}

.c4c-context-credit.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  visibility: visible;
}

.c4c-context-credit__brand {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 13px;
  align-items: center;
}

.c4c-context-credit__logo-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f4f5f9, #e8ebf3);
  box-shadow: inset 0 0 0 1px rgba(21, 31, 109, .08), 0 14px 26px rgba(21, 31, 109, .12);
}

.c4c-context-credit__logo-card img {
  width: 100%;
  max-height: 44px;
  object-fit: contain;
}

.c4c-context-credit__brand-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.c4c-context-credit__brand-copy span {
  color: #d20f8c;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.c4c-context-credit__brand-copy strong {
  color: #06177f;
  font-family: EquitySansAltBlack, GilroyExtraBold, Arial, sans-serif;
  font-size: 1.18rem;
  line-height: 1.02;
}

.c4c-context-credit__rule {
  position: relative;
  z-index: 1;
  display: block;
  height: 1px;
  margin: 13px 0 12px;
  background: linear-gradient(90deg, rgba(210, 15, 140, .38), rgba(178, 210, 53, .3), rgba(32, 137, 238, .26), transparent);
}

.c4c-context-credit__statement {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
  color: #151f6d;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .88rem;
  line-height: 1.38;
}

.c4c-context-credit__email {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin-top: 13px;
  padding: 9px 12px;
  border: 1px solid rgba(210, 15, 140, .18);
  border-radius: 999px;
  background: rgba(255, 247, 252, .92);
  color: #d20f8c;
  font-family: GilroyBold, Arial, sans-serif;
  font-size: .86rem;
  line-height: 1;
  box-shadow: 0 10px 20px rgba(210, 15, 140, .1);
  white-space: nowrap;
}

.c4c-context-credit__email svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
  .c4c-context-credit {
    transition: none;
  }
}
html.c4c-reveal-ready [data-c4c-reveal] {
  --c4c-reveal-y: 8px;
  opacity: .78;
  transform: translate3d(0, var(--c4c-reveal-y), 0);
  transition:
    opacity 1.05s cubic-bezier(.22, 1, .36, 1),
    transform 1.18s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--c4c-reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.c4c-reveal-ready [data-c4c-reveal="hero"] {
  --c4c-reveal-y: 6px;
}

html.c4c-reveal-ready [data-c4c-reveal="item"] {
  --c4c-reveal-y: 8px;
}

html.c4c-reveal-ready [data-c4c-reveal="panel"] {
  --c4c-reveal-y: 10px;
}

html.c4c-reveal-ready [data-c4c-reveal].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.c4c-reveal-ready [data-c4c-reveal].is-reveal-complete {
  will-change: auto;
}

[data-c4c-parallax] {
  will-change: translate;
}

@media (max-width: 899px) {
  [data-c4c-parallax] {
    translate: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .c4c-scroll-progress,
  .c4c-page-transition {
    display: none !important;
  }

  html.c4c-reveal-ready [data-c4c-reveal],
  html.c4c-reveal-ready [data-c4c-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition: none;
  }

  [data-c4c-parallax] {
    translate: none !important;
    will-change: auto;
  }
}

