
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700;800;900&display=swap');

:root{
  --blue:#08a9e6;
  --blue-dark:#047ac1;
  --orange:#ff6a00;
  --orange-dark:#ef4e00;
  --green:#78d500;
  --green-dark:#4fad00;
  --yellow:#ffc928;
  --ink:#17324d;
  --muted:#5e7182;
  --paper:#ffffff;
  --soft:#f7fbff;
  --line:#e5eff6;
  --shadow:0 18px 48px rgba(28,86,124,.12);
  --radius:28px;
  --max:1450px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Nunito',sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 6%, rgba(8,169,230,.12), transparent 22rem),
    radial-gradient(circle at 92% 18%, rgba(255,201,40,.16), transparent 24rem),
    #fff;
  line-height:1.72;
}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit}
.site-shell{max-width:var(--max);margin:auto}
.topbar{
  background:linear-gradient(90deg,var(--blue-dark),var(--blue));
  color:#fff;
  font-size:.92rem;
}
.topbar .inner{
  max-width:var(--max);margin:auto;padding:8px 28px;
  display:flex;gap:20px;justify-content:flex-end;flex-wrap:wrap
}
.topbar a{text-decoration:none;font-weight:800}
.header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(8,169,230,.1);
}
.nav{
  max-width:var(--max);margin:auto;padding:12px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px
}
.logo{width:182px;flex:0 0 auto}
.navlinks{display:flex;align-items:center;gap:6px}
.navlinks a{
  text-decoration:none;font-weight:900;padding:11px 15px;border-radius:999px;
  transition:.2s ease;color:#29445d
}
.navlinks a:hover,.navlinks a.active{background:#ecf8fe;color:var(--blue-dark)}
.nav-cta{background:linear-gradient(135deg,var(--orange),#ff8a00)!important;color:#fff!important;box-shadow:0 10px 22px rgba(255,106,0,.24)}
.menu-btn{
  display:none;border:0;background:#eff9fe;color:var(--blue-dark);
  width:46px;height:46px;border-radius:14px;font-size:1.35rem;cursor:pointer
}

/* HERO */
.hero{position:relative;overflow:hidden}
.hero::before,.hero::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(.2px)
}
.hero::before{width:440px;height:440px;background:rgba(120,213,0,.10);right:-130px;top:40px}
.hero::after{width:330px;height:330px;background:rgba(255,106,0,.09);left:-120px;bottom:-100px}
.hero-grid{
  max-width:var(--max);margin:auto;min-height:620px;padding:72px 28px 64px;
  display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:44px;position:relative;z-index:2
}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  background:#eefaff;color:var(--blue-dark);font-weight:900;
  border-radius:999px;padding:8px 14px;margin-bottom:18px
}
.dot{width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:16px 0 0 var(--green),32px 0 0 var(--orange);margin-right:31px}
h1,h2,h3{font-family:'Fredoka',sans-serif;line-height:1.08;margin:0 0 16px}
h1{font-size:clamp(3.1rem,6vw,6.15rem);letter-spacing:-.04em}
h2{font-size:clamp(2.15rem,4vw,3.7rem);letter-spacing:-.025em}
h3{font-size:1.48rem}
.hero h1 .blue{color:var(--blue-dark)}
.hero h1 .orange{color:var(--orange)}
.hero-copy{font-size:1.12rem;max-width:720px;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:50px;padding:12px 20px;border-radius:16px;text-decoration:none;
  font-weight:900;border:2px solid transparent;transition:.22s ease;cursor:pointer
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--orange),#ff8b00);color:white;box-shadow:0 12px 28px rgba(255,106,0,.24)}
.btn-secondary{background:#fff;border-color:#dcecf5;color:var(--blue-dark)}
.btn-green{background:linear-gradient(135deg,var(--green),#a5e524);color:#163d10}
.hero-art{position:relative;min-height:470px}
.logo-stage{
  position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:min(100%,590px);background:rgba(255,255,255,.93);
  border:1px solid rgba(8,169,230,.13);border-radius:42px;padding:34px;
  box-shadow:var(--shadow)
}

.hero-banner-frame{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:min(100%,680px);
  background:#fff;
  border:1px solid rgba(8,169,230,.13);
  border-radius:42px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.hero-banner-img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.blob{position:absolute;border-radius:35% 65% 60% 40%/45% 40% 60% 55%;animation:float 6s ease-in-out infinite}
.blob.one{width:150px;height:150px;background:rgba(8,169,230,.18);left:0;top:22px}
.blob.two{width:120px;height:120px;background:rgba(255,201,40,.24);right:0;top:32px;animation-delay:-2s}
.blob.three{width:110px;height:110px;background:rgba(120,213,0,.18);right:18px;bottom:18px;animation-delay:-4s}
@keyframes float{50%{transform:translateY(-14px) rotate(5deg)}}

/* CONTENT */
.section{padding:90px 28px}
.section.soft{background:linear-gradient(180deg,#f7fcff,#fff)}
.container{max-width:var(--max);margin:auto}
.section-head{max-width:830px;margin-bottom:38px}
.kicker{color:var(--orange);font-weight:900;letter-spacing:.11em;text-transform:uppercase;font-size:.8rem}
.lead{font-size:1.14rem;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:0 12px 34px rgba(22,77,114,.07)
}
.card p{color:var(--muted)}
.icon{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;
  font-size:1.65rem;margin-bottom:18px
}
.icon.blue{background:#e6f8ff}.icon.orange{background:#fff0e4}.icon.green{background:#effbdc}.icon.yellow{background:#fff7d3}
.list-clean{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.list-clean li{position:relative;padding-left:30px}
.list-clean li::before{
  content:"✓";position:absolute;left:0;top:0;color:#fff;background:var(--green-dark);
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.76rem;font-weight:900
}
.highlight-panel{
  background:linear-gradient(135deg,#effaff,#fff8de);
  border:1px solid #dbeef8;border-radius:36px;padding:38px;position:relative;overflow:hidden
}
.highlight-panel::after{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;
  background:rgba(255,106,0,.1);right:-60px;bottom:-70px
}
.quote{
  background:linear-gradient(135deg,var(--blue-dark),#08a9e6);
  color:#fff;border-radius:34px;padding:42px;box-shadow:var(--shadow)
}
.quote strong{font-family:'Fredoka';font-size:clamp(1.7rem,3vw,2.8rem);display:block;line-height:1.25}

/* Page banner */
.page-hero{
  max-width:var(--max);margin:28px auto 0;padding:66px 28px 34px;
}
.page-hero-box{
  border-radius:40px;padding:60px clamp(26px,5vw,70px);overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 90% 20%, rgba(255,255,255,.24), transparent 18rem),
    linear-gradient(135deg,#067ec2,#08b8e8);
  color:#fff
}
.page-hero-box.orange{background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.25),transparent 18rem),linear-gradient(135deg,#ef5000,#ff8f00)}
.page-hero-box.green{background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.25),transparent 18rem),linear-gradient(135deg,#54ad00,#91dc0a)}
.page-hero-box p{max-width:800px;font-size:1.12rem;color:rgba(255,255,255,.9)}

/* services */
.service-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:28px 0 50px}
.service-nav a{text-align:center;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;font-weight:900}
.service-detail{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;padding:34px 0;border-bottom:1px solid var(--line)}
.service-detail:last-child{border-bottom:0}
.service-number{
  width:90px;height:90px;border-radius:28px;display:grid;place-items:center;
  font-family:'Fredoka';font-size:2rem;font-weight:700;background:#eefaff;color:var(--blue-dark)
}
.service-detail:nth-child(2) .service-number{background:#fff0e4;color:var(--orange)}
.service-detail:nth-child(3) .service-number{background:#effbdc;color:#4b9900}
.service-detail:nth-child(4) .service-number{background:#fff7d3;color:#9a7600}
.service-detail:nth-child(5) .service-number{background:#f2eefe;color:#6c43bd}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px}
.contact-row{display:flex;gap:15px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-row:last-child{border-bottom:0}
.contact-row .badge{width:46px;height:46px;flex:0 0 auto;border-radius:15px;background:#eefaff;display:grid;place-items:center}
.contact-row a{text-decoration:none;color:var(--blue-dark);font-weight:900}
.form{display:grid;gap:14px}
.field{display:grid;gap:7px}
.field label{font-weight:900}
.field input,.field textarea,.field select{
  width:100%;border:1px solid #d9e7f0;border-radius:15px;padding:13px 14px;background:#fbfdff;outline:none
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(8,169,230,.1)}
.form small{color:var(--muted)}

/* CTA */
.cta{
  margin:0 auto 90px;max-width:calc(var(--max) - 56px);
  border-radius:38px;padding:45px clamp(26px,5vw,60px);
  background:linear-gradient(120deg,#142f4a,#0a7bbf);
  color:#fff;display:flex;justify-content:space-between;gap:28px;align-items:center;overflow:hidden;position:relative
}
.cta::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,201,40,.15);right:-70px;top:-100px}
.cta > *{position:relative;z-index:1}.cta p{color:#dcebf5;max-width:740px}

footer{background:#102c43;color:#d8e8f3}
.footer-grid{max-width:var(--max);margin:auto;padding:50px 28px 28px;display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:30px}
footer .logo{width:175px;background:#fff;border-radius:18px;padding:8px}
footer h3{color:#fff}
footer a{color:#fff;text-decoration:none}
.copyright{max-width:var(--max);margin:auto;padding:18px 28px 28px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem}

/* decorations */
.confetti{display:flex;gap:8px;margin:18px 0}
.confetti span{width:30px;height:7px;border-radius:10px;transform:rotate(-8deg)}
.confetti span:nth-child(1){background:var(--blue)}
.confetti span:nth-child(2){background:var(--orange)}
.confetti span:nth-child(3){background:var(--green)}
.confetti span:nth-child(4){background:var(--yellow)}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-28px;position:relative;z-index:5}
.stat{
  background:#fff;border:1px solid var(--line);border-radius:23px;padding:20px;text-align:center;
  box-shadow:0 12px 30px rgba(25,80,116,.09)
}
.stat strong{display:block;font-family:'Fredoka';font-size:1.32rem;color:var(--blue-dark)}
.stat:nth-child(2) strong{color:var(--orange)}.stat:nth-child(3) strong{color:#54ad00}.stat:nth-child(4) strong{color:#a77e00}

@media (max-width:980px){
  .hero-grid,.grid-2,.contact-grid{grid-template-columns:1fr}
  .hero-grid{padding-top:50px}.hero-art{min-height:390px}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .service-nav{grid-template-columns:repeat(2,1fr)}
  .service-detail{grid-template-columns:110px 1fr}
  .stat-strip{grid-template-columns:repeat(2,1fr);margin-top:0;padding-top:20px}
}
@media (max-width:760px){
  .topbar .inner{justify-content:center;padding-inline:16px}
  .nav{padding:10px 16px}
  .logo{width:145px}
  .menu-btn{display:grid;place-items:center}
  .navlinks{
    display:none;position:fixed;top:77px;left:14px;right:14px;
    background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;
    box-shadow:var(--shadow);flex-direction:column;align-items:stretch
  }
  .navlinks.open{display:flex}
  .navlinks a{text-align:center}
  .hero-grid{padding:44px 18px 52px;min-height:auto}
  h1{font-size:clamp(2.7rem,14vw,4.5rem)}
  .section{padding:68px 18px}
  .page-hero{padding:22px 18px 24px}
  .page-hero-box{padding:42px 24px;border-radius:30px}
  .hero-art{min-height:300px}.logo-stage{padding:22px;border-radius:28px}
  .blob.one{width:90px;height:90px}.blob.two{width:74px;height:74px}.blob.three{width:68px;height:68px}
  .grid-3,.grid-4,.stat-strip{grid-template-columns:1fr}
  .service-nav{grid-template-columns:1fr}
  .service-detail{grid-template-columns:1fr;gap:18px}
  .service-number{width:72px;height:72px}
  .cta{margin:0 18px 60px;max-width:none;display:block}.cta .btn{margin-top:12px}
  .footer-grid{grid-template-columns:1fr;padding-inline:18px}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

@media (max-width:980px){
  .hero-banner-frame{
    position:relative;
    inset:auto;
    transform:none;
    margin:0 auto;
    width:min(100%,760px);
  }
  .hero-art{
    min-height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:8px;
  }
}
@media (max-width:760px){
  .hero-banner-frame{
    border-radius:26px;
  }
}


/* =========================================================
   ABOUT PAGE — SAMPLE-INSPIRED REDESIGN
   ========================================================= */
.about-page{
  background:#fff;
  overflow:hidden;
}

.about-container{
  width:min(100% - 56px, var(--max));
  margin:0 auto;
}

.text-blue{color:var(--blue-dark)}
.text-orange{color:var(--orange)}

.about-label{
  display:inline-block;
  margin-bottom:12px;
  color:var(--blue-dark);
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.02em;
}

/* About hero */
.about-showcase{
  width:min(100% - 56px, var(--max));
  margin:0 auto;
  background:
    radial-gradient(circle at 11% 16%, rgba(8,169,230,.18), transparent 18rem),
    linear-gradient(90deg,#eefaff 0%,#f8fdff 42%,#fff 42%);
  border-radius:0 0 34px 34px;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(28,86,124,.08);
}

.about-showcase-inner{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  min-height:520px;
}

.about-showcase-copy{
  padding:68px 38px 64px 58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}

.about-display-title{
  margin:0 0 22px;
  font-size:clamp(2.7rem,4.4vw,4.8rem);
  line-height:.98;
  letter-spacing:-.04em;
  color:var(--ink);
}

.about-display-title span{
  display:block;
}

.about-display-title .title-blue{
  color:var(--blue);
}

.about-display-title .title-orange{
  color:var(--orange);
}

.about-showcase-copy p{
  max-width:600px;
  margin:0;
  color:#536c80;
  font-size:1.08rem;
  line-height:1.7;
}

.hero-scribble{
  width:92px;
  height:9px;
  margin-top:22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--yellow),#ffb51e);
  transform:rotate(-4deg);
}

.about-showcase-photo{
  position:relative;
  min-height:520px;
  overflow:hidden;
}

.about-showcase-photo::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:120px;
  z-index:2;
  background:linear-gradient(90deg,#f8fdff 0%,rgba(248,253,255,.92) 22%,rgba(248,253,255,0) 100%);
  pointer-events:none;
}

.about-showcase-photo img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
}

/* Who we are */
.about-content-section{
  padding:72px 0;
}

.about-white-section{
  background:#fff;
}

.about-story-layout{
  display:grid;
  grid-template-columns:1.15fr .62fr .92fr;
  gap:22px;
  align-items:stretch;
}

.about-story-copy{
  padding:18px 14px 18px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-story-copy h2,
.aba-copy h2,
.values-intro h2{
  font-size:clamp(2.3rem,3.5vw,4rem);
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--ink);
}

.about-story-copy p,
.aba-copy p{
  margin:0 0 14px;
  color:#536c80;
  font-size:1.02rem;
  line-height:1.72;
}

.about-promise{
  margin-top:16px;
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 18px;
  border-radius:999px;
  background:linear-gradient(90deg,#fff4bf,#ffe288);
  color:#17446a;
  font-size:.94rem;
  font-weight:900;
}

.promise-heart{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#ff6961;
  color:#fff;
  font-size:.9rem;
}

.about-learning-photo{
  min-height:420px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(24,78,114,.13);
  background:#eff9fe;
}

.about-learning-photo img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
}

.development-panel{
  padding:30px 30px 28px;
  border-radius:30px;
  background:linear-gradient(145deg,#eefaff,#f9fdff 66%,#fff);
  border:1px solid #dceff8;
  box-shadow:0 16px 38px rgba(24,78,114,.08);
}

.development-heading,
.strategy-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.development-heading h3,
.strategy-heading h3{
  margin:0;
  color:var(--blue-dark);
  font-size:1.35rem;
}

.development-icon,
.strategy-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:1.35rem;
  background:var(--yellow);
}

.development-list,
.strategy-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.development-list li,
.strategy-list li{
  position:relative;
  padding-left:28px;
  color:#4f687c;
  line-height:1.45;
}

.development-list li::before,
.strategy-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:2px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#58b50c;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
}

/* ABA section */
.aba-section{
  padding:72px 0;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,201,40,.17),transparent 18rem),
    linear-gradient(135deg,#fffaf0,#fffdf8 44%,#f7fff0);
  border-top:1px solid #f6eddc;
  border-bottom:1px solid #eef3e8;
}

.aba-layout{
  display:grid;
  grid-template-columns:1.08fr .92fr .50fr;
  gap:24px;
  align-items:stretch;
}

.aba-copy{
  padding:10px 8px 10px 0;
}

.aba-lead{
  font-weight:700;
}

.strategy-panel{
  padding:30px;
  border-radius:30px;
  background:linear-gradient(145deg,#f0fbe5,#fbfff6);
  border:1px solid #dcefc9;
  box-shadow:0 15px 38px rgba(67,122,38,.08);
}

.strategy-icon{
  background:#64bd13;
  color:#fff;
}

.strategy-heading h3{
  color:#1474b3;
}

.aba-image-card{
  min-height:480px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(80,87,34,.12);
  background:#fff;
}

.aba-image-card img{
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
}

/* Values */
.values-section{
  padding:58px 0 70px;
  background:#fff;
}

.values-layout{
  display:grid;
  grid-template-columns:1.15fr repeat(3,.78fr);
  gap:18px;
  align-items:stretch;
}

.values-intro{
  padding:18px 22px 18px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.value-card{
  min-height:220px;
  padding:24px;
  border-radius:28px;
  border:1px solid transparent;
  transition:transform .22s ease,box-shadow .22s ease;
}

.value-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(31,72,102,.10);
}

.value-card h3{
  margin-top:14px;
  font-size:1.2rem;
  color:#173d62;
}

.value-card p{
  margin:0;
  color:#536c80;
  line-height:1.58;
}

.value-icon{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.45rem;
  font-weight:900;
  box-shadow:0 10px 24px rgba(20,79,115,.12);
}

.value-blue{
  background:linear-gradient(145deg,#ebfaff,#f8fdff);
  border-color:#d9eff8;
}
.value-blue .value-icon{background:linear-gradient(135deg,#13baf0,#0486c7)}

.value-orange{
  background:linear-gradient(145deg,#fff3e9,#fffaf6);
  border-color:#f7e4d5;
}
.value-orange .value-icon{background:linear-gradient(135deg,#ff8a00,#ff5c00)}

.value-green{
  background:linear-gradient(145deg,#effbe6,#fbfff7);
  border-color:#deefd2;
}
.value-green .value-icon{background:linear-gradient(135deg,#91db0b,#50ad00)}

/* CTA */
.about-cta{
  position:relative;
  background:linear-gradient(100deg,#0d93d0,#08afe4);
  overflow:hidden;
}

.about-cta::before{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-44px;
  height:70px;
  background:#fff;
  border-radius:0 0 50% 50%;
}

.about-cta::after{
  content:"♡";
  position:absolute;
  right:5%;
  bottom:8px;
  color:rgba(255,255,255,.23);
  font-size:5rem;
  transform:rotate(-12deg);
}

.about-cta-inner{
  width:min(100% - 56px,var(--max));
  min-height:176px;
  margin:0 auto;
  padding:56px 26px 30px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:28px;
  align-items:center;
  position:relative;
  z-index:2;
}

.cta-plane{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:2.4rem;
  transform:rotate(-18deg);
  text-shadow:0 8px 16px rgba(0,68,105,.18);
}

.about-cta-copy h2{
  margin:0 0 5px;
  color:#fff;
  font-size:clamp(1.65rem,2.6vw,2.45rem);
}

.about-cta-copy p{
  margin:0;
  color:#e9f8ff;
}

.about-cta-button{
  min-width:170px;
  min-height:52px;
  padding:13px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,#ff9400,#ff6600);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 12px 26px rgba(184,77,0,.25);
  transition:.2s ease;
}

.about-cta-button:hover{
  transform:translateY(-2px);
}

/* About responsive */
@media (max-width:1180px){
  .about-showcase-inner{
    grid-template-columns:.9fr 1.1fr;
  }

  .about-story-layout{
    grid-template-columns:1fr .72fr;
  }

  .development-panel{
    grid-column:1 / -1;
  }

  .aba-layout{
    grid-template-columns:1fr 1fr;
  }

  .aba-image-card{
    grid-column:1 / -1;
    min-height:360px;
  }

  .aba-image-card img{
    min-height:360px;
    object-position:center 35%;
  }

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

  .values-intro{
    grid-column:1 / -1;
  }
}

@media (max-width:900px){
  .about-showcase{
    width:100%;
    border-radius:0;
  }

  .about-showcase-inner{
    grid-template-columns:1fr;
  }

  .about-showcase-copy{
    padding:52px 28px 38px;
  }

  .about-showcase-photo,
  .about-showcase-photo img{
    min-height:390px;
  }

  .about-showcase-photo::before{
    inset:0 0 auto 0;
    width:auto;
    height:70px;
    background:linear-gradient(180deg,#f8fdff,rgba(248,253,255,0));
  }

  .about-story-layout,
  .aba-layout{
    grid-template-columns:1fr;
  }

  .development-panel,
  .aba-image-card{
    grid-column:auto;
  }

  .about-learning-photo,
  .about-learning-photo img{
    min-height:360px;
  }

  .values-layout{
    grid-template-columns:1fr 1fr;
  }

  .values-intro{
    grid-column:1 / -1;
  }

  .about-cta-inner{
    grid-template-columns:auto 1fr;
  }

  .about-cta-button{
    grid-column:2;
    justify-self:start;
  }
}

@media (max-width:760px){
  .about-container,
  .about-cta-inner{
    width:min(100% - 36px,var(--max));
  }

  .about-showcase-copy{
    padding:46px 20px 34px;
  }

  .about-display-title{
    font-size:clamp(2.55rem,13vw,4rem);
  }

  .about-showcase-photo,
  .about-showcase-photo img{
    min-height:290px;
  }

  .about-content-section,
  .aba-section{
    padding:58px 0;
  }

  .about-story-copy h2,
  .aba-copy h2,
  .values-intro h2{
    font-size:clamp(2.15rem,10vw,3.2rem);
  }

  .about-learning-photo,
  .about-learning-photo img{
    min-height:330px;
  }

  .development-panel,
  .strategy-panel{
    padding:24px 20px;
    border-radius:24px;
  }

  .aba-image-card,
  .aba-image-card img{
    min-height:340px;
    border-radius:24px;
  }

  .values-layout{
    grid-template-columns:1fr;
  }

  .values-intro{
    grid-column:auto;
  }

  .value-card{
    min-height:0;
  }

  .about-promise{
    width:100%;
    border-radius:18px;
  }

  .about-cta::before{
    top:-34px;
  }

  .about-cta-inner{
    padding:54px 0 34px;
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    gap:16px;
  }

  .cta-plane{
    width:56px;
    height:56px;
    font-size:2rem;
  }

  .about-cta-button{
    grid-column:auto;
    justify-self:center;
  }
}


/* =========================================================
   HOME PAGE — SAMPLE-MATCH REDESIGN
   ========================================================= */

.home-page{
  overflow:hidden;
}

.home-container{
  width:min(100% - 56px,var(--max));
  margin:0 auto;
}

.home-label{
  color:#008acb;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.02em;
  margin-bottom:10px;
}

.text-blue{color:#0799dc}
.text-orange{color:#ff6900}

/* Hero */
.home-showcase{
  width:min(100% - 32px,1530px);
  margin:0 auto;
  background:
    radial-gradient(circle at 11% 25%,rgba(17,171,230,.13),transparent 18rem),
    radial-gradient(circle at 88% 14%,rgba(120,213,0,.15),transparent 18rem),
    linear-gradient(100deg,#f3fbff 0%,#fff 47%,#fffdf7 100%);
  border-radius:0 0 42px 42px;
  overflow:hidden;
  position:relative;
}

.home-showcase::before{
  content:"";
  position:absolute;
  left:-55px;
  bottom:-95px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,111,0,.10);
}

.home-showcase::after{
  content:"";
  position:absolute;
  right:-70px;
  top:50px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:46px solid rgba(120,213,0,.10);
}

.home-showcase-inner{
  max-width:var(--max);
  min-height:610px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  align-items:center;
  position:relative;
  z-index:2;
}

.home-showcase-copy{
  padding:68px 24px 72px 32px;
  position:relative;
  z-index:3;
}

.home-eyebrow{
  width:max-content;
  max-width:100%;
  padding:10px 16px;
  display:flex;
  align-items:center;
  gap:13px;
  background:rgba(255,255,255,.78);
  border:1px solid #e8f4fa;
  box-shadow:0 10px 30px rgba(31,96,137,.07);
  border-radius:999px;
  color:#0785c3;
  font-size:.96rem;
  font-weight:900;
}

.home-eyebrow-dots{
  display:flex;
  gap:6px;
}

.home-eyebrow-dots i{
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
}

.home-eyebrow-dots i:nth-child(1){background:#ffc523}
.home-eyebrow-dots i:nth-child(2){background:#68c900}
.home-eyebrow-dots i:nth-child(3){background:#ff6800}

.home-display-title{
  margin:25px 0 20px;
  font-size:clamp(4.1rem,6.4vw,7rem);
  line-height:.89;
  letter-spacing:-.055em;
  color:#173754;
}

.home-display-title span{
  display:inline-block;
}

.home-title-blue{color:#078dcc}
.home-title-orange{color:#ff6800}

.home-hero-text{
  max-width:700px;
  margin:0;
  color:#5d7385;
  font-size:1.12rem;
  line-height:1.78;
}

.home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:29px;
}

.home-primary-button,
.home-secondary-button{
  min-height:54px;
  padding:13px 24px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  transition:.2s ease;
}

.home-primary-button{
  background:linear-gradient(135deg,#ff9500,#ff6500);
  color:#fff;
  box-shadow:0 13px 28px rgba(225,98,0,.20);
}

.home-secondary-button{
  color:#057fbd;
  border:2px solid #d8edf7;
  background:#fff;
}

.home-primary-button:hover,
.home-secondary-button:hover{
  transform:translateY(-2px);
}

.home-small-button{
  margin-top:24px;
  min-height:50px;
}

.home-scribble{
  display:flex;
  gap:8px;
  margin-top:25px;
}

.home-scribble span{
  width:34px;
  height:7px;
  border-radius:999px;
  transform:rotate(-8deg);
}

.home-scribble span:nth-child(1){background:#08a9e6}
.home-scribble span:nth-child(2){background:#ff6800}
.home-scribble span:nth-child(3){background:#74d100}
.home-scribble span:nth-child(4){background:#ffc523}

.home-showcase-photo{
  min-height:610px;
  align-self:stretch;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:36px 20px 0;
}

.home-showcase-photo::before{
  content:"";
  position:absolute;
  left:3%;
  right:5%;
  top:13%;
  bottom:7%;
  background:#fff;
  border-radius:48% 52% 48% 52% / 44% 46% 54% 56%;
  box-shadow:0 18px 55px rgba(31,97,137,.10);
  transform:rotate(-1deg);
}

.home-showcase-photo img{
  width:100%;
  max-width:780px;
  position:relative;
  z-index:2;
  object-fit:contain;
  filter:drop-shadow(0 18px 20px rgba(21,81,117,.08));
}

.home-photo-badge{
  position:absolute;
  right:38px;
  bottom:38px;
  z-index:4;
  width:166px;
  min-height:104px;
  padding:19px 14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 14px 30px rgba(42,90,117,.14);
  text-align:center;
  transform:rotate(-6deg);
  color:#0476b2;
  line-height:1.25;
}

.home-photo-badge strong{
  display:block;
  font-family:'Fredoka',sans-serif;
  font-size:1.3rem;
}

.home-photo-badge span{
  display:block;
  margin-top:3px;
  font-size:.8rem;
  font-weight:900;
}

/* Pillars */
.home-pillars{
  position:relative;
  z-index:5;
  margin-top:-31px;
  padding-bottom:38px;
}

.home-pillar-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.home-pillar{
  min-height:112px;
  padding:18px 20px;
  border-radius:24px;
  display:flex;
  gap:15px;
  align-items:center;
  border:1px solid rgba(36,86,116,.08);
  box-shadow:0 14px 34px rgba(35,86,118,.10);
}

.home-pillar .pillar-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:#fff;
  font-size:1.35rem;
  box-shadow:0 8px 20px rgba(29,79,109,.08);
}

.home-pillar strong{
  display:block;
  font-family:'Fredoka',sans-serif;
  font-size:1.18rem;
  color:#153b5c;
}

.home-pillar span{
  display:block;
  color:#607586;
  font-size:.88rem;
  line-height:1.4;
}

.pillar-blue{background:linear-gradient(135deg,#eaf9ff,#f9fdff)}
.pillar-orange{background:linear-gradient(135deg,#fff1e4,#fffaf6)}
.pillar-green{background:linear-gradient(135deg,#eefadf,#fbfff6)}
.pillar-yellow{background:linear-gradient(135deg,#fff7d2,#fffdf4)}

/* Welcome */
.home-welcome-section{
  padding:76px 0 84px;
  background:#fff;
}

.home-welcome-layout{
  display:grid;
  grid-template-columns:1.12fr .66fr .9fr;
  gap:24px;
  align-items:stretch;
}

.home-welcome-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-right:16px;
}

.home-welcome-copy h2{
  max-width:700px;
  font-size:clamp(2.7rem,4.6vw,4.7rem);
  margin-bottom:22px;
}

.home-welcome-copy p{
  color:#5d7283;
  margin:0 0 15px;
}

.home-text-link{
  margin-top:12px;
  width:max-content;
  color:#087fbc;
  text-decoration:none;
  font-weight:900;
}

.home-text-link span{
  color:#ff6900;
}

.home-welcome-photo{
  min-height:500px;
  border-radius:32px;
  overflow:hidden;
  position:relative;
  background:#eefaff;
  box-shadow:0 18px 45px rgba(35,91,126,.11);
}

.home-welcome-photo img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
}

.welcome-photo-sticker{
  position:absolute;
  right:14px;
  bottom:18px;
  padding:13px 18px;
  border-radius:50%;
  background:#fff;
  color:#0582c2;
  text-align:center;
  font-family:'Fredoka',sans-serif;
  transform:rotate(-5deg);
  box-shadow:0 12px 25px rgba(24,81,114,.16);
}

.welcome-photo-sticker strong{
  color:#ff6900;
}

.home-confidence-card{
  padding:30px 28px;
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,201,40,.20),transparent 12rem),
    linear-gradient(145deg,#ecfaff,#fff);
  border:1px solid #dceef6;
}

.confidence-icon{
  width:62px;
  height:62px;
  margin-bottom:16px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  background:#fff4b9;
}

.home-confidence-card h3{
  font-size:1.85rem;
}

.home-confidence-card p{
  color:#617585;
}

.home-confidence-card ul{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  display:grid;
  gap:11px;
}

.home-confidence-card li{
  position:relative;
  padding-left:28px;
  color:#436075;
  font-weight:800;
}

.home-confidence-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:2px;
  width:19px;
  height:19px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#65bd00;
  color:#fff;
  font-size:.72rem;
}

/* Support cards */
.home-support-section{
  padding:84px 0 92px;
  background:
    radial-gradient(circle at 7% 20%,rgba(6,162,223,.09),transparent 18rem),
    radial-gradient(circle at 94% 75%,rgba(255,199,34,.13),transparent 18rem),
    #f8fcff;
}

.home-section-heading{
  max-width:880px;
  margin-bottom:38px;
}

.home-section-heading-centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.home-section-heading h2{
  font-size:clamp(2.65rem,4.5vw,4.5rem);
}

.home-section-heading p{
  max-width:760px;
  margin:0 auto;
  color:#607586;
  font-size:1.05rem;
}

.home-support-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.support-card{
  min-height:310px;
  padding:28px 24px 26px;
  border-radius:30px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(30,81,111,.08);
  transition:.2s ease;
}

.support-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(32,84,115,.10);
}

.support-card::after{
  content:"";
  position:absolute;
  right:-48px;
  bottom:-48px;
  width:135px;
  height:135px;
  border-radius:50%;
  background:rgba(255,255,255,.45);
}

.support-blue{background:#e9f8ff}
.support-orange{background:#fff0e3}
.support-green{background:#edf9df}
.support-yellow{background:#fff7d3}

.support-number{
  position:absolute;
  right:20px;
  top:16px;
  font-family:'Fredoka',sans-serif;
  font-size:3.1rem;
  color:rgba(23,55,84,.08);
}

.support-icon{
  width:66px;
  height:66px;
  margin-bottom:23px;
  border-radius:21px;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:1.8rem;
  box-shadow:0 10px 24px rgba(28,77,109,.08);
}

.support-card h3{
  font-size:1.65rem;
}

.support-card p{
  color:#5c7283;
  position:relative;
  z-index:2;
}

/* Promise */
.home-promise-strip{
  position:relative;
  background:linear-gradient(120deg,#087ebc,#08aee6);
  color:#fff;
  overflow:hidden;
}

.home-promise-strip::before,
.home-promise-strip::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:50%;
  border:35px solid rgba(255,255,255,.08);
}

.home-promise-strip::before{left:-80px;top:-105px}
.home-promise-strip::after{right:-95px;bottom:-115px}

.home-promise-inner{
  width:min(100% - 56px,1180px);
  min-height:220px;
  margin:0 auto;
  padding:44px 20px;
  display:grid;
  grid-template-columns:80px 1fr 110px;
  gap:30px;
  align-items:center;
  position:relative;
  z-index:2;
}

.promise-star{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffcb26;
  color:#fff;
  font-size:2rem;
  box-shadow:0 12px 26px rgba(2,84,127,.19);
  transform:rotate(-7deg);
}

.home-promise-inner p{
  margin:0;
  text-align:center;
  font-family:'Fredoka',sans-serif;
  font-size:clamp(1.7rem,3vw,3rem);
  line-height:1.3;
}

.home-promise-inner p span{
  display:block;
  color:#eaf9ff;
}

.home-promise-inner p strong{
  display:block;
  color:#fff5bc;
}

.promise-rainbow{
  font-size:2.5rem;
  letter-spacing:-.32em;
  color:#ffc722;
  transform:rotate(10deg);
}

/* Programmes */
.home-programmes-section{
  padding:92px 0;
  background:#fff;
}

.home-programme-heading{
  margin-bottom:36px;
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
}

.home-programme-heading h2{
  max-width:850px;
  font-size:clamp(2.7rem,4.4vw,4.45rem);
  margin-bottom:0;
}

.home-outline-link{
  flex:0 0 auto;
  padding:11px 17px;
  border:2px solid #dcecf5;
  border-radius:999px;
  color:#0781bd;
  text-decoration:none;
  font-weight:900;
  background:#fff;
}

.home-programme-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:21px;
}

.programme-card{
  min-height:420px;
  padding:29px 28px 26px;
  border-radius:31px;
  border:1px solid rgba(30,80,110,.08);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.programme-card::after{
  content:"";
  position:absolute;
  right:-65px;
  top:-65px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
}

.programme-blue{background:linear-gradient(145deg,#eaf9ff,#f8fdff)}
.programme-orange{background:linear-gradient(145deg,#fff0e4,#fffaf6)}
.programme-green{background:linear-gradient(145deg,#edf9df,#fbfff6)}

.programme-top{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:27px;
  position:relative;
  z-index:2;
}

.programme-icon{
  min-width:64px;
  height:64px;
  padding:0 12px;
  border-radius:21px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#0a7fb8;
  font-family:'Fredoka',sans-serif;
  font-size:1.45rem;
  font-weight:700;
  box-shadow:0 10px 24px rgba(31,84,116,.09);
}

.programme-orange .programme-icon{color:#ff6900}
.programme-green .programme-icon{color:#55a600}

.programme-tag{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  font-size:.75rem;
  color:#567082;
  font-weight:900;
}

.programme-card h3{
  font-size:1.85rem;
  position:relative;
  z-index:2;
}

.programme-card p{
  color:#5d7283;
  position:relative;
  z-index:2;
}

.programme-card ul{
  list-style:none;
  padding:0;
  margin:15px 0 23px;
  display:grid;
  gap:8px;
  position:relative;
  z-index:2;
}

.programme-card li{
  padding-left:25px;
  position:relative;
  color:#456174;
  font-weight:800;
  font-size:.92rem;
}

.programme-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#56aa00;
  font-weight:900;
}

.programme-card a{
  margin-top:auto;
  width:max-content;
  color:#087fbc;
  text-decoration:none;
  font-weight:900;
  position:relative;
  z-index:2;
}

/* Why */
.home-why-section{
  padding:88px 0 100px;
  background:linear-gradient(180deg,#fff,#fffaf0);
}

.home-why-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:52px;
  align-items:center;
}

.home-why-image{
  min-height:540px;
  border-radius:36px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 45px rgba(36,88,118,.12);
}

.home-why-image img{
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
}

.home-why-bubble{
  position:absolute;
  right:18px;
  bottom:22px;
  width:180px;
  min-height:110px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  padding:18px;
  text-align:center;
  color:#0782be;
  font-family:'Fredoka',sans-serif;
  box-shadow:0 12px 28px rgba(37,85,113,.14);
  transform:rotate(-5deg);
  line-height:1.25;
}

.home-why-bubble strong{color:#ff6900}

.home-why-copy h2{
  font-size:clamp(2.8rem,4.5vw,4.6rem);
}

.home-why-copy > p{
  color:#5c7283;
  font-size:1.05rem;
}

.why-check-grid{
  margin-top:25px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.why-check-grid div{
  padding:13px 15px;
  border-radius:15px;
  background:#fff;
  border:1px solid #ebeff2;
  color:#34556c;
  font-weight:900;
  box-shadow:0 8px 20px rgba(38,83,111,.05);
}

/* CTA */
.home-cta{
  position:relative;
  background:linear-gradient(100deg,#0485c5,#09b2e7);
  color:#fff;
  overflow:hidden;
}

.home-cta::before{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-44px;
  height:70px;
  background:#fffaf0;
  border-radius:0 0 50% 50%;
}

.home-cta::after{
  content:"♡";
  position:absolute;
  right:5%;
  bottom:7px;
  color:rgba(255,255,255,.22);
  font-size:5rem;
  transform:rotate(-12deg);
}

.home-cta-inner{
  width:min(100% - 56px,var(--max));
  min-height:190px;
  margin:0 auto;
  padding:62px 26px 32px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:28px;
  align-items:center;
  position:relative;
  z-index:2;
}

.home-cta-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:2.4rem;
  transform:rotate(-18deg);
}

.home-cta-copy h2{
  color:#fff;
  margin-bottom:5px;
  font-size:clamp(1.75rem,2.7vw,2.55rem);
}

.home-cta-copy p{
  margin:0;
  color:#e7f7ff;
}

.home-cta-button{
  min-width:205px;
  min-height:54px;
  padding:13px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,#ff9600,#ff6500);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 12px 26px rgba(177,77,0,.23);
  transition:.2s ease;
}

.home-cta-button:hover{
  transform:translateY(-2px);
}

/* Home responsive */
@media (max-width:1180px){
  .home-showcase-inner{
    grid-template-columns:.9fr 1.1fr;
  }

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

  .home-welcome-layout{
    grid-template-columns:1fr .75fr;
  }

  .home-confidence-card{
    grid-column:1 / -1;
  }

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

@media (max-width:900px){
  .home-showcase{
    width:100%;
    border-radius:0;
  }

  .home-showcase-inner{
    grid-template-columns:1fr;
  }

  .home-showcase-copy{
    padding:52px 28px 30px;
  }

  .home-showcase-photo{
    min-height:420px;
    padding-top:0;
  }

  .home-showcase-photo::before{
    left:8%;
    right:8%;
    top:4%;
    bottom:4%;
  }

  .home-photo-badge{
    right:30px;
    bottom:24px;
  }

  .home-pillars{
    margin-top:0;
    padding-top:26px;
  }

  .home-welcome-layout,
  .home-why-layout{
    grid-template-columns:1fr;
  }

  .home-welcome-photo,
  .home-welcome-photo img{
    min-height:410px;
  }

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

  .programme-card{
    min-height:0;
  }

  .home-why-image,
  .home-why-image img{
    min-height:430px;
  }

  .home-cta-inner{
    grid-template-columns:auto 1fr;
  }

  .home-cta-button{
    grid-column:2;
    justify-self:start;
  }
}

@media (max-width:760px){
  .home-container,
  .home-promise-inner,
  .home-cta-inner{
    width:min(100% - 36px,var(--max));
  }

  .home-showcase-copy{
    padding:43px 19px 25px;
  }

  .home-display-title{
    font-size:clamp(3.5rem,18vw,5rem);
  }

  .home-hero-text{
    font-size:1rem;
  }

  .home-hero-actions{
    display:grid;
  }

  .home-primary-button,
  .home-secondary-button{
    width:100%;
  }

  .home-showcase-photo{
    min-height:300px;
    padding:0 8px;
  }

  .home-photo-badge{
    width:138px;
    min-height:89px;
    right:14px;
    bottom:15px;
    padding:14px 10px;
  }

  .home-photo-badge strong{
    font-size:1.1rem;
  }

  .home-pillar-grid,
  .home-support-grid{
    grid-template-columns:1fr;
  }

  .home-welcome-section,
  .home-support-section,
  .home-programmes-section,
  .home-why-section{
    padding:62px 0;
  }

  .home-welcome-copy h2,
  .home-section-heading h2,
  .home-programme-heading h2,
  .home-why-copy h2{
    font-size:clamp(2.3rem,11vw,3.5rem);
  }

  .home-welcome-photo,
  .home-welcome-photo img{
    min-height:340px;
  }

  .home-programme-heading{
    display:block;
  }

  .home-outline-link{
    display:inline-flex;
    margin-top:20px;
  }

  .home-promise-inner{
    min-height:0;
    padding:38px 0;
    grid-template-columns:1fr;
    justify-items:center;
    gap:17px;
  }

  .home-promise-inner p{
    font-size:1.65rem;
  }

  .promise-rainbow{
    display:none;
  }

  .home-why-image,
  .home-why-image img{
    min-height:370px;
  }

  .why-check-grid{
    grid-template-columns:1fr;
  }

  .home-cta::before{
    top:-34px;
  }

  .home-cta-inner{
    padding:58px 0 34px;
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:16px;
  }

  .home-cta-icon{
    width:56px;
    height:56px;
    font-size:2rem;
  }

  .home-cta-button{
    grid-column:auto;
    justify-self:center;
    min-width:0;
    width:100%;
    max-width:310px;
  }
}


/* =========================================================
   HOME TOP BANNER — MATCHING ABOUT US STYLE
   ========================================================= */

.home-page-banner{
  padding-top:28px;
  padding-bottom:14px;
}

.home-hero-box{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:34px;
  background:
    radial-gradient(circle at 90% 16%, rgba(255,255,255,.22), transparent 18rem),
    linear-gradient(135deg,#dff3ff 0%, #f8fcff 38%, #fffef9 100%);
  color:var(--ink);
  border:1px solid #dbeef6;
  box-shadow:0 16px 38px rgba(17,87,127,.08);
}

.home-hero-box::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  left:-70px;
  bottom:-85px;
  border-radius:50%;
  background:rgba(7,143,204,.10);
}

.home-hero-box::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-88px;
  top:-55px;
  border-radius:50%;
  background:rgba(122,207,36,.12);
}

.home-banner-copy{
  position:relative;
  z-index:2;
}

.home-banner-title{
  margin:8px 0 18px;
  line-height:.9;
  letter-spacing:-.05em;
  font-size:clamp(3.7rem,6vw,6.6rem);
}

.home-title-dark{color:#183654}
.home-title-blue{color:#0a95d7}
.home-title-orange{color:#ff6a00}

.home-hero-box p{
  max-width:650px;
  font-size:1.12rem;
  line-height:1.78;
  color:#5b7284;
}

.home-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}

.home-banner-secondary{
  background:#fff;
  color:#0783c2;
  border:2px solid #d5ebf7;
}

.home-banner-scribble{
  display:flex;
  gap:8px;
  margin-top:22px;
}

.home-banner-scribble span{
  width:36px;
  height:7px;
  border-radius:999px;
  transform:rotate(-8deg);
}

.home-banner-scribble span:nth-child(1){background:#08a9e6}
.home-banner-scribble span:nth-child(2){background:#ff6a00}
.home-banner-scribble span:nth-child(3){background:#74d100}
.home-banner-scribble span:nth-child(4){background:#ffc523}

.home-banner-image-wrap{
  min-height:395px;
  position:relative;
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 42px rgba(12,82,123,.12);
  border:6px solid rgba(255,255,255,.40);
  z-index:2;
}

.home-banner-image-wrap img{
  width:100%;
  height:100%;
  min-height:395px;
  object-fit:cover;
  display:block;
}

.home-banner-badge{
  position:absolute;
  right:18px;
  bottom:18px;
  width:190px;
  min-height:124px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 12px 28px rgba(35,85,112,.14);
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px 16px;
  transform:rotate(-5deg);
  line-height:1.22;
  color:#087ebb;
}

.home-banner-badge strong{
  display:block;
  font-family:'Fredoka',sans-serif;
  font-size:1.38rem;
  color:#0d5d9f;
}

.home-banner-badge span{
  display:block;
  margin-top:4px;
  font-size:.84rem;
  font-weight:900;
}

.home-pillars-lifted{
  margin-top:-6px;
}

@media (max-width:980px){
  .home-hero-box{
    grid-template-columns:1fr;
    padding-right:clamp(26px,5vw,70px);
  }

  .home-banner-image-wrap,
  .home-banner-image-wrap img{
    min-height:320px;
  }
}

@media (max-width:760px){
  .home-page-banner{
    padding-top:22px;
    padding-bottom:6px;
  }

  .home-banner-title{
    font-size:clamp(3rem,16vw,4.7rem);
  }

  .home-banner-actions{
    display:grid;
  }

  .home-banner-actions .btn{
    width:100%;
  }

  .home-banner-image-wrap,
  .home-banner-image-wrap img{
    min-height:235px;
  }

  .home-banner-badge{
    width:145px;
    min-height:95px;
    right:10px;
    bottom:10px;
    padding:12px;
  }

  .home-banner-badge strong{
    font-size:1.05rem;
  }

  .home-banner-badge span{
    font-size:.72rem;
  }
}


/* =========================================================
   HOME TRUE SPLIT BANNER — SAME VISUAL LANGUAGE AS ABOUT
   ========================================================= */

.home-page-banner{
  padding-top:28px;
  padding-bottom:10px;
}

.home-true-banner{
  max-width:var(--max);
  min-height:455px;
  margin:0 auto;
  border-radius:40px;
  overflow:hidden;
  position:relative;
  display:grid;
  grid-template-columns:45% 55%;
  background:
    linear-gradient(90deg,#e8f8ff 0%,#f6fcff 43%,#ffffff 43%);
  border:1px solid #d9edf6;
  box-shadow:0 18px 44px rgba(17,86,126,.10);
}

.home-true-banner-copy{
  position:relative;
  z-index:5;
  padding:56px 18px 48px 58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.home-banner-kicker{
  color:#087fbc;
  margin-bottom:13px;
}

.home-true-banner-copy h1{
  margin:0 0 22px;
  font-size:clamp(3.8rem,5.4vw,6rem);
  line-height:.87;
  letter-spacing:-.055em;
}

.home-banner-line{
  display:block;
}

.home-banner-line.dark{color:#173754}
.home-banner-line.blue{color:#0798da}
.home-banner-line.orange{color:#ff6900}

.home-true-banner-copy p{
  max-width:585px;
  margin:0;
  color:#5c7284;
  font-size:1.06rem;
  line-height:1.72;
}

.home-true-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}

.home-light-button{
  background:#fff;
  color:#087fbc;
  border:2px solid #d7ebf5;
}

.home-banner-colour-strokes{
  display:flex;
  gap:8px;
  margin-top:23px;
}

.home-banner-colour-strokes span{
  display:block;
  width:34px;
  height:7px;
  border-radius:999px;
  transform:rotate(-7deg);
}
.home-banner-colour-strokes span:nth-child(1){background:#0aa6e4}
.home-banner-colour-strokes span:nth-child(2){background:#ff6b00}
.home-banner-colour-strokes span:nth-child(3){background:#76d000}
.home-banner-colour-strokes span:nth-child(4){background:#ffc725}

.home-true-banner-visual{
  position:relative;
  min-height:455px;
  overflow:hidden;
  z-index:2;
  background:#fff;
}

.home-true-banner-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(246,252,255,1) 0%,rgba(246,252,255,.68) 5%,rgba(255,255,255,0) 22%);
}

.home-true-banner-visual img{
  width:100%;
  height:100%;
  min-height:455px;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.025);
}

.home-true-badge{
  position:absolute;
  right:24px;
  bottom:22px;
  z-index:4;
  width:175px;
  min-height:108px;
  padding:17px 14px;
  border-radius:52% 48% 52% 48%;
  background:#fff;
  box-shadow:0 13px 28px rgba(24,75,106,.16);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  color:#097db9;
  transform:rotate(-5deg);
  line-height:1.22;
}

.home-true-badge strong{
  font-family:'Fredoka',sans-serif;
  font-size:1.25rem;
  color:#075d9f;
}

.home-true-badge span{
  margin-top:4px;
  font-size:.78rem;
  font-weight:900;
}

.home-banner-rainbow{
  position:absolute;
  width:170px;
  height:90px;
  left:36.5%;
  top:22px;
  z-index:3;
  border-radius:170px 170px 0 0;
  border-top:13px solid rgba(255,105,0,.75);
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  transform:rotate(-4deg);
  opacity:.34;
}

.home-banner-rainbow::before,
.home-banner-rainbow::after{
  content:"";
  position:absolute;
  border-radius:170px 170px 0 0;
  left:9px;
  top:7px;
}

.home-banner-rainbow::before{
  width:126px;
  height:64px;
  border-top:12px solid rgba(255,199,35,.9);
}

.home-banner-rainbow::after{
  width:96px;
  height:47px;
  left:24px;
  top:20px;
  border-top:11px solid rgba(80,190,0,.78);
}

.home-banner-sun{
  position:absolute;
  right:38px;
  top:20px;
  z-index:4;
  color:#ffc429;
  font-size:2.4rem;
  transform:rotate(8deg);
}

.home-pillars-lifted{
  margin-top:4px;
}

@media (max-width:1050px){
  .home-true-banner{
    grid-template-columns:1fr 1fr;
  }

  .home-true-banner-copy{
    padding-left:38px;
  }

  .home-banner-rainbow{
    display:none;
  }
}

@media (max-width:860px){
  .home-true-banner{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .home-true-banner-copy{
    padding:45px 34px 32px;
  }

  .home-true-banner-visual,
  .home-true-banner-visual img{
    min-height:360px;
  }

  .home-true-banner-visual::before{
    background:
      linear-gradient(180deg,rgba(246,252,255,1) 0%,rgba(255,255,255,0) 16%);
  }
}

@media (max-width:760px){
  .home-page-banner{
    padding:20px 18px 8px;
  }

  .home-true-banner{
    border-radius:30px;
  }

  .home-true-banner-copy{
    padding:38px 24px 27px;
  }

  .home-true-banner-copy h1{
    font-size:clamp(3.2rem,16vw,4.7rem);
  }

  .home-true-banner-copy p{
    font-size:.98rem;
  }

  .home-true-banner-actions{
    display:grid;
  }

  .home-true-banner-actions .btn{
    width:100%;
  }

  .home-true-banner-visual,
  .home-true-banner-visual img{
    min-height:265px;
  }

  .home-true-badge{
    width:140px;
    min-height:88px;
    right:10px;
    bottom:10px;
    padding:12px;
  }

  .home-true-badge strong{
    font-size:1.02rem;
  }

  .home-true-badge span{
    font-size:.68rem;
  }

  .home-banner-sun{
    right:18px;
    top:14px;
    font-size:1.8rem;
  }
}


/* =========================================================
   HOME SEAMLESS IMAGE BANNER
   Image is the background of the whole banner — no split box.
   ========================================================= */

.home-page-banner{
  padding-top:28px;
  padding-bottom:12px;
}

.home-seamless-banner{
  max-width:var(--max);
  min-height:485px;
  margin:0 auto;
  border-radius:40px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(
      90deg,
      rgba(230,247,255,1) 0%,
      rgba(235,249,255,.99) 25%,
      rgba(242,251,255,.96) 37%,
      rgba(250,253,255,.78) 48%,
      rgba(255,255,255,.28) 60%,
      rgba(255,255,255,0) 73%
    ),
    url("../images/ausomekidz-hero-kids.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  border:1px solid #d9edf6;
  box-shadow:0 18px 44px rgba(17,86,126,.10);
}

.home-seamless-banner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 14%,rgba(8,169,230,.12),transparent 12rem),
    radial-gradient(circle at 94% 10%,rgba(121,211,0,.12),transparent 11rem);
  z-index:1;
}

.home-seamless-banner::after{
  content:"";
  position:absolute;
  left:-85px;
  bottom:-110px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:rgba(255,106,0,.09);
  z-index:1;
}

.home-seamless-copy{
  width:48%;
  min-width:620px;
  padding:58px 20px 52px 60px;
  position:relative;
  z-index:4;
}

.home-seamless-kicker{
  color:#047fbd;
  margin-bottom:13px;
}

.home-seamless-title{
  margin:0 0 22px;
  font-size:clamp(3.9rem,5.6vw,6.2rem);
  line-height:.86;
  letter-spacing:-.055em;
}

.home-seamless-title span{
  display:block;
}

.home-line-dark{color:#183754}
.home-line-blue{color:#0799dc}
.home-line-orange{color:#ff6900}

.home-seamless-copy p{
  max-width:590px;
  margin:0;
  color:#526d81;
  font-size:1.08rem;
  line-height:1.75;
}

.home-seamless-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.home-seamless-secondary{
  background:rgba(255,255,255,.94);
  color:#087fbd;
  border:2px solid #d5eaf5;
  box-shadow:0 9px 22px rgba(24,86,120,.06);
}

.home-seamless-strokes{
  display:flex;
  gap:8px;
  margin-top:23px;
}

.home-seamless-strokes span{
  display:block;
  width:35px;
  height:7px;
  border-radius:999px;
  transform:rotate(-8deg);
}

.home-seamless-strokes span:nth-child(1){background:#09a7e5}
.home-seamless-strokes span:nth-child(2){background:#ff6900}
.home-seamless-strokes span:nth-child(3){background:#72cf00}
.home-seamless-strokes span:nth-child(4){background:#ffc522}

.home-seamless-badge{
  position:absolute;
  right:30px;
  bottom:22px;
  z-index:5;
  width:180px;
  min-height:110px;
  padding:17px 14px;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 30px rgba(26,78,108,.16);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  color:#087fbc;
  transform:rotate(-5deg);
  line-height:1.2;
}

.home-seamless-badge strong{
  display:block;
  font-family:'Fredoka',sans-serif;
  color:#075d9e;
  font-size:1.25rem;
}

.home-seamless-badge span{
  margin-top:4px;
  font-size:.77rem;
  font-weight:900;
}

.home-seamless-sun{
  position:absolute;
  right:28px;
  top:22px;
  z-index:4;
  color:#ffc126;
  font-size:2.25rem;
  transform:rotate(8deg);
}

.home-pillars-lifted{
  margin-top:3px;
}

/* Tablet */
@media (max-width:1080px){
  .home-seamless-copy{
    width:55%;
    min-width:0;
    padding-left:42px;
  }

  .home-seamless-banner{
    background-position:58% center;
  }
}

/* Small tablet */
@media (max-width:860px){
  .home-seamless-banner{
    min-height:720px;
    align-items:flex-start;
    background-image:
      linear-gradient(
        180deg,
        rgba(233,249,255,1) 0%,
        rgba(241,251,255,.99) 37%,
        rgba(255,255,255,.82) 51%,
        rgba(255,255,255,.18) 68%,
        rgba(255,255,255,0) 100%
      ),
      url("../images/ausomekidz-hero-kids.png");
    background-size:auto 58%, cover;
    background-position:center bottom, center bottom;
  }

  .home-seamless-copy{
    width:100%;
    padding:42px 34px 28px;
  }

  .home-seamless-copy p{
    max-width:650px;
  }
}

/* Mobile */
@media (max-width:760px){
  .home-page-banner{
    padding:20px 18px 8px;
  }

  .home-seamless-banner{
    min-height:665px;
    border-radius:30px;
    background-size:auto 48%, cover;
  }

  .home-seamless-copy{
    padding:36px 23px 24px;
  }

  .home-seamless-title{
    font-size:clamp(3.2rem,16vw,4.7rem);
  }

  .home-seamless-copy p{
    font-size:.96rem;
    line-height:1.65;
  }

  .home-seamless-actions{
    display:grid;
  }

  .home-seamless-actions .btn{
    width:100%;
  }

  .home-seamless-badge{
    width:138px;
    min-height:88px;
    right:10px;
    bottom:11px;
    padding:11px;
  }

  .home-seamless-badge strong{
    font-size:1rem;
  }

  .home-seamless-badge span{
    font-size:.67rem;
  }

  .home-seamless-sun{
    right:14px;
    top:13px;
    font-size:1.7rem;
  }
}


/* =========================================================
   SERVICES & PROGRAMMES PAGE — VISUAL REDESIGN
   ========================================================= */

.services-page{
  overflow:hidden;
}

.services-container{
  width:min(100% - 56px,var(--max));
  margin:0 auto;
}

.services-blue{color:#0799dc}
.services-orange{color:#ff6800}

.services-kicker{
  color:#087fbc;
  text-transform:uppercase;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.07em;
  margin-bottom:10px;
}

/* HERO */
.services-page-hero{
  width:min(100% - 56px,var(--max));
  margin:28px auto 0;
}

.services-hero-banner{
  min-height:370px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  border-radius:36px;
  overflow:hidden;
  position:relative;
  background:linear-gradient(90deg,#e9f8ff 0%,#f6fcff 42%,#fff 42%);
  border:1px solid #dceef6;
  box-shadow:0 17px 42px rgba(24,82,116,.10);
}

.services-hero-copy{
  padding:48px 24px 44px 48px;
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.services-hero-copy h1{
  font-size:clamp(2.7rem,4.45vw,4.75rem);
  line-height:.97;
  margin:0 0 20px;
  max-width:690px;
  color:#173754;
}

.services-hero-copy h1 span{
  display:block;
}

.services-hero-copy p{
  margin:0;
  max-width:610px;
  color:#5d7485;
  font-size:1.04rem;
}

.services-colour-stroke{
  width:84px;
  height:6px;
  margin-top:23px;
  border-radius:999px;
  background:#ffc61f;
  transform:rotate(-3deg);
}

.services-hero-image{
  min-height:370px;
  position:relative;
  overflow:hidden;
}

.services-hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(246,252,255,.92) 0%,rgba(255,255,255,.2) 18%,rgba(255,255,255,0) 34%);
  pointer-events:none;
}

.services-hero-image img{
  width:100%;
  height:100%;
  min-height:370px;
  object-fit:cover;
  display:block;
}

.services-hero-words{
  position:absolute;
  z-index:3;
  top:26px;
  right:26px;
  display:grid;
  gap:0;
  font-family:'Fredoka',sans-serif;
  font-size:1.45rem;
  line-height:1.05;
  transform:rotate(-3deg);
}

.services-hero-words span:nth-child(1){color:#087dbc}
.services-hero-words span:nth-child(2){color:#0799dc}
.services-hero-words span:nth-child(3){color:#ff6800}
.services-hero-words span:nth-child(4){color:#54ad00}

.services-hero-badge{
  position:absolute;
  z-index:4;
  right:26px;
  bottom:20px;
  width:168px;
  min-height:108px;
  padding:17px 14px;
  border-radius:50%;
  background:#ffd84c;
  color:#0c5c99;
  box-shadow:0 12px 28px rgba(38,84,111,.16);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  transform:rotate(-6deg);
  line-height:1.18;
}

.services-hero-badge strong{
  font-family:'Fredoka',sans-serif;
  font-size:1.18rem;
}

.services-hero-badge span{
  margin-top:4px;
  font-weight:900;
  font-size:.82rem;
}

/* QUICK NAV */
.services-quick-section{
  padding:16px 0 8px;
}

.services-quick-nav{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
}

.services-quick-nav a{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 13px;
  border-radius:18px;
  text-decoration:none;
  color:#173b5a;
  font-weight:900;
  background:#fff;
  border:1px solid #e5eef4;
  transition:.2s ease;
}

.services-quick-nav a:nth-child(1){background:#ebf8ff}
.services-quick-nav a:nth-child(2){background:#fff1e6}
.services-quick-nav a:nth-child(3){background:#edf9e3}
.services-quick-nav a:nth-child(4){background:#fff8dd}
.services-quick-nav a:nth-child(5){background:#f3edff}

.services-quick-nav a:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(28,81,112,.08);
}

.quick-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#fff;
  font-family:'Fredoka',sans-serif;
  font-weight:700;
}

.quick-blue{color:#078ed0}
.quick-orange{color:#ff6900}
.quick-green{color:#53aa00}
.quick-yellow{color:#d79b00}
.quick-purple{color:#7748c8}

/* SERVICE ROWS */
.services-list-section{
  padding:0 0 34px;
}

.service-feature{
  margin-top:14px;
  display:grid;
  grid-template-columns:72px 190px minmax(0,1fr) 300px;
  gap:20px;
  align-items:center;
  padding:14px 20px 14px 14px;
  border-radius:24px;
  border:1px solid rgba(31,81,111,.07);
}

.service-blue{background:linear-gradient(90deg,#e8f7ff,#f5fcff)}
.service-orange{background:linear-gradient(90deg,#fff3e5,#fffaf3)}
.service-green{background:linear-gradient(90deg,#eaf8ff,#f7fcff)}
.service-yellow{background:linear-gradient(90deg,#fff5dd,#fffaf1)}
.service-purple{background:linear-gradient(90deg,#ecf8ff,#f7fcff)}

.service-feature-number{
  align-self:start;
  padding-top:8px;
  text-align:center;
  font-family:'Fredoka',sans-serif;
  font-size:3rem;
  line-height:1;
  font-weight:700;
  color:#13a3e2;
}

.service-orange .service-feature-number,
.service-yellow .service-feature-number{color:#f6bd22}

.service-green .service-feature-number{color:#13a3e2}
.service-purple .service-feature-number{color:#13a3e2}

.service-feature-image{
  height:170px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 9px 22px rgba(28,76,106,.09);
  background:#fff;
}

.service-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.service-feature-main{
  padding:8px 4px;
}

.service-feature-label{
  color:#0789c9;
  font-weight:900;
  font-size:.92rem;
  margin-bottom:5px;
}

.service-orange .service-feature-label,
.service-yellow .service-feature-label{
  color:#ff6800;
}

.service-feature-main h2{
  margin:0 0 10px;
  font-size:clamp(1.75rem,2.2vw,2.45rem);
  line-height:1.02;
  color:#173754;
}

.service-feature-main p{
  margin:0 0 9px;
  color:#5b7284;
  font-size:.92rem;
  line-height:1.58;
}

.service-feature-list{
  border-left:1px solid rgba(43,104,138,.12);
  padding-left:22px;
}

.service-feature-list ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:3px;
}

.service-feature-list li{
  position:relative;
  padding-left:25px;
  color:#567083;
  font-size:.84rem;
  line-height:1.34;
}

.service-feature-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#078fd0;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.65rem;
  font-weight:900;
}

.service-orange .service-feature-list li::before,
.service-yellow .service-feature-list li::before{
  background:#f4b600;
}

.service-green .service-feature-list li::before{
  background:#58af00;
}

.service-purple .service-feature-list li::before{
  background:#7250c6;
}

/* WHY CHOOSE */
.services-why-section{
  padding:26px 0 56px;
}

.services-why-layout{
  padding:32px;
  display:grid;
  grid-template-columns:.78fr 1.42fr;
  gap:35px;
  border-radius:30px;
  background:linear-gradient(145deg,#fff,#fafdff);
  border:1px solid #e2edf3;
  box-shadow:0 12px 30px rgba(28,79,109,.06);
}

.services-why-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.services-why-intro h2{
  font-size:clamp(2.45rem,4vw,4rem);
  line-height:.96;
  margin:0 0 15px;
}

.services-why-intro p{
  color:#607586;
  font-size:.93rem;
}

.services-why-intro > strong{
  color:#087fbc;
}

.services-why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.why-mini-card{
  min-height:116px;
  padding:17px;
  border-radius:20px;
  display:flex;
  gap:13px;
  align-items:flex-start;
}

.why-mini-blue{background:#e9f8ff}
.why-mini-orange{background:#fff0e5}
.why-mini-green{background:#edf9e2}
.why-mini-purple{background:#f0ebff}
.why-mini-yellow{background:#fff7d7}

.why-mini-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0b98d7;
  color:#fff;
  font-weight:900;
}

.why-mini-orange .why-mini-icon{background:#ff7500}
.why-mini-green .why-mini-icon{background:#55ad00}
.why-mini-purple .why-mini-icon{background:#714ac2}
.why-mini-yellow .why-mini-icon{background:#f5b900}

.why-mini-card h3{
  margin:0 0 5px;
  color:#17405f;
  font-size:1rem;
}

.why-mini-card p{
  margin:0;
  color:#617586;
  font-size:.78rem;
  line-height:1.45;
}

/* CTA */
.services-cta{
  background:linear-gradient(100deg,#0786c7,#09ace3);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.services-cta::before{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-35px;
  height:58px;
  border-radius:0 0 50% 50%;
  background:#fff;
}

.services-cta::after{
  content:"♡";
  position:absolute;
  right:4%;
  bottom:2px;
  font-size:4.7rem;
  color:rgba(255,255,255,.22);
  transform:rotate(-11deg);
}

.services-cta-inner{
  width:min(100% - 56px,var(--max));
  min-height:160px;
  margin:0 auto;
  padding:47px 18px 24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:25px;
  align-items:center;
  position:relative;
  z-index:2;
}

.services-cta-plane{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  font-size:2.6rem;
  transform:rotate(-17deg);
}

.services-cta-copy h2{
  margin:0 0 5px;
  color:#fff;
  font-size:clamp(1.7rem,2.6vw,2.45rem);
}

.services-cta-copy p{
  margin:0;
  color:#e6f7ff;
}

.services-cta-button{
  min-width:210px;
  min-height:52px;
  padding:12px 23px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff9800,#ff6700);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(177,77,0,.22);
}

/* RESPONSIVE */
@media (max-width:1180px){
  .services-quick-nav{
    grid-template-columns:repeat(3,1fr);
  }

  .service-feature{
    grid-template-columns:70px 170px minmax(0,1fr);
  }

  .service-feature-list{
    grid-column:2 / -1;
    border-left:0;
    border-top:1px solid rgba(43,104,138,.12);
    padding:15px 0 0;
  }

  .service-feature-list ul{
    grid-template-columns:repeat(2,1fr);
    gap:7px 18px;
  }

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

@media (max-width:900px){
  .services-page-hero{
    width:min(100% - 36px,var(--max));
  }

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

  .services-hero-copy{
    padding:42px 32px 30px;
  }

  .services-hero-image,
  .services-hero-image img{
    min-height:330px;
  }

  .services-hero-image::before{
    background:linear-gradient(180deg,rgba(246,252,255,.98),rgba(255,255,255,0) 17%);
  }

  .services-why-layout{
    grid-template-columns:1fr;
  }

  .services-cta-inner{
    grid-template-columns:auto 1fr;
  }

  .services-cta-button{
    grid-column:2;
    justify-self:start;
  }
}

@media (max-width:760px){
  .services-container,
  .services-cta-inner{
    width:min(100% - 36px,var(--max));
  }

  .services-page-hero{
    margin-top:20px;
  }

  .services-hero-banner{
    border-radius:28px;
  }

  .services-hero-copy{
    padding:36px 22px 27px;
  }

  .services-hero-copy h1{
    font-size:clamp(2.55rem,12vw,3.8rem);
  }

  .services-hero-image,
  .services-hero-image img{
    min-height:255px;
  }

  .services-hero-badge{
    right:11px;
    bottom:10px;
    width:140px;
    min-height:88px;
    padding:11px;
  }

  .services-hero-words{
    top:14px;
    right:14px;
    font-size:1.08rem;
  }

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

  .services-quick-nav a{
    justify-content:flex-start;
    padding-inline:18px;
  }

  .service-feature{
    grid-template-columns:60px 1fr;
    padding:16px;
  }

  .service-feature-number{
    grid-row:1;
    grid-column:1;
    font-size:2.5rem;
  }

  .service-feature-image{
    grid-column:2;
    height:210px;
  }

  .service-feature-main,
  .service-feature-list{
    grid-column:1 / -1;
  }

  .service-feature-main{
    padding-top:4px;
  }

  .service-feature-list ul{
    grid-template-columns:1fr;
  }

  .services-why-layout{
    padding:23px 18px;
  }

  .services-why-grid{
    grid-template-columns:1fr;
  }

  .services-cta-inner{
    padding:50px 0 28px;
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    gap:15px;
  }

  .services-cta-plane{
    width:55px;
    height:55px;
    font-size:2rem;
  }

  .services-cta-button{
    grid-column:auto;
    justify-self:center;
    width:100%;
    max-width:310px;
  }
}


/* =========================================================
   HOME HERO — USES THE SAME STRUCTURE AS THE ABOUT US BANNER
   ========================================================= */

.home-about-showcase{
  margin-top:0;
}

.home-about-showcase-inner{
  grid-template-columns:.78fr 1.22fr;
}

.home-about-showcase-copy{
  padding-top:62px;
  padding-bottom:54px;
}

.home-about-display-title{
  font-size:clamp(3.45rem,5vw,5.8rem);
  line-height:.89;
}

.home-about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}

.home-about-secondary{
  background:#fff;
  color:#087fbc;
  border:2px solid #d5eaf5;
}

.home-about-scribble{
  margin-top:22px;
  background:linear-gradient(
    90deg,
    #08a9e6 0 24%,
    transparent 24% 29%,
    #ff6900 29% 53%,
    transparent 53% 58%,
    #70ce00 58% 78%,
    transparent 78% 83%,
    #ffc522 83% 100%
  );
  width:150px;
}

.home-about-showcase-photo{
  position:relative;
}

.home-about-showcase-photo img{
  object-position:center center;
}

.home-about-photo-badge{
  position:absolute;
  right:25px;
  bottom:22px;
  z-index:4;
  width:172px;
  min-height:105px;
  border-radius:50%;
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#087fbc;
  text-align:center;
  line-height:1.2;
  box-shadow:0 13px 28px rgba(29,78,108,.17);
  transform:rotate(-5deg);
}

.home-about-photo-badge strong{
  font-family:'Fredoka',sans-serif;
  font-size:1.22rem;
  color:#075d9e;
}

.home-about-photo-badge span{
  margin-top:4px;
  font-size:.76rem;
  font-weight:900;
}

/* Keep the feature cards positioned naturally under the About-style hero */
.home-about-showcase + .home-pillars{
  margin-top:0;
  padding-top:24px;
}

/* Tablet — identical behaviour to About Us:
   copy first, photo underneath */
@media (max-width:900px){

  .home-about-showcase-inner{
    grid-template-columns:1fr;
  }

  .home-about-showcase-copy{
    padding:52px 28px 38px;
  }

  .home-about-showcase-photo,
  .home-about-showcase-photo img{
    min-height:390px;
  }

  .home-about-showcase-photo::before{
    inset:0 0 auto 0;
    width:auto;
    height:70px;
    background:linear-gradient(180deg,#f8fdff,rgba(248,253,255,0));
  }
}

/* Mobile */
@media (max-width:760px){

  .home-about-showcase{
    width:100%;
    border-radius:0;
  }

  .home-about-showcase-copy{
    padding:43px 20px 32px;
  }

  .home-about-display-title{
    font-size:clamp(3rem,14vw,4rem);
    line-height:.9;
    margin-bottom:20px;
  }

  .home-about-showcase-copy p{
    font-size:.98rem;
    line-height:1.68;
  }

  .home-about-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:11px;
    margin-top:23px;
  }

  .home-about-actions .btn{
    width:100%;
    min-height:54px;
  }

  .home-about-showcase-photo,
  .home-about-showcase-photo img{
    min-height:290px;
  }

  .home-about-showcase-photo img{
    object-position:center 52%;
  }

  .home-about-photo-badge{
    width:138px;
    min-height:88px;
    right:10px;
    bottom:10px;
    padding:11px;
  }

  .home-about-photo-badge strong{
    font-size:1rem;
  }

  .home-about-photo-badge span{
    font-size:.67rem;
  }

  .home-about-scribble{
    width:125px;
    margin-bottom:0;
  }

  .home-about-showcase + .home-pillars{
    padding-top:20px;
  }
}

@media (max-width:480px){

  .home-about-showcase-copy{
    padding:38px 18px 28px;
  }

  .home-about-display-title{
    font-size:clamp(2.85rem,13.8vw,3.65rem);
  }

  .home-about-showcase-photo,
  .home-about-showcase-photo img{
    min-height:255px;
  }
}
