:root { --navy: #002366; --deep-navy: #00133a; --gold: #ffd500; --ink: #162033; --paper: #f7f4ea; --white: #ffffff; --line: #d7dce4; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
a { color: inherit; }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }.container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--white); border-bottom: 3px solid var(--gold); }.nav-shell { min-height: 76px; width: min(1320px, calc(100% - 48px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }.brand img { display: block; width: 132px; height: auto; max-height: 58px; object-fit: contain; }.nav-links { display: flex; align-items: center; gap: 18px; }.nav-links a { color: var(--deep-navy); font-size: .9rem; font-weight: 700; text-decoration: none; white-space: nowrap; }.nav-links a:hover, .nav-links a[aria-current="page"] { color: #805f00; }.nav-links .nav-highlight { border-bottom: 2px solid var(--gold); }.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--navy); background: var(--white); cursor: pointer; }.menu-icon, .menu-icon::before, .menu-icon::after { display: block; width: 20px; height: 2px; margin: auto; background: var(--navy); content: ""; }.menu-icon::before { transform: translateY(-6px); }.menu-icon::after { transform: translateY(4px); }
.hero { position: relative; isolation: isolate; min-height: 530px; display: grid; align-items: center; overflow: hidden; background: url("../tech-lab.jpg") center / cover no-repeat; }.hero::before { position: absolute; inset: 0; z-index: -1; background: rgba(0, 19, 58, .9); content: ""; }.hero-watermark { position: absolute; right: clamp(24px, 10vw, 155px); bottom: -52px; opacity: .13; pointer-events: none; }.hero-watermark img { width: min(340px, 40vw); filter: grayscale(1) brightness(4); }.hero-content { width: min(1160px, calc(100% - 48px)); margin: 0 auto; padding: 82px 0; color: var(--white); }.eyebrow { margin: 0 0 10px; color: #805f00; font-size: .78rem; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }.hero .eyebrow, .enquiry .eyebrow { color: var(--gold); }.hero h1 { max-width: 780px; margin: 0; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.06; }.hero p:not(.eyebrow) { max-width: 650px; margin: 22px 0 30px; font-size: 1.17rem; }.button { display: inline-block; min-height: 46px; padding: 11px 20px; border: 2px solid transparent; font-weight: 800; text-decoration: none; }.button-gold { color: var(--deep-navy); background: var(--gold); }.button-gold:hover { background: var(--white); }.button-light { color: var(--deep-navy); background: var(--white); }.button-light:hover { background: var(--gold); }
.section { padding: 78px 0; }.intro { background: var(--paper); }.intro-grid { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(0, 1.15fr); gap: 52px; align-items: start; }.intro p:last-child { margin: 0; font-size: 1.08rem; }.section h2 { margin: 0; color: var(--deep-navy); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.18; }.section-heading { max-width: 820px; margin-bottom: 34px; }.narrow-heading { max-width: 760px; }
.partners { background: var(--white); }.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }.partner-card { min-height: 360px; display: grid; grid-template-rows: 120px 1fr; border: 1px solid var(--line); border-top: 5px solid var(--gold); background: var(--white); }.partner-brand { display: flex; align-items: center; justify-content: center; padding: 22px; border-bottom: 1px solid var(--line); background: #fbfcfe; }.partner-brand img { display: block; max-width: min(240px, 70%); max-height: 76px; object-fit: contain; }.partner-brand-pearson { gap: 12px; }.partner-brand-pearson img { width: 50px; height: 50px; }.partner-brand-pearson span { color: #1b1b1b; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 700; }.partner-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 28px; }.partner-location { margin: 0 0 8px; color: #536176; font-size: .82rem; font-weight: 800; text-transform: uppercase; }.partner-copy h3 { margin: 0; color: var(--deep-navy); font-size: 1.35rem; line-height: 1.28; }.partner-copy p:not(.partner-location) { margin: 14px 0 20px; }.text-link { margin-top: auto; color: var(--navy); font-size: .92rem; font-weight: 800; }.text-link:hover { color: #805f00; }.partner-card-dark { border-color: var(--deep-navy); background: var(--deep-navy); }.partner-card-dark .partner-brand { border-bottom-color: rgba(255,255,255,.18); background: var(--navy); }.partner-brand-ai img { width: 74px; height: 74px; max-width: 74px; max-height: 74px; }.partner-card-dark .partner-copy h3, .partner-card-dark .partner-copy p { color: var(--white); }.partner-card-dark .partner-location { color: var(--gold); }.partner-card-dark .text-link { color: var(--gold); }
.principles { background: var(--paper); }.principle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }.principle-grid article { padding-right: 24px; border-right: 1px solid #c9c3b4; }.principle-grid article:last-child { padding-right: 0; border-right: 0; }.principle-number { display: block; margin-bottom: 15px; color: #805f00; font-size: 1rem; font-weight: 900; }.principle-grid h3 { margin: 0; color: var(--deep-navy); font-size: 1.25rem; }.principle-grid p { margin: 10px 0 0; }
.enquiry { padding: 62px 0; color: var(--white); background: var(--deep-navy); }.enquiry-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }.enquiry h2 { max-width: 680px; margin: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.2; }.site-footer { padding: 24px 0; color: var(--white); background: #000f2d; font-size: .88rem; }.footer-inner { display: flex; justify-content: space-between; gap: 24px; }.footer-inner p { margin: 0; }.footer-inner a { color: var(--gold); }
@media (max-width: 1120px) { .menu-toggle { display: block; }.nav-shell { position: relative; }.nav-links { position: absolute; top: 100%; left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 12px 24px 20px; background: var(--white); border-bottom: 3px solid var(--gold); }.nav-links.menu-open { display: flex; }.nav-links a { padding: 10px 0; }.nav-links .nav-highlight { width: fit-content; } }
@media (max-width: 760px) { .container, .nav-shell, .hero-content { width: min(100% - 32px, 1160px); }.nav-shell { min-height: 68px; }.brand img { width: 112px; }.hero { min-height: 480px; }.hero-content { padding: 64px 0; }.hero-watermark { right: -38px; }.hero-watermark img { width: 230px; }.section { padding: 58px 0; }.intro-grid, .partner-grid, .principle-grid { grid-template-columns: 1fr; }.intro-grid { gap: 20px; }.partner-card { min-height: 0; }.principle-grid { gap: 28px; }.principle-grid article { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #c9c3b4; }.principle-grid article:last-child { padding-bottom: 0; border-bottom: 0; }.enquiry-inner, .footer-inner { align-items: flex-start; flex-direction: column; gap: 20px; }.enquiry { padding: 52px 0; } }
