@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');
:root{
 --navy:#102235;--green:#2f7060;--light:#eef5f2;--paper:#f8faf9;
 --line:#dbe5e1;--muted:#63717a;--white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:Montserrat,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}
.nav{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:20}
.logo{width:138px;height:auto;display:block}.nav-right{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:700}.nav-right a:hover{color:var(--green)}
.hero{height:calc(100vh - 66px);min-height:560px;display:flex;overflow:hidden}
.choice{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5vw;flex:1 1 50%;transition:flex .65s cubic-bezier(.2,.75,.2,1),transform .45s ease;overflow:hidden}
.choice:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.18));opacity:0;transition:.4s}
.choice:hover:before{opacity:1}.choice:hover{flex:3 1 75%;transform:none;z-index:2}
.education-choice{background:var(--light);color:var(--navy)}.business-choice{background:var(--navy);color:#fff}
.choice-content{position:relative;z-index:1;max-width:600px}.choice-number{font-size:11px;letter-spacing:2px;font-weight:800;opacity:.5}.choice h1{font-size:clamp(58px,7vw,105px);line-height:.92;letter-spacing:-5px;margin:15px 0 20px;font-weight:800}.education-choice h1{color:var(--green)}.business-choice h1{color:#fff}.choice p{font-size:16px;line-height:1.65;max-width:480px;margin:0;opacity:.78}.choice .go{display:none}.business-choice .go{color:#7dc4aa}
.brand-line{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1px;height:70%;background:rgba(16,34,53,.12);z-index:5}.brand-line:after{content:none}
.section{padding:110px 9vw}.detail-hero{max-width:900px;padding-top:90px;padding-bottom:70px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800;color:var(--green);margin:0 0 15px}.detail-hero h1{font-size:clamp(48px,6.3vw,82px);line-height:1.02;letter-spacing:-4px;margin:0 0 25px}.detail-hero h1 em{font-style:normal;color:var(--green)}.detail-hero>p:last-child{font-size:19px;color:var(--muted);max-width:760px}
.specialisms{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:110px}.specialism{background:#fff;border:1px solid var(--line);padding:42px;min-height:320px}.specialism .num,.business-card .num{font-size:10px;font-weight:800;color:var(--green);letter-spacing:1px}.specialism h2,.business-card h2{font-size:30px;line-height:1.15;letter-spacing:-1.5px;margin:25px 0 12px}.specialism p,.business-card p{font-size:14px;color:var(--muted);max-width:600px}
.business-page{background:var(--navy);color:#fff}.business-page .detail-hero h1{color:#fff}.business-page .detail-hero>p:last-child{color:#b9c6ce}.business-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.14);margin-bottom:110px}.business-card{background:var(--navy);padding:42px;min-height:285px}.business-card h2{color:#fff}.business-card p{color:#b9c6ce}
.about-page{background:#fff}.story{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-bottom:110px}.story .lead-story{font-size:28px;line-height:1.35;font-weight:600;color:var(--navy)}.story p{font-size:15px;color:var(--muted);margin-top:0;margin-bottom:24px}.story strong{color:var(--navy)}
.pricing-page{background:var(--paper)}.prices{display:grid;grid-template-columns:1fr;gap:16px;max-width:1000px;padding-bottom:110px}.price{background:#fff;border:1px solid var(--line);padding:38px;display:grid;grid-template-columns:190px 1fr auto;gap:25px;align-items:center}.price.featured{background:var(--navy);color:#fff}.price .tier{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;color:var(--green)}.price h2{font-size:30px;letter-spacing:-1px;margin:5px 0}.price p{font-size:13px;color:var(--muted);margin:0}.featured p{color:#c2cdd4}.price .cost{font-size:25px;font-weight:800;white-space:nowrap}.price a{font-size:11px;font-weight:800;color:var(--green);display:block;margin-top:14px}
.cta{padding:90px 9vw;background:var(--green);color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:42px;line-height:1.05;letter-spacing:-2px;margin:0}.cta a{background:#fff;padding:14px 20px;border-radius:99px;font-size:12px;font-weight:800;white-space:nowrap}
footer{background:#091927;color:#aebbc3;padding:24px 5vw;display:flex;justify-content:space-between;font-size:11px}.back{color:var(--green)}
@media(max-width:850px){
 .nav{height:64px;padding:0 5vw}.logo{width:132px}.nav-right a:not(:last-child){display:none}
 .hero{height:auto;min-height:calc(100vh - 64px);display:flex;flex-direction:column}.choice{min-height:50vh;flex:1 1 50%;padding:9vw;justify-content:center;align-items:flex-start}.choice h1{font-size:58px;letter-spacing:-3px}.choice p{font-size:14px}.brand-line{top:50%;left:0;width:100%;height:1px}.brand-line:after{padding:6px}
 .section{padding:75px 6vw}.detail-hero{padding-top:55px}.specialisms,.business-cards,.story{grid-template-columns:1fr}.price{grid-template-columns:1fr;gap:10px}.price .cost{font-size:23px}.cta{padding:70px 6vw;display:block}.cta h2{font-size:34px;margin-bottom:25px}
}



/* V5.2 — pricing pages: balanced two-column composition */
.pricing-page .detail-hero{
  max-width:1240px;
  margin:0 auto;
  padding:105px 6vw 70px;
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  column-gap:7vw;
  align-items:center;
}
.pricing-page .detail-hero .eyebrow{grid-column:1}
.pricing-page .detail-hero h1{
  grid-column:1;
  max-width:560px;
  margin-top:0;
}
.pricing-page .detail-hero>p:last-child{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  max-width:570px;
  font-size:20px;
  color:var(--muted);
  border-left:2px solid var(--green);
  padding-left:28px;
}

.pricing-page .prices{
  max-width:1240px;
  margin:0 auto;
  padding:0 6vw 110px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pricing-page .prices:before{
  content:"PRICING STRUCTURE";
  display:block;
  font-size:10px;
  letter-spacing:2px;
  font-weight:800;
  color:var(--green);
  margin:0 0 4px 43%;
}
.pricing-page .price{
  width:57%;
  margin-left:auto;
  margin-right:0;
  min-height:0;
  padding:27px 30px;
  display:grid;
  grid-template-columns:180px 1fr 75px;
  gap:25px;
  align-items:center;
}
.pricing-page .price h2{margin:4px 0 0;font-size:30px}
.pricing-page .price p{margin:0;font-size:13px;line-height:1.55}
.pricing-page .price a{margin-top:0}
.pricing-page .note{
  max-width:1240px;
  margin:0 auto;
  padding:0 6vw 75px;
  text-align:right;
  color:#758087;
  font-size:12px;
}

@media(max-width:850px){
  .pricing-page .detail-hero{
    display:block;
    padding-top:65px;
  }
  .pricing-page .detail-hero>p:last-child{
    border-left:0;
    border-top:1px solid var(--green);
    padding:18px 0 0;
    margin-top:24px;
    font-size:17px;
  }
  .pricing-page .prices{padding-left:6vw;padding-right:6vw}
  .pricing-page .prices:before{margin-left:0}
  .pricing-page .price{
    width:100%;
    grid-template-columns:1fr;
    gap:9px;
  }
  .pricing-page .price a{margin-top:8px}
  .pricing-page .note{text-align:left}
}
