@font-face{font-family:DM;src:url(assets/sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}@font-face{font-family:News;src:url(assets/serif.woff2) format("woff2");font-style:italic;font-weight:200 800;font-display:swap}
:root{--paper:#f8f8f3;--ink:#17223a;--blue:#293fbf;--line:#d6d9d2;--muted:#535d69;--pad:clamp(22px,5.1vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.5 DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #607ae9;outline-offset:5px}::selection{background:#c4d1ff;color:#17223a}[hidden]{display:none!important}.skip{position:fixed;z-index:10;top:-80px;left:16px;background:white;padding:10px}.skip:not(:focus){clip-path:inset(50%)}.skip:focus{top:10px}.wrap{width:min(100%,1660px);padding-inline:var(--pad);margin-inline:auto}header{border-bottom:1px solid var(--line)}.nav{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:3}.brand{display:inline-flex;width:117px;align-items:center;min-height:44px}.brand img{width:100%;display:block}nav{display:flex;gap:36px}nav a,.textlink,.plain{font-size:14px}nav a{padding:12px 0}nav a:hover,.textlink:hover,.plain:hover,footer a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:21px;padding:16px 22px;background:var(--ink);color:#fff;border-radius:7px;font-size:15px;font-weight:600;transition:background .22s,transform .22s}.btn span{font-size:20px;line-height:1;transition:transform .22s}.btn:hover span{transform:translateX(4px)}.btn:hover{background:#293851}.btn.primary{background:var(--blue)}.btn.primary:hover{background:#1c309d}.smaller{padding:11px 17px;font-size:14px;gap:18px}.navcta{justify-self:end}.menu{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding-block:clamp(34px,3.8vw,62px) clamp(36px,4.4vw,72px)}.eyebrow,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:550;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;font-size:11px}.eyebrow{display:flex;align-items:center;gap:12px}.signal{display:inline-block;width:20px;height:14px;background:repeating-linear-gradient(to right,var(--blue) 0 3px,transparent 3px 5px);transform:skew(-16deg)}h1,h2,h3,p,figure{margin:0}.intro{padding-block:15px}.intro h1{font-size:clamp(70px,7.35vw,118px);line-height:.91;font-weight:530;letter-spacing:-.074em;margin:27px 0 21px}.intro h1 span,.intro h1 em{display:block}em{font-family:News,Georgia,serif;font-weight:430;font-style:italic;letter-spacing:-.05em}.intro h1 em{color:var(--blue);line-height:1.02;letter-spacing:-.057em;margin-left:-.018em}.intro p{color:var(--muted);font-size:clamp(16px,1.28vw,20px);line-height:1.53;max-width:440px}.actions{display:flex;align-items:center;gap:25px;margin-top:29px}.textlink{border-bottom:1px solid #7c8185;padding-block:3px 1px;font-weight:650}
.plate{isolation:isolate;overflow:hidden;position:relative;aspect-ratio:1.08;background:radial-gradient(ellipse at 40% 18%,#e3e9fe,#ced9fa 72%,#c7d3f4);color:#263c83}.dots{position:absolute;inset:0;background-image:radial-gradient(#324cb040 .65px,transparent .85px);background-size:15px 15px;opacity:.78}.guides{position:absolute;width:100%;height:100%;color:#5a73b8;opacity:.43}.plate-meta,figcaption{position:absolute;left:5.5%;right:5.5%;z-index:2;display:flex;align-items:center;justify-content:space-between}.plate-meta{top:5.7%;font-size:9px;letter-spacing:.13em}.tiny-square{display:inline-block;width:6px;height:6px;background:var(--blue);margin-right:6px}.art-body{position:absolute;inset:10% 6% 12%;display:grid;place-items:center}.art-float{position:relative;width:100%;height:100%;display:grid;place-items:center}.sculpture{position:absolute;display:block;width:100%;height:100%;object-fit:contain}.art-shadow{position:absolute;bottom:1.5%;width:38%;height:5%;border-radius:50%;background:#364b99;filter:blur(10px);opacity:.25;transform:rotate(-9deg)}figcaption{bottom:5.1%;align-items:flex-end}.caption-index{font-size:9px;opacity:.78;margin-bottom:2px}#fig-title{font-size:16px;font-weight:600;letter-spacing:-.03em}.motion{height:36px;width:36px;border-radius:50%;border:1px solid #6c80ad;background:#e1e8fb66;display:grid;place-items:center;color:#263c83}.motion:hover{background:#eef2ff}.motion svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.3;fill:none}.reg{position:absolute;width:9px;height:9px;opacity:.45;color:#415687}.reg:before,.reg:after{content:"";width:9px;height:1px;background:currentColor;position:absolute;top:4px}.reg:after{transform:rotate(90deg)}.tl{top:2%;left:1.8%}.tr{top:2%;right:1.8%}.br{bottom:2%;right:1.8%}.bl{bottom:2%;left:1.8%}
.partners{border-block:1px solid var(--line);background:#f2f3ed}.partner-wrap{padding-block:25px}.plain{min-height:35px;background:none;border:0;padding:0;font-weight:550}.plain span{margin-left:7px}.section{padding-block:clamp(68px,7vw,112px)}.section-tag{line-height:1.15}.section-tag>span{font-size:10px;color:var(--blue);border:1px solid #b4bed9;border-radius:3px;display:inline-grid;place-items:center;min-width:25px;height:20px;letter-spacing:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:26px 0 40px}h2{font-size:clamp(46px,4.7vw,80px);font-weight:520;line-height:1.01;letter-spacing:-.061em}.section-heading p{width:32%;max-width:365px;color:var(--muted);font-size:17px}
.contact { background: #142039; color: white; }
.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 6%;
  padding-block: clamp(54px, 6vw, 96px);
}
.contact h2 { margin: 0; max-width: 12ch; text-wrap: balance; }
/* Company statements follow the opening hero. */
.company { background: #f3f5fb; }
.company-grid { padding-block: clamp(48px, 5.5vw, 86px); }
.company h2 { margin: 0; text-wrap: balance; }
.company h2 em { color: var(--blue); }
.company-statements {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.6vw, 44px); margin-top: clamp(28px, 3.5vw, 50px);
}
.company-photo {
  display: block; width: 100%; height: auto; aspect-ratio: 5 / 3;
  object-fit: cover; margin-bottom: clamp(16px, 1.5vw, 24px);
}
.company-statement h3 {
  font-size: clamp(28px, 2.6vw, 43px); font-weight: 530;
  letter-spacing: -.045em; line-height: 1.1;
}
.company-statement p {
  margin-top: 10px; max-width: 42ch; color: #384762;
  font-size: clamp(16px, 1.28vw, 20px); line-height: 1.55; text-wrap: pretty;
}
@media (min-width: 551px) and (max-width: 850px) {
  .company-statements { grid-template-columns: 1fr; gap: 24px; }
  .company-statement {
    display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
    grid-template-rows: 1fr 1fr; column-gap: 28px;
  }
  .company-photo { grid-row: span 2; margin: 0; align-self: center; }
  .company-statement h3 { align-self: end; }
}
@media (max-width: 550px) {
  .company-statements { grid-template-columns: 1fr; gap: 32px; }
}
.contact em { color: #c4daff; }
.contact-grid { align-items:start; }
.contact-directory { margin:0; font-style:normal; border-block:1px solid #485974; }
.contact-route {
  display:grid; grid-template-columns:minmax(134px,.85fr) minmax(0,1.4fr);
  gap:18px; align-items:baseline; padding-block:20px;
}
.contact-route + .contact-route { border-top:1px solid #485974; }
.contact-route span { color:#c4daff; font-size:14px; line-height:1.4; }
.contact-route strong {
  color:#fff; font-size:clamp(18px,1.4vw,22px); font-weight:550;
  letter-spacing:-.03em; line-height:1.25; overflow-wrap:anywhere;
}
.contact-route[href^="tel:"] strong { font-variant-numeric:lining-nums tabular-nums; letter-spacing:0; }
.contact-route:is(:hover,:focus-visible) strong { color:#dce9ff; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.19em; }
.contact :focus-visible { outline-color: #c4daff; }
footer{min-height:100px;display:flex;gap:28px;align-items:center;font-size:13px}footer .brand{width:90px}footer>span{margin-right:auto;color:var(--muted)}
@media(min-width:1650px){.hero{padding-block:65px}.plate{max-height:650px}}
@media(max-width:950px){.nav{height:72px}.hero{gap:4%}.intro h1{font-size:clamp(68px,8.4vw,83px)}.plate{aspect-ratio:.89}.intro p{font-size:16px}.actions{gap:18px}.btn{font-size:14px;padding:14px 17px}.smaller{padding:10px 14px}.section-heading p{width:38%}}
@media(max-width:700px){:root{--pad:22px}.nav{height:67px;display:flex;gap:14px}.brand{width:98px}.navcta{margin-left:auto;font-size:12px;gap:12px}.menu{border:none;background:none;display:grid;place-content:center;gap:5px;width:44px;height:44px;margin-right:-9px}.menu span{width:21px;height:1.5px;background:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:10px var(--pad) 20px;border-bottom:1px solid var(--line);box-shadow:0 10px 18px #18223a0c}nav.open{display:grid;gap:0}nav a{padding:12px 0}.hero{display:block;padding-block:34px 24px}.intro{padding:0}.intro h1{font-size:clamp(66px,12.3vw,84px);line-height:.94;margin:20px 0 12px}.intro h1 span{display:inline}.intro h1 span:first-child:after{content:" "}.intro p{max-width:450px}.actions{margin-top:21px}.plate{margin-top:27px;aspect-ratio:1.25}.partner-wrap{display:block;padding-block:19px}.plain{font-size:13px}.section{padding-block:56px}.section-heading{display:block;margin:20px 0 26px}.section-heading p{width:auto;margin-top:18px}.contact-grid{display:block}.contact-directory{margin-top:26px}footer{padding-block:20px;display:grid;grid-template-columns:1fr auto;gap:12px}footer>span{margin:0;justify-self:end}footer>a:last-child{justify-self:end}}
@media(max-width:380px){:root{--pad:17px}.intro h1{font-size:60px}.intro p{font-size:15px}.nav{gap:9px}.plate{aspect-ratio:1.12}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}

@media(max-width:700px){.motion{width:44px;height:44px}.intro h1 span{display:block}.intro h1 span:first-child:after{content:none}.plate-meta{font-size:8px}}

/* The partner directory closes the page on a consistent white ground. */
.partners { background: white; border: 0; }
.partners .wrap { padding-block: clamp(36px, 4.1vw, 66px); }
.partners h2 { font-size: clamp(34px, 3.3vw, 53px); margin: 0; }
.partners h2 em { color: var(--blue); }
.partner-gallery {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 22px 0 0; padding: 0; list-style: none;
}
.partner-gallery li {
  display: grid; grid-template-rows: 1fr auto; justify-items: center;
  padding: 16px 10px 14px; min-width: 0; border-top: 1px solid #d9e0e9;
}
.partner-art { width: 100%; height: 63px; display: grid; place-items: center; }
.partner-art img { display: block; width: min(82%,160px); max-height: 54px; object-fit: contain; }
.partner-gallery span { font-size: 12px; line-height: 1.4; margin-top: 8px; color: #37465d; text-align: center; }
.partner-mastercard img, .partner-fab img { width: 58px; }
.partner-fnb img { width: 90px; }
.partner-mtn img { width: 88px; }
@media (hover: hover) and (pointer: fine) {
  .partner-art img { filter: grayscale(1); transition: filter .24s ease; }
  .partner-mtn img { filter: grayscale(1) brightness(.48); }
  .partner-gallery li:hover img { filter: grayscale(0); }
}
@media (max-width:700px) {
  .partner-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-gallery li { padding: 13px 6px; }
  .partner-art { height: 51px; }
  .partner-art img { max-height: 46px; }
  .partner-mtn img { width: 76px; }
}

footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 701px) and (max-width: 1100px) {
  .contact-route { grid-template-columns:1fr; gap:6px; }
}
@media (max-width: 700px) {
  .menu { margin-inline: auto 0; }
  .navcta { margin-left: 0; }
  .menu[aria-expanded="true"] span:first-child { transform: translateY(3.25px) rotate(45deg); }
  .menu[aria-expanded="true"] span:last-child { transform: translateY(-3.25px) rotate(-45deg); }
  .company h2 { max-width: 14ch; }
  .contact-route { grid-template-columns:1fr; gap:5px; padding-block:16px; }
  .contact-route strong { font-size:clamp(18px,4.7vw,20px); }
  .contact:focus, .company:focus, .platform:focus, .partners:focus { outline: none; }
}
