:root{--blue:#3266ff;--deep:#575757;--aqua:#66f172;--pale:#f5f5f5;--ink:#333;--muted:#575757;--yellow:#66f172;--white:#fff;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Work Sans",Arial,sans-serif;font-size:17px;line-height:1.65}img{max-width:100%;display:block}a{color:var(--blue)}a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:20}.site-header{background:#fff;border-bottom:1px solid #dce7ed;position:relative;z-index:5}.nav{max-width:1160px;margin:auto;min-height:92px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:105px;height:72px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{text-decoration:none;color:var(--ink);font-weight:600}.nav-links a:hover{color:var(--blue)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff!important;text-decoration:none;border-radius:999px;padding:13px 24px;font-weight:700;min-height:50px;transition:.2s}.button:hover,.nav-cta:hover{background:var(--deep);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--blue)!important;border:2px solid var(--blue)}.menu-toggle{display:none;background:none;border:2px solid var(--blue);border-radius:8px;padding:9px;color:var(--blue);width:44px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:currentColor}.hero{background:linear-gradient(110deg,rgba(7,54,111,.95),rgba(12,77,162,.82)),url('../assets/images/programmes/beach-swimming-class-group-1024x684.png') center/cover;color:#fff;padding:90px 24px}.hero-inner,.container{max-width:1120px;margin:auto}.hero-inner{max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:800;color:var(--yellow)}h1{font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.05;margin:.15em 0 .25em}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.15;color:var(--deep);margin:0 0 22px}h3{line-height:1.25;color:var(--deep);margin:0 0 8px}.hero h2{color:#fff;font-size:clamp(1.3rem,3vw,1.8rem)}.hero p{max-width:760px}.hero .assurance{border-left:5px solid var(--yellow);background:rgba(255,255,255,.13);padding:15px 20px;font-size:1.18rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero .secondary{color:#fff!important;border-color:#fff}.section{padding:82px 24px}.section.alt{background:#f5f9fc}.lead{font-size:1.16rem;max-width:820px}.narrow{max-width:850px}.check-list,.plain-list{padding:0;list-style:none}.check-list li{position:relative;padding:8px 0 8px 34px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--aqua);font-weight:900}.callout{padding:22px 26px;border-radius:var(--radius);background:var(--pale);border-left:5px solid var(--aqua);margin:28px 0;font-size:1.08rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.card{background:#fff;border:1px solid #dce8ef;border-radius:var(--radius);padding:26px;box-shadow:0 8px 28px rgba(7,54,111,.07)}.card-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--blue);font-weight:800;margin-bottom:18px}.optional{text-align:center;font-size:1.15rem;color:var(--blue);margin-top:28px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step;margin:38px 0}.step{position:relative;padding:28px 25px 25px;background:#fff;border-radius:var(--radius);border-top:5px solid var(--aqua)}.step-number{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;margin-bottom:15px}.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.principle{background:#fff;border-radius:12px;padding:20px;color:var(--deep)}.impact{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.impact img{width:100%;height:520px;object-fit:cover;border-radius:var(--radius)}.impact-strip{background:var(--aqua);color:#fff;text-align:center;padding:28px 24px}.impact-strip strong{font-size:1.5rem}.big-no{font-size:5rem;line-height:1;color:var(--blue);font-weight:900;margin:.1em 0}.faq{display:grid;gap:12px;margin-top:32px}.faq details{border:1px solid #d9e5ec;border-radius:12px;background:#fff}.faq summary{cursor:pointer;font-weight:700;color:var(--deep);padding:20px 54px 20px 22px;position:relative}.faq summary::after{content:'+';position:absolute;right:22px;font-size:1.5rem}.faq details[open] summary::after{content:'−'}.faq details div{padding:0 22px 20px}.register{background:var(--deep);color:#fff;scroll-margin-top:20px}.register h2{color:#fff}.form-intro{background:#fff;color:var(--ink);padding:28px;border-radius:var(--radius);margin:30px 0}.form-wrap{background:#fff;border-radius:var(--radius);padding:32px;overflow:visible;min-width:0}.closing{text-align:center;background:var(--pale)}.closing .standout{font-size:1.4rem;color:var(--blue)}footer{background:#062c5c;color:#fff;padding:48px 24px}.footer-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 2fr;gap:50px}.footer-logo{width:120px;filter:brightness(0) invert(1)}footer a{color:#fff}.footer-links{display:flex;gap:22px;flex-wrap:wrap}footer small{display:block;margin-top:25px;color:#c9d8e8}@media(max-width:850px){.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;padding:20px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd}.nav-links.open{display:flex}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.impact{grid-template-columns:1fr}.impact img{height:380px;order:-1}}@media(max-width:560px){body{font-size:16px}.section{padding:60px 18px}.hero{padding:65px 18px}.nav{padding-inline:16px}.cards,.steps,.principles,.footer-inner{grid-template-columns:1fr}.actions .button{width:100%}.form-wrap{padding:12px 4px;border-radius:10px}.register{padding-inline:10px}.register>.container>h2,.register>.container>p{margin-left:8px;margin-right:8px}.impact img{height:280px}.footer-inner{gap:25px}}

/* Design-system audit: retain the local hero photograph beneath the official brand blue. */
.hero { background-image:linear-gradient(rgba(50,102,255,.88),rgba(50,102,255,.88)),url('../assets/images/programmes/beach-swimming-class-group-1024x684.png'); }

/* Clear next steps directly below the introduction. */
.will-service-bar {
  background: var(--blue);
  color: var(--white);
  padding: 18px 24px;
}

.will-service-bar__inner {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(180px, .75fr) repeat(2, minmax(250px, 1fr));
  margin: 0 auto;
  max-width: 1120px;
}

.will-service-bar__label {
  font-weight: 700;
  line-height: 1.3;
}

.will-service-bar a {
  align-items: center;
  background: var(--white);
  border: 2px solid var(--white);
  border-radius: 12px;
  color: var(--blue);
  display: flex;
  font-weight: 700;
  gap: 20px;
  justify-content: space-between;
  line-height: 1.25;
  min-height: 58px;
  padding: 12px 18px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.will-service-bar a:last-child {
  background: transparent;
  color: var(--white);
}

.will-service-bar a:hover {
  background: var(--aqua);
  border-color: var(--aqua);
  color: var(--deep);
  transform: translateY(-2px);
}

.will-service-bar a:focus-visible {
  outline-color: var(--white);
}

/* Keep page headings aligned with the shared type scale. */
h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 700; }
h2 { font-size: clamp(2rem, 4vw, 2.625rem); font-weight: 700; }
h3 { font-size: clamp(1.5rem, 3vw, 1.875rem); font-weight: 600; }
.hero h1 { color: var(--white); }

.check-list li::before {
  background: var(--blue);
  border-radius: 50%;
  color: var(--white);
  display: grid;
  font-size: .75rem;
  height: 22px;
  place-items: center;
  top: 11px;
  width: 22px;
}

@media (max-width: 850px) {
  .will-service-bar__inner {
    grid-template-columns: 1fr 1fr;
  }

  .will-service-bar__label {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .will-service-bar {
    padding: 20px 18px;
  }

  .will-service-bar__inner {
    grid-template-columns: 1fr;
  }

  .will-service-bar__label {
    grid-column: auto;
  }

  .will-service-bar a {
    min-width: 0;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .will-service-bar a {
    transition: none;
  }
}

/* Use the primary brand blue for prominent page regions. */
.section.alt { background: var(--pale); }
.register,
.impact-strip { background: var(--blue); }
.eyebrow { color: var(--white); }
