:root{--navy:#102746;--deep:#071b34;--gold:#d6a53e;--ivory:#faf8f2;--ink:#17263b;--muted:#657184;--line:#e9e2d4;--serif:'Lora',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.6}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.concept{text-align:center;background:#f3e6c8;color:#63440d;padding:7px 12px;font-size:10px;font-weight:700;letter-spacing:.1em}.top{background:var(--deep);color:#e9edf3;font-size:11px}.topin{display:flex;justify-content:space-between;padding:8px 0}header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line)}.navrow{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);line-height:1.15}.brand b{display:block;font:700 14px var(--serif);letter-spacing:.03em}.brand small{display:block;font-size:10px;letter-spacing:.28em;margin-top:4px}.crest{width:43px;height:48px;display:grid;place-items:center;background:var(--navy);color:var(--gold);font:700 14px var(--serif);border:2px solid var(--gold);clip-path:polygon(50% 0,95% 12%,91% 70%,50% 100%,9% 70%,5% 12%)}nav{display:flex;gap:23px}.mobile-navcta{display:none}nav a{font-size:12px;font-weight:600;padding:28px 0}nav a:hover,nav a.active{color:#a66b0c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:6px;font-size:12px;font-weight:700;border:1px solid transparent}.gold{background:var(--gold);color:#172238}.outline{border-color:#d8b15d;color:white;background:#10274666}.navy{background:var(--navy);color:#fff}.menu{display:none;background:none;border:0;font-size:24px;color:var(--navy)}
.hero{min-height:490px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:#fff}.photo{position:absolute;inset:0 0 0 29%;background:url('hero-mockup-reference.jpg') center 38%/cover;opacity:.88}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#071b34 0%,#071b34ed 28%,#071b34a8 48%,transparent 78%)}.herotxt{position:relative;padding:65px 0}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:var(--gold);margin:0 0 14px}.hero h1{font:600 clamp(42px,5.2vw,66px)/1.08 var(--serif);margin:0 0 17px;max-width:590px}.hero h1 em{font-style:normal;color:#efbd52}.intro{max-width:440px;color:#e5eaf1;font-size:15px;margin:0 0 23px}.actions{display:flex;gap:12px;flex-wrap:wrap}.note{font-size:10px;color:#bdc7d4;margin-top:18px}.values{background:var(--ivory);border-bottom:1px solid var(--line)}.valuegrid{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}.valuegrid article{display:flex;align-items:center;gap:14px;padding:0 18px;border-right:1px solid #e3dac9}.valuegrid article:first-child{padding-left:0}.valuegrid article:last-child{border:0}.valuegrid i,.contactbox i{font-style:normal;width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:#f5e9cf;color:#ad7419;font-size:24px}.valuegrid b{font:600 15px var(--serif);color:var(--navy)}.valuegrid p{font-size:11px;color:var(--muted);margin:3px 0 0}.section{padding:70px 0}.welcomegrid{display:grid;grid-template-columns:1fr 1.1fr .72fr;gap:30px;align-items:center}.campus{min-height:275px;border-radius:7px;background:url('assets/images/classroom.png') center/cover}.dark{color:#a66b0c}.welcome h2,.heading h2,.contact h2{font:600 clamp(29px,3vw,39px)/1.18 var(--serif);color:var(--navy);margin:0 0 10px}.welcome h3{font:600 16px var(--serif);margin:0 0 10px}.welcome p:not(.eyebrow),.contact p{font-size:13px;color:var(--muted)}.textlink{font-size:12px;font-weight:700;color:#99640f}.core{background:#f8f2e7;padding:23px;border-radius:8px}.core h3{font:600 19px var(--serif);color:var(--navy);margin:0 0 12px}.core ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.core li{font-size:12px}.core li:before{content:'✦';color:#b47a1d;margin-right:10px}.programs{background:#fbfaf7}.heading{text-align:center;max-width:680px;margin:0 auto 28px}.heading>p:last-child{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.cardimg{height:135px;background-size:cover;background-position:center}.one{background-image:url('assets/images/library.png')}.two{background-image:url('assets/images/learning-resources.png')}.three{background-image:url('assets/images/collaborative-learning.png')}.four{background-image:url('assets/images/clubs-activities.png')}.cardbody{padding:15px}.cardbody h3{font:600 16px var(--serif);color:var(--navy);margin:0 0 5px}.cardbody p{font-size:11px;color:var(--muted);margin:0}.band{background:var(--navy);color:white;padding:43px 0}.bandin{display:flex;align-items:center;justify-content:space-between;gap:25px}.band h2{font:600 clamp(27px,3vw,38px)/1.2 var(--serif);max-width:600px;margin:0 0 8px}.band p:not(.eyebrow){font-size:13px;color:#d0d8e3;margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contactbox{display:flex;align-items:center;gap:15px;background:var(--ivory);border:1px solid var(--line);border-radius:9px;padding:22px}.contactbox h3{font:600 18px var(--serif);color:var(--navy);margin:0}.contactbox p{font-size:11px;margin:5px 0 0}.contactbox .btn{margin-left:auto;white-space:nowrap}footer{background:#081b33;color:#dce4ed;padding:23px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.foot .brand{color:white}.foot p,.foot>a:last-child{font-size:11px;color:#c0cbd9;margin:0}.disclaimer{text-align:center;background:#f1e7d1;color:#604b26;padding:10px 18px;font-size:10px}
@media(max-width:1000px){nav{gap:12px}nav a{font-size:11px}.welcomegrid{grid-template-columns:1fr 1fr}.core{grid-column:1/-1}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topin{justify-content:center;text-align:center}.topin span:last-child{display:none}.navrow{min-height:70px}.brand b{font-size:12px}.crest{width:37px;height:42px}.menu{display:block;margin-left:auto}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:10px 22px 18px;box-shadow:0 14px 22px #081b3320;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:12px 4px;border-bottom:1px solid #eee;font-size:13px}.navcta{display:none}.mobile-navcta{display:flex;width:100%;margin:12px 0 2px;padding:14px 18px;border-radius:6px;font-size:13px}.hero{min-height:590px;align-items:flex-end}.photo{inset:0;background-position:58% center;opacity:.72}.shade{background:linear-gradient(0deg,#071b34 0%,#071b34eb 34%,#071b3460 78%,#071b341a)}.herotxt{padding:60px 0 38px}.hero h1{font-size:clamp(39px,10vw,52px)}.intro{font-size:14px}.actions{display:grid;grid-template-columns:1fr}.actions .btn{width:100%}.valuegrid{grid-template-columns:1fr 1fr;padding:10px 0}.valuegrid article{padding:13px 7px;border:0;border-bottom:1px solid #e3dac9;gap:9px}.valuegrid article:nth-child(odd){border-right:1px solid #e3dac9}.valuegrid article:nth-last-child(-n+2){border-bottom:0}.valuegrid i{width:38px;height:38px;font-size:20px}.valuegrid b{font-size:12px}.valuegrid p{font-size:10px}.section{padding:50px 0}.welcomegrid{grid-template-columns:1fr;gap:20px}.campus{min-height:210px;order:1}.welcomegrid>div:nth-child(2){order:0}.core{grid-column:auto;order:2}.cards{grid-template-columns:1fr 1fr;gap:11px}.cardimg{height:105px}.cardbody{padding:12px}.cardbody h3{font-size:14px}.cardbody p{font-size:10px}.bandin{align-items:flex-start;flex-direction:column}.bandin .btn{width:100%}.contact{grid-template-columns:1fr;gap:20px}.contactbox{flex-wrap:wrap}.contactbox>div{flex:1;min-width:170px}.contactbox .btn{width:100%;margin:5px 0 0}.foot{align-items:flex-start;flex-direction:column}.foot p{margin:0}}
@media(max-width:390px){.cards{grid-template-columns:1fr}.cardimg{height:145px}.valuegrid article{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Typography refinement: improve readability and visual confidence */
.concept{font-size:11px}
.top{font-size:13px}
.brand b{font-size:16px}
.brand small{font-size:11px}
nav a{font-size:15px;font-weight:700}
.btn{font-size:14px;font-weight:700;padding:14px 20px}
.intro{font-size:17px;line-height:1.65}
.note{font-size:12px}
.valuegrid b{font-size:17px}
.valuegrid p{font-size:14px;line-height:1.45}
.welcome h3{font-size:18px}
.welcome p:not(.eyebrow),.contact p{font-size:15px;line-height:1.7}
.textlink{font-size:14px}
.core li{font-size:14px}
.heading>p:last-child{font-size:15px;line-height:1.6}
.cardbody h3{font-size:18px}
.cardbody p{font-size:14px;line-height:1.55}
.band p:not(.eyebrow){font-size:15px;line-height:1.65}
.contactbox h3{font-size:19px}
.contactbox p{font-size:14px;line-height:1.55}
.foot p,.foot>a:last-child{font-size:13px}
.disclaimer{font-size:11px;line-height:1.5}
@media(max-width:1000px){nav{gap:12px}nav a{font-size:14px}}
@media(max-width:760px){
  .brand b{font-size:13px}
  nav a{font-size:15px;font-weight:700}
  .btn{font-size:14px;padding:14px 18px}
  .intro{font-size:16px}
  .valuegrid b{font-size:14px}
  .valuegrid p{font-size:12px}
  .welcome p:not(.eyebrow),.contact p{font-size:15px}
  .core li{font-size:14px}
  .heading>p:last-child{font-size:14px}
  .cardbody h3{font-size:15px}
  .cardbody p{font-size:12px}
  .band p:not(.eyebrow){font-size:15px}
  .contactbox p{font-size:13px}
  .foot p,.foot>a:last-child{font-size:12px}
}

/* Hero positioning refinement: lift the left-aligned content so both CTAs
   remain comfortably visible in the initial desktop viewport. */
@media (min-width: 761px) {
  .hero .herotxt {
    transform: translateY(-38px);
  }
}

@media (max-width: 760px) {
  .hero .herotxt {
    transform: translateY(-12px);
  }
}


/* Mockup proportion refinement: compact header, balanced hero, visible feature ribbon. */
@media (min-width: 761px) {
  .navrow { min-height: 64px; }
  nav a { padding: 20px 0; }
  .hero { min-height: 398px; }
  .photo {
    inset: 0 0 0 34%;
    background-size: auto 100%;
    background-position: right center;
    background-repeat: no-repeat;
    opacity: .92;
  }
  .shade {
    background: linear-gradient(90deg, #071b34 0%, #071b34f2 28%, #071b34a8 47%, #071b3420 76%, transparent 100%);
  }
  .hero .herotxt {
    transform: none;
    padding: 20px 0;
  }
  .hero h1 {
    font-size: clamp(40px, 4.1vw, 56px);
    line-height: 1.06;
    max-width: 660px;
    margin-bottom: 13px;
  }
  .hero .intro {
    max-width: 450px;
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 18px;
  }
  .hero .eyebrow { margin-bottom: 10px; }
  .hero .note { display: none; }
}

@media (max-width: 760px) {
  .hero .note { display: none; }
}

/* Seamless hero image integration: fade the photograph into the navy field. */
@media (min-width: 761px) {
  .hero .photo {
    inset: 0 0 0 20%;
    background-position: right center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    opacity: 1;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 24%, rgba(0,0,0,.62) 42%, #000 58%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 24%, rgba(0,0,0,.62) 42%, #000 58%);
  }
  .hero .shade {
    background: linear-gradient(90deg, #071b34 0%, #071b34f5 27%, #071b34c9 43%, #071b3470 58%, #071b3418 78%, transparent 100%);
  }
}
@media (max-width: 760px) {
  .hero .photo {
    inset: 0;
    background-position: 58% center;
    opacity: .82;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 62%, transparent 100%);
  }
  .hero .shade {
    background: linear-gradient(0deg, #071b34 0%, #071b34ed 34%, #071b3478 72%, #071b3420 100%);
  }
}

/* Approved refinement: compact feature ribbon, stronger gold icons and clearer site-wide typography. */
:root {
  --gold: #e0ad3e;
  --ink: #10243d;
  --muted: #4f5d70;
}
body { color: #142943; }
.concept { color: #563800; background: #f6e8c8; }
.top { color: #f5f7fb; }
nav a { color: #14243a; }
.hero { color: #fff; }
.hero h1 { color: #fff; text-shadow: 0 1px 1px rgba(0,0,0,.12); }
.hero h1 em { color: #f4c052; }
.intro { color: #f3f6fb; }
.eyebrow { color: #f1bd4c; }
.welcome h2, .heading h2, .contact h2,
.core h3, .cardbody h3, .contactbox h3 { color: #102746; }
.welcome h3 { color: #1d3048; }
.welcome p:not(.eyebrow), .contact p,
.heading>p:last-child, .cardbody p, .contactbox p { color: #4d5b6e; }
.core li { color: #26384e; }
.foot p, .foot>a:last-child { color: #e2e9f1; }
.disclaimer { color: #55421f; }

/* Ribbon: compact height with a deliberate two-line text hierarchy. */
.valuegrid {
  padding: 14px 0;
  align-items: center;
}
.valuegrid article {
  gap: 13px;
  padding: 0 17px;
  min-height: 62px;
}
.valuegrid i {
  width: 56px;
  height: 56px;
  font-size: 29px;
  color: #a96505;
  background: radial-gradient(circle at 35% 30%, #fff8e8 0%, #f6e5bf 72%, #eed59b 100%);
  box-shadow: inset 0 0 0 1px rgba(190,133,35,.13);
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.valuegrid article > div { min-width: 0; }
.valuegrid b {
  display: block;
  color: #102746;
  font: 700 16px/1.25 var(--serif);
  margin: 0;
}
.valuegrid p {
  color: #4d5b6e;
  font: 500 12px/1.35 var(--sans);
  margin: 4px 0 0;
  max-width: 170px;
}


/* Final surgical hero correction:
   preserve the existing photograph crop, scale and position;
   soften only its left edge into the navy hero background. */
@media (min-width: 761px) {
  .hero .photo {
    inset: 0 0 0 34%;
    background-position: right center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    opacity: .92;
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.08) 5%,
      rgba(0,0,0,.38) 13%,
      rgba(0,0,0,.78) 23%,
      #000 34%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.08) 5%,
      rgba(0,0,0,.38) 13%,
      rgba(0,0,0,.78) 23%,
      #000 34%
    );
  }
  .hero .shade {
    background: linear-gradient(
      90deg,
      #071b34 0%,
      #071b34f5 29%,
      #071b34c8 45%,
      #071b3468 61%,
      #071b3418 79%,
      transparent 100%
    );
  }
}


/* Targeted readability pass for the areas marked in the review screenshot. */
:root {
  --muted: #34465d;
}
.valuegrid p {
  color: #34465d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.valuegrid b {
  color: #0c213c;
  font-size: 17px;
  font-weight: 700;
}
.welcome p:not(.eyebrow) {
  color: #34465d;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}
.core li {
  color: #243950;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
}
.eyebrow.dark {
  color: #98610b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .19em;
}
.heading > p:last-child {
  color: #3b4b60;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}
.cardbody p {
  color: #34465d;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}
.cardbody h3 {
  color: #102746;
  font-size: 18px;
  font-weight: 700;
}
.contact > div > p:not(.eyebrow),
.contactbox p {
  color: #34465d;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
}
.contactbox h3, .core h3 {
  color: #102746;
  font-weight: 700;
}
.textlink {
  color: #94600c;
  font-weight: 700;
}
@media (max-width: 760px) {
  .valuegrid p { font-size: 12px; }
  .welcome p:not(.eyebrow), .contact > div > p:not(.eyebrow) { font-size: 15px; }
  .heading > p:last-child, .cardbody p { font-size: 14px; }
  .core li { font-size: 14px; }
}


/* Final responsive polish: keep the mobile hero subject clear of the headline. */
@media (max-width: 760px) {
  .hero {
    min-height: 610px;
    align-items: flex-end;
    isolation: isolate;
  }
  .hero .photo {
    inset: 0;
    background-size: auto 76%;
    background-position: 72% 0%;
    background-repeat: no-repeat;
    opacity: .9;
    -webkit-mask-image: linear-gradient(
      180deg,
      #000 0%,
      rgba(0,0,0,.92) 34%,
      rgba(0,0,0,.42) 58%,
      transparent 78%
    );
    mask-image: linear-gradient(
      180deg,
      #000 0%,
      rgba(0,0,0,.92) 34%,
      rgba(0,0,0,.42) 58%,
      transparent 78%
    );
  }
  .hero .shade {
    background: linear-gradient(
      180deg,
      rgba(7,27,52,.08) 0%,
      rgba(7,27,52,.18) 26%,
      rgba(7,27,52,.72) 48%,
      #071b34 69%,
      #071b34 100%
    );
  }
  .hero .herotxt {
    z-index: 1;
    padding: 255px 0 32px;
  }
  .hero h1 {
    max-width: 520px;
    text-shadow: 0 2px 10px rgba(7,27,52,.38);
  }
  .hero .intro {
    max-width: 480px;
  }
}

/* Tablet: prevent the ribbon and welcome layout from feeling compressed. */
@media (min-width: 761px) and (max-width: 900px) {
  .navrow { gap: 12px; }
  nav { gap: 10px; }
  nav a { font-size: 12px; }
  .navcta { padding-inline: 13px; }
  .valuegrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px 0;
  }
  .valuegrid article {
    min-height: 68px;
    padding: 8px 12px;
  }
  .valuegrid article:nth-child(2) { border-right: 0; }
  .valuegrid article:nth-child(-n+2) { border-bottom: 1px solid #e3dac9; }
  .welcomegrid { gap: 20px; }
  .hero h1 { font-size: clamp(38px, 4.5vw, 48px); }
}


/* Mobile hero correction: retain the same source image, but show it as a
   smaller, full-width upper image area so the student's face stays clear
   of the headline and CTA copy. Desktop styling is intentionally untouched. */
@media (max-width: 760px) {
  .hero {
    min-height: 610px;
    align-items: flex-end;
    background: #071b34;
  }
  .hero .photo {
    inset: 0;
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    opacity: 1;
    -webkit-mask-image: linear-gradient(
      180deg,
      #000 0%,
      rgba(0,0,0,.96) 48%,
      rgba(0,0,0,.45) 78%,
      transparent 100%
    );
    mask-image: linear-gradient(
      180deg,
      #000 0%,
      rgba(0,0,0,.96) 48%,
      rgba(0,0,0,.45) 78%,
      transparent 100%
    );
  }
  .hero .shade {
    background: linear-gradient(
      180deg,
      rgba(7,27,52,.02) 0%,
      rgba(7,27,52,.06) 18%,
      rgba(7,27,52,.35) 34%,
      rgba(7,27,52,.88) 51%,
      #071b34 66%,
      #071b34 100%
    );
  }
  .hero .herotxt {
    z-index: 1;
    padding: 190px 0 32px;
  }
  .hero h1 {
    max-width: 520px;
    text-shadow: 0 2px 8px rgba(7,27,52,.35);
  }
  .hero .intro {
    max-width: 480px;
  }
}


/* Combined mobile hero composition: visible student photograph + integrated
   headline + high-contrast CTAs. Desktop hero remains unchanged. */
@media (max-width: 760px) {
  .hero {
    min-height: 640px;
    align-items: center;
    background: #071b34;
    isolation: isolate;
  }
  .hero .photo {
    inset: 0;
    background-size: cover;
    background-position: 66% center;
    background-repeat: no-repeat;
    opacity: .94;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .hero .shade {
    background:
      linear-gradient(90deg,
        rgba(7,27,52,.88) 0%,
        rgba(7,27,52,.70) 42%,
        rgba(7,27,52,.22) 100%),
      linear-gradient(0deg,
        #071b34 0%,
        rgba(7,27,52,.84) 23%,
        rgba(7,27,52,.20) 63%,
        rgba(7,27,52,.12) 100%);
  }
  .hero .herotxt {
    z-index: 1;
    width: 100%;
    padding: 150px 0 30px;
  }
  .hero .eyebrow {
    margin-bottom: 10px;
    text-shadow: 0 1px 5px rgba(0,0,0,.3);
  }
  .hero h1 {
    max-width: 560px;
    font-size: clamp(38px, 9.4vw, 46px);
    line-height: 1.06;
    margin-bottom: 14px;
    text-shadow: 0 2px 10px rgba(0,0,0,.42);
  }
  .hero .intro {
    max-width: 470px;
    color: #f5f7fb;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 19px;
    text-shadow: 0 1px 5px rgba(0,0,0,.38);
  }
  .hero .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 480px;
  }
  .hero .actions .btn {
    width: 100%;
    min-height: 48px;
    font-size: 13px;
    border-radius: 6px;
    box-shadow: 0 3px 12px rgba(0,0,0,.18);
  }
  .hero .actions .gold {
    background: #e6b23f;
    color: #10233c;
    border: 1px solid #f2cc72;
  }
  .hero .actions .outline {
    background: rgba(7,27,52,.58);
    color: #fff;
    border: 1px solid rgba(245,197,91,.9);
  }
}


/* Mobile hero composition refinement: lift and centre the copy and CTAs,
   while retaining the approved image, crop, and desktop composition. */
@media (max-width: 760px) {
  .hero .herotxt {
    text-align: center;
    padding: 118px 0 28px;
    margin-inline: auto;
  }
  .hero .eyebrow {
    text-align: center;
    margin-bottom: 9px;
  }
  .hero h1 {
    max-width: 520px;
    margin: 0 auto 12px;
    text-align: center;
    font-size: clamp(36px, 8.8vw, 44px);
    line-height: 1.05;
  }
  .hero .intro {
    max-width: 440px;
    margin: 0 auto 16px;
    text-align: center;
  }
  .hero .actions {
    justify-items: center;
    margin-inline: auto;
    max-width: 390px;
    gap: 9px;
  }
  .hero .actions .btn {
    width: 100%;
    max-width: 390px;
    min-height: 46px;
    margin-inline: auto;
  }
}


/* Final mobile-only adjustment: lift centred hero copy and CTAs slightly. */
@media (max-width: 760px) {
  .hero .herotxt {
    padding-top: 94px;
    padding-bottom: 28px;
  }
}


/* Multi-page concept additions */
.subhero{background:linear-gradient(110deg,#071b34,#17395f);color:#fff;padding:66px 0 62px}.subhero h1{font:600 clamp(34px,5vw,54px)/1.12 var(--serif);max-width:760px;margin:0 0 12px}.subhero> .wrap>p:not(.eyebrow){max-width:700px;color:#e2e9f1;font-size:16px;margin:0}.subhero .concept-note{font-size:11px!important;color:#f1c76f!important;margin-top:18px!important}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps article,.info-panel,.form-preview{background:#faf8f2;border:1px solid #e9e2d4;border-radius:9px;padding:23px}.steps article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f2e3bf;color:#8a5c0b;font:700 16px var(--serif)}.steps h3,.info-panel h2,.info-panel h3{font:600 20px var(--serif);color:#102746;margin:15px 0 8px}.steps p,.info-panel p,.info-panel li{font-size:14px;color:#4d5b6e;line-height:1.7}.info-panel ul{padding-left:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;background:#fff;border:1px solid #e9e2d4;border-radius:9px;overflow:hidden}.gallery-grid img{display:block;width:100%;height:220px;object-fit:cover}.gallery-grid figcaption{display:grid;gap:3px;padding:14px}.gallery-grid figcaption b{font:600 17px var(--serif);color:#102746}.gallery-grid figcaption span,.image-disclosure{font-size:12px;color:#657184}.image-disclosure{line-height:1.7;margin-top:22px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.news-card{border:1px solid #e9e2d4;border-radius:9px;overflow:hidden;background:#fff}.news-image{height:190px;background-size:cover;background-position:center}.news-one{background-image:url('assets/images/collaborative-learning.png')}.news-two{background-image:url('assets/images/clubs-activities.png')}.news-three{background-image:url('assets/images/teaching-guidance.png')}.news-copy{padding:19px}.news-tag,.form-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#9a6814}.news-copy h2,.form-preview h2,.contact-layout h2{font:600 23px/1.2 var(--serif);color:#102746;margin:9px 0}.news-copy p,.news-copy small,.contact-layout>div>p{font-size:13px;line-height:1.7;color:#4d5b6e}.news-copy small{font-size:11px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.form-preview{display:grid;gap:13px}.form-preview>p,.form-preview small{font-size:12px;line-height:1.6;color:#657184;margin:0}.form-preview label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#26384e}.form-preview input,.form-preview select,.form-preview textarea{width:100%;padding:12px;border:1px solid #ddd5c7;border-radius:5px;background:#fff;color:#4d5b6e;font:13px var(--sans)}.form-preview button:disabled{opacity:.72;cursor:not-allowed}.info-panel{margin-top:25px}.info-panel h2,.info-panel h3{margin-top:0}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.subhero{padding:48px 0}.subhero h1{font-size:36px}.subhero> .wrap>p:not(.eyebrow){font-size:14px}.steps,.gallery-grid,.news-grid,.contact-layout{grid-template-columns:1fr}.gallery-grid img{height:210px}.news-image{height:200px}.contact-layout{gap:22px}.steps article,.info-panel,.form-preview{padding:19px}}

/* QA refinement: one desktop CTA, clearer admissions copy, and a contained mobile menu. */
@media (min-width: 761px) {
  nav .mobile-navcta { display: none !important; }
  .navrow { gap: clamp(12px, 1.5vw, 22px); }
  nav { gap: clamp(12px, 1.65vw, 22px); flex: 0 1 auto; }
  nav a { white-space: nowrap; }
  .navcta { flex: 0 0 auto; }
}

/* Admissions content marked for readability improvement. */
.steps p,
.info-panel p,
.info-panel li {
  font-size: 16px;
  line-height: 1.75;
  color: #35465c;
}
.steps h3,
.info-panel h2,
.info-panel h3 {
  font-size: 21px;
  line-height: 1.35;
}
.heading > p:last-child {
  color: #46566a;
  font-size: 16px;
  line-height: 1.7;
}
.info-panel li { margin-bottom: 3px; }

@media (max-width: 760px) {
  header { z-index: 20; }
  header nav {
    z-index: 21;
    max-height: min(76vh, 560px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px 18px 18px;
    box-shadow: 0 16px 28px rgba(7,27,52,.2);
  }
  header nav .mobile-navcta {
    display: flex !important;
    min-height: 48px;
    border-bottom: 0;
    margin-top: 14px;
    font-size: 15px;
  }
  .steps p,
  .info-panel p,
  .info-panel li {
    font-size: 15px;
    line-height: 1.75;
    color: #35465c;
  }
  .heading > p:last-child { font-size: 15px; }
}


/* Site-wide multi-page typography pass: improve legibility beyond Admissions. */
.subhero .eyebrow,
.eyebrow {
  font-size: 11px;
  line-height: 1.5;
}
.subhero > .wrap > p:not(.eyebrow) {
  font-size: 17px;
  line-height: 1.75;
  color: #f0f3f8;
}
.subhero .concept-note {
  font-size: 13px !important;
  line-height: 1.65;
}
.gallery-grid figcaption {
  gap: 5px;
  padding: 16px;
}
.gallery-grid figcaption b {
  font-size: 19px;
  line-height: 1.35;
}
.gallery-grid figcaption span,
.image-disclosure {
  font-size: 14px;
  line-height: 1.7;
  color: #4d5b6e;
}
.news-copy {
  padding: 21px;
}
.news-tag {
  font-size: 11px;
  line-height: 1.5;
}
.news-copy h2,
.form-preview h2,
.contact-layout h2 {
  font-size: 25px;
  line-height: 1.3;
}
.news-copy p,
.news-copy small,
.contact-layout > div > p {
  font-size: 15px;
  line-height: 1.75;
  color: #35465c;
}
.news-copy small {
  display: block;
  font-size: 13px;
  margin-top: 12px;
}
.form-preview {
  gap: 15px;
  padding: 25px;
}
.form-label {
  font-size: 11px;
  line-height: 1.5;
}
.form-preview > p,
.form-preview small {
  font-size: 14px;
  line-height: 1.7;
  color: #46566a;
}
.form-preview label {
  gap: 8px;
  font-size: 14px;
  line-height: 1.5;
}
.form-preview input,
.form-preview select,
.form-preview textarea {
  padding: 14px;
  font-size: 15px;
  line-height: 1.5;
}
.info-panel p,
.info-panel li {
  color: #35465c;
}
@media (max-width: 760px) {
  .subhero { padding: 44px 0; }
  .subhero h1 { font-size: clamp(33px, 8vw, 38px); line-height: 1.16; }
  .subhero > .wrap > p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.7;
  }
  .subhero .concept-note {
    font-size: 12px !important;
  }
  .gallery-grid figcaption { padding: 14px; }
  .gallery-grid figcaption b { font-size: 17px; }
  .gallery-grid figcaption span,
  .image-disclosure { font-size: 13px; line-height: 1.7; }
  .news-copy { padding: 18px; }
  .news-copy h2,
  .form-preview h2,
  .contact-layout h2 { font-size: 22px; line-height: 1.3; }
  .news-copy p,
  .news-copy small,
  .contact-layout > div > p {
    font-size: 14px;
    line-height: 1.75;
  }
  .news-copy small { font-size: 12px; }
  .form-preview { padding: 19px; gap: 13px; }
  .form-preview > p,
  .form-preview small { font-size: 13px; line-height: 1.7; }
  .form-preview label { font-size: 14px; }
  .form-preview input,
  .form-preview select,
  .form-preview textarea {
    font-size: 16px;
    padding: 13px;
  }
  .info-panel p,
  .info-panel li { font-size: 15px; line-height: 1.75; }
}


/* Agency conversion CTA added for portfolio demonstration visitors. */
.agency-cta .bandin { gap: 28px; }
.agency-cta .bandin > div { max-width: 720px; }
.agency-cta .bandin h2 { max-width: 700px; }
.agency-cta .bandin p:not(.eyebrow) { max-width: 650px; }
.agency-cta .btn { white-space: nowrap; }
@media (max-width: 760px) { .agency-cta .bandin { align-items: flex-start; gap: 18px; } .agency-cta .btn { white-space: normal; } }
