@font-face{font-family:suisseIntl;src:url("/_next/static/media/SuisseIntl_Regular-s.p.c52b28de.otf") format("opentype");font-weight:400;font-display:swap}
:root{--ink:#0d0d0d;--ink-80:rgba(13,13,13,.8);--ink-40:rgba(13,13,13,.4);--line:rgba(13,13,13,.1);--bg:#fff;--blue:#4ba3e3;--pad:64px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:suisseIntl,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit}
.skip-link{position:absolute;left:16px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:4px;z-index:300;text-decoration:none;font-size:14px}
.skip-link:focus{top:16px}
:focus-visible{outline:2px solid #175ba8;outline-offset:2px}

.site-header{position:fixed;top:20px;left:var(--pad);right:var(--pad);max-width:1300px;margin:0 auto;padding:10px 10px 10px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(13,13,13,.05);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:4px;z-index:100;transition:background-color .2s .1s}
.logo-link{flex:1 1 0;height:24px;display:block}
.logo-link img{display:block;width:106px;height:24px}
.nav-center{display:flex;align-items:center;justify-content:center;gap:16px}
.nav-right{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.nav-link{font-size:14px;line-height:1;white-space:nowrap;text-decoration:none;padding:10px 16px;border-radius:4px;transition:background-color 150ms}
.nav-link:hover,.nav-link.is-active{background:rgba(13,13,13,.06)}
.nav-cta{display:inline-block;padding:11px 20px;background:var(--ink);color:#fff;border-radius:4px;font-size:14px;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color 150ms}
.nav-cta:hover{background:#333}
.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;padding:0;background:none;border:0;cursor:pointer;gap:8px}
.menu-toggle span{width:20px;height:2px;background:var(--ink);border-radius:1px;transition:transform .3s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:110px 24px 32px;opacity:0;transition:opacity .3s}
.mobile-menu.is-open{opacity:1}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu a{font-size:32px;line-height:1.2;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}
.mobile-menu a[aria-current="page"]{color:var(--ink-40)}

main{max-width:1300px;margin:0 auto;padding:0 calc(var(--pad) + 24px)}
.hero{min-height:78vh;min-height:78dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:180px 0 96px}
.eyebrow{font-size:14px;color:var(--ink-40);margin:0 0 24px}
.hero-title{font-size:clamp(36px,5.2vw,72px);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin:0;max-width:16ch}
.about{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:96px 0;border-top:1px solid var(--line)}
.about-label{font-size:14px;color:var(--ink-40)}
.about-body p{font-size:clamp(20px,2vw,28px);line-height:1.3;margin:0 0 1em;color:var(--ink-80)}
.about-body p:first-child{color:var(--ink)}
.openings{padding:96px 0;border-top:1px solid var(--line)}
.openings-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px}
.openings-head h2{font-size:clamp(28px,3vw,40px);font-weight:400;margin:0;letter-spacing:-.01em}
.count{font-size:14px;color:var(--ink-40);font-variant-numeric:tabular-nums}
.openings-empty{display:flex;align-items:center;gap:16px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.openings-empty p{margin:0;font-size:20px;color:var(--ink-80)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}
.enquiry{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:0 0 140px;padding:40px;background:rgba(13,13,13,.04);border-radius:4px}
.enquiry-text{margin:0;font-size:20px;line-height:1.3;max-width:34ch}

.site-footer{max-width:1300px;margin:0 auto;padding:32px calc(var(--pad) + 24px);display:flex;justify-content:space-between;align-items:flex-start;overflow:hidden}
.footer-left{display:flex;flex-direction:column}
.footer-brand{margin-bottom:80px}
.footer-brand p{font-size:20px;line-height:1.2;margin:0}
.muted{color:var(--ink-80)}
.footer-mark{display:block;width:196px;height:196px;animation:spin 60s linear infinite}
.footer-right{display:flex;flex-direction:column;justify-content:space-between;height:320px}
.footer-cols{display:flex;gap:144px}
.footer-cols>div{display:flex;flex-direction:column;gap:2px}
.footer-link{font-size:14px;line-height:20px;text-decoration:none;display:block;padding:2px 0;transition:color 150ms}
.footer-link:hover{color:var(--ink-40)}
.copyright{align-self:flex-end;margin:0;font-size:12px;line-height:16px;color:var(--ink-80)}
@keyframes spin{to{transform:rotate(360deg)}}

.js .reveal{opacity:0;transform:translateY(20px);transition:opacity 600ms ease-out,transform 600ms ease-out}
.js .reveal.is-visible{opacity:1;transform:none}

@media (max-width:900px){
  :root{--pad:16px}
  .nav-center,.nav-right{display:none}
  .menu-toggle{display:flex}
  .site-header{top:12px;padding:12px 12px 12px 16px}
  main{padding:0 24px}
  .hero{padding:140px 0 64px}
  .about{grid-template-columns:1fr;gap:20px;padding:64px 0}
  .openings{padding:64px 0}
  .enquiry{flex-direction:column;align-items:flex-start;padding:28px;margin-bottom:96px}
  .site-footer{flex-direction:column;gap:48px;padding:32px 24px}
  .footer-right{height:auto;gap:48px;width:100%}
  .footer-cols{gap:64px}
  .copyright{align-self:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}
