@font-face { font-family:'PoppinsLocal'; font-style:normal; font-weight:400; font-display:swap; src:url(poppins-regular.ttf) format('truetype'); }
  @font-face { font-family:'PoppinsLocal'; font-style:normal; font-weight:500; font-display:swap; src:url(poppins-medium.ttf) format('truetype'); }
  @font-face { font-family:'PoppinsLocal'; font-style:normal; font-weight:700; font-display:swap; src:url(poppins-bold.ttf) format('truetype'); }

  :root {
    --navy:#0B0F1A; --navy2:#131A2B; --navy3:#1A2338;
    --blue:#5B92F6; --blue-dim:#2C4A85; --amber:#F2A93B;
    --steel:#8892A6; --white:#FCFBF8; --line:#263049;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { font-family:'PoppinsLocal',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; background:var(--navy); color:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  h1, h2, h3, p, span, div, a { overflow-wrap:break-word; word-break:normal; }
  img { display:block; max-width:100%; }
  a { color:inherit; text-decoration:none; }
  .wrap { max-width:1140px; margin:0 auto; padding:0 40px; }
  @media (max-width:720px) { .wrap { padding:0 22px; } }
  .reveal { opacity:0; transform:translateY(26px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); }
  .reveal.revealed { opacity:1; transform:translateY(0); }
  .reveal-d1 { transition-delay:.08s; } .reveal-d2 { transition-delay:.16s; }

  .btn { -webkit-tap-highlight-color:transparent; }
  .btn:active { transform:scale(0.95); }
  .lane-row:active { padding-left:18px; }
  .lane-row:active .lane-num { color:var(--blue); }
  .founder-block:active .founder-photo { transform:scale(0.97); }
  .contact-link:active { opacity:0.65; }
  .nav-cta:active { transform:scale(0.95); }

  @keyframes heroBreathe { 0%,100% { transform:scale(1) translate(0,0); } 50% { transform:scale(1.025) translate(-5px,5px); } }
  .hero-block { animation:heroBreathe 9s ease-in-out infinite; }
  .hero-block.js-active { animation:none; }

  .nav { position:sticky; top:0; z-index:50; background:rgba(11,15,26,0.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .nav-inner { max-width:1140px; margin:0 auto; padding:20px 40px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }
  .nav-logo { display:flex; align-items:center; gap:10px; min-width:0; }
  .nav-logo span { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(15px, 4.6vw, 19px); white-space:nowrap; }
  .nav-cta { font-weight:600; font-size:clamp(11.5px, 3.4vw, 13.5px); padding:10px clamp(12px, 4vw, 20px); background:var(--amber); color:var(--navy); clip-path:polygon(8px 0,100% 0,100% 100%,0 100%); transition:clip-path .3s ease, transform .3s ease; display:inline-block; white-space:nowrap; flex-shrink:0; }
  .nav-cta:hover { clip-path:polygon(0 0,100% 0,100% 100%,8px 100%); transform:translateY(-2px); }
  @media (max-width:720px) { .nav-inner { padding:16px 22px; } }

  /* menu */
  .nav-links { display:flex; align-items:center; gap:30px; margin-left:auto; margin-right:30px; }
  .nav-link { position:relative; font-size:14px; font-weight:500; color:var(--steel); padding:6px 0; white-space:nowrap; transition:color .25s ease; }
  .nav-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.7,.3,1); }
  .nav-link:hover, .nav-link.is-active { color:var(--white); }
  .nav-link:hover::after, .nav-link.is-active::after { transform:scaleX(1); }
  .nav-link:focus-visible, .nav-toggle:focus-visible, .nav-logo:focus-visible, .nav-cta:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
  .nav-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
  .nav-toggle { display:none; }
  @media (max-width:900px) {
    .nav-toggle { display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:40px; height:38px; flex-shrink:0; background:transparent; border:1.5px solid var(--line); color:var(--white); cursor:pointer; -webkit-tap-highlight-color:transparent; clip-path:polygon(6px 0,100% 0,100% 100%,0 100%); transition:border-color .25s ease; }
    .nav-toggle:hover { border-color:var(--blue); }
    .nav-toggle-bar { display:block; width:17px; height:2px; background:currentColor; transition:transform .3s ease, opacity .2s ease; }
    .menu-open .nav-toggle { border-color:var(--amber); }
    .menu-open .nav-toggle-bar:nth-child(1) { transform:translateY(6px) rotate(45deg); }
    .menu-open .nav-toggle-bar:nth-child(2) { opacity:0; }
    .menu-open .nav-toggle-bar:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
    .nav-links { position:absolute; top:100%; left:0; right:0; margin:0; flex-direction:column; align-items:stretch; gap:0; padding:6px 0 28px; background:var(--navy2); clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),0 100%); opacity:0; visibility:hidden; transform:translateY(-10px); transition:opacity .25s ease, transform .3s cubic-bezier(.2,.7,.3,1), visibility 0s linear .3s; }
    .menu-open .nav-links { opacity:1; visibility:visible; transform:translateY(0); transition:opacity .25s ease, transform .3s cubic-bezier(.2,.7,.3,1), visibility 0s; }
    .nav-link { font-size:17px; padding:16px 40px; border-top:1px solid var(--line); color:var(--white); }
    .nav-link:first-child { border-top:none; }
    .nav-link::after { right:auto; top:0; bottom:0; width:3px; height:auto; transform:scaleY(0); transform-origin:top; }
    .nav-link:hover::after, .nav-link.is-active::after { transform:scaleY(1); }
    .nav-link.is-active { color:var(--amber); }
  }
  @media (max-width:720px) { .nav-link { padding:16px 22px; } }
  @media (max-width:360px) { .nav-inner { gap:8px; } .nav-right { gap:8px; } .nav-toggle { width:36px; } }
  section[id] { scroll-margin-top:0; }
  .founder-block[id] { scroll-margin-top:92px; }
  @media (max-width:900px) { section[id] { scroll-margin-top:44px; } .founder-block[id] { scroll-margin-top:86px; } }

  .hero { position:relative; overflow:hidden; }
  .hero-block { position:absolute; top:0; right:0; bottom:0; width:46%; background:linear-gradient(160deg, var(--blue-dim) 0%, var(--navy2) 100%); clip-path:polygon(28% 0,100% 0,100% 100%,0% 100%); will-change:transform; }
  @media (max-width:900px) { .hero-block { width:100%; clip-path:polygon(0 62%,100% 48%,100% 100%,0 100%); opacity:.55; } }
  .hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; min-height:620px; align-items:center; gap:20px; }
  @media (max-width:900px) { .hero-grid { grid-template-columns:1fr; min-height:auto; padding-bottom:10px; } }
  .hero-copy { padding:60px 0; }
  @media (max-width:900px) { .hero-copy { padding:44px 0 30px; } }
  .eyebrow { font-size:12.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--amber); margin-bottom:20px; opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .hero-loaded .eyebrow { opacity:1; transform:translateY(0); }
  h1 { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(30px, 9vw, 68px); line-height:1.16; letter-spacing:-0.02em; text-transform:uppercase; margin-bottom:26px; }
  h1 em { color:var(--blue); font-style:normal; }
  .h1-line-outer { display:block; overflow:hidden; padding-bottom:0.16em; margin-bottom:-0.10em; }
  .hero-loaded .h1-line-outer { overflow:visible; }
  .h1-line-inner { display:block; transform:translateY(115%); transition:transform .9s cubic-bezier(.2,.8,.2,1); }
  .hero-loaded h1 .h1-line-outer:nth-child(1) .h1-line-inner { transition-delay:.05s; }
  .hero-loaded h1 .h1-line-outer:nth-child(2) .h1-line-inner { transition-delay:.15s; }
  .hero-loaded h1 .h1-line-outer:nth-child(3) .h1-line-inner { transition-delay:.25s; }
  .hero-loaded h1 .h1-line-inner { transform:translateY(0); }
  .no-js .h1-line-inner, .no-js .eyebrow, .no-js .hero-sub, .no-js .btn-row { transform:none !important; opacity:1 !important; }
  .hero-sub { font-size:17.5px; line-height:1.6; color:var(--steel); max-width:440px; margin-bottom:34px; opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; transition-delay:.5s; }
  .hero-loaded .hero-sub { opacity:1; transform:translateY(0); }
  .btn-row { display:flex; gap:12px; flex-wrap:wrap; opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; transition-delay:.62s; }
  .hero-loaded .btn-row { opacity:1; transform:translateY(0); }
  .btn { display:inline-block; padding:15px 26px; font-weight:600; font-size:14.5px; transition:clip-path .3s ease, transform .3s ease; }
  .btn-primary { background:var(--amber); color:var(--navy); clip-path:polygon(10px 0,100% 0,100% 100%,0 100%); }
  .btn-primary:hover { clip-path:polygon(0 0,100% 0,100% 100%,10px 100%); }
  .btn-secondary { background:transparent; color:var(--white); border:1.5px solid var(--line); clip-path:polygon(10px 0,100% 0,100% 100%,0 100%); }
  .btn-secondary:hover { border-color:var(--blue); }
  @media (max-width:900px) { .hero-sub { font-size:16px; } }
  .hero-photo { position:relative; z-index:1; height:100%; display:flex; align-items:center; justify-content:center; will-change:transform; }
  .hero-logo-mark { width:56%; max-width:300px; height:auto; filter:drop-shadow(0 18px 38px rgba(0,0,0,0.35)); }
  .logo-link { cursor:pointer; }
  .logo-link circle { transition:opacity .25s ease, filter .25s ease; }
  .logo-link:hover circle { opacity:0.72; filter:brightness(1.5); }
  @media (max-width:900px) { .hero-photo { display:none; } }

  section { padding:100px 0; position:relative; }
  @media (max-width:720px) { section { padding:46px 0; } }
  .sec-eyebrow { font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--amber); margin-bottom:14px; }
  h2 { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:clamp(21px, 6.2vw, 36px); font-weight:700; letter-spacing:-.02em; line-height:1.2; max-width:640px; padding-bottom:0.12em; }
  .who-body { font-size:15.5px; line-height:1.65; color:var(--steel); max-width:660px; margin-top:22px; }

  .specialise { background:var(--navy2); position:relative; }
  .specialise::before { content:""; position:absolute; top:-36px; left:0; width:100%; height:36px; background:var(--navy2); clip-path:polygon(0 100%,100% 0,100% 100%,0 100%); pointer-events:none; }
  @media (max-width:720px) { .specialise::before { top:-18px; height:18px; } }
  .lane-strip { margin-top:48px; display:flex; flex-direction:column; }
  .lane-row { display:grid; grid-template-columns:64px 220px 1fr; gap:28px; align-items:center; padding:30px 0; border-top:1px solid var(--line); position:relative; transition:padding-left .35s ease; }
  .lane-row:last-child { border-bottom:1px solid var(--line); }
  .lane-row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--amber); transition:width .35s ease; }
  .lane-row:hover { padding-left:18px; }
  .lane-row:hover::before { width:4px; }
  @media (max-width:720px) { .lane-row { grid-template-columns:44px 1fr; gap:16px; } .lane-desc { grid-column:1/-1; } }
  .lane-num { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:800; font-size:30px; color:var(--blue-dim); transition:color .35s ease; letter-spacing:-0.02em; }
  .lane-row:hover .lane-num { color:var(--blue); }
  .lane-name { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:22px; font-weight:700; }
  .lane-desc { font-size:15px; line-height:1.6; color:var(--steel); max-width:460px; }

  .story-intro { font-size:15.5px; line-height:1.65; color:var(--steel); max-width:640px; margin-top:22px; }
  .story-intro { margin-bottom:44px; }
  @media (max-width:820px) { .story-intro { margin-bottom:30px; } }
  .story-intro b { color:var(--white); font-weight:600; }
  .founder-block { display:flex; align-items:center; gap:56px; padding:46px 0; border-top:1px solid var(--line); }
  .founder-block:last-child { border-bottom:1px solid var(--line); }
  .founder-block.rev { flex-direction:row-reverse; }
  @media (max-width:820px) { .founder-block, .founder-block.rev { flex-direction:column; gap:22px; align-items:flex-start; padding:30px 0; } }
  .founder-photo { flex:0 0 240px; width:240px; overflow:hidden; clip-path:polygon(0 0,100% 0,100% 90%,0 100%); border-top:3px solid var(--amber); transition:transform .4s ease; transform-style:preserve-3d; }
  @media (max-width:820px) { .founder-photo { width:100%; flex:none; max-width:280px; } }
  .founder-photo img { width:100%; height:auto; display:block; filter:saturate(.92) contrast(1.03); transition:transform .5s cubic-bezier(.2,.7,.3,1); }
  .founder-block:hover .founder-photo img { transform:scale(1.05); }
  .founder-text { flex:1; }
  .founder-name-row { display:flex; align-items:baseline; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
  .founder-name { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:24px; font-weight:700; }
  .founder-role { font-size:13.5px; font-weight:600; color:var(--amber); text-transform:uppercase; letter-spacing:.06em; }
  .founder-text p { font-size:15.5px; line-height:1.7; color:var(--steel); max-width:520px; }

  .contact-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:46px; border-top:1px solid var(--line); }
  @media (max-width:720px) { .contact-grid { grid-template-columns:1fr; } }
  .contact-col { padding:38px 0; border-bottom:1px solid var(--line); }
  .contact-col:first-child { padding-right:44px; border-right:1px solid var(--line); }
  .contact-col:last-child { padding-left:44px; }
  @media (max-width:720px) { .contact-col { padding:30px 0; } .contact-col:first-child { border-right:none; padding-right:0; } .contact-col:last-child { padding-left:0; } }
  .contact-col h3 { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:22px; font-weight:700; margin-bottom:12px; }
  .contact-col p { font-size:15px; line-height:1.6; color:var(--steel); margin-bottom:22px; max-width:320px; }
  .contact-link { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; position:relative; padding-bottom:4px; }
  .contact-link::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--amber); }
  .contact-link .arrow { transition:transform .35s ease; }
  .contact-link:hover .arrow { transform:translateX(6px); }

  footer { border-top:1px solid var(--line); padding:34px 0 calc(34px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom:60px; }
  .footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
  .footer-inner span { font-size:13px; color:var(--steel); }

  .linkedin-link { display:inline-flex; align-items:center; justify-content:center; color:var(--steel); transition:color .3s ease; margin-left:8px; vertical-align:middle; }
  .linkedin-link:hover { color:var(--blue); }

  .contact-extra { margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
  .contact-extra-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:18px; }
  .availability-note { font-size:14px; color:var(--steel); margin-top:16px; }

  .footer-social { display:flex; align-items:center; gap:16px; }

  .scroll-progress { position:fixed; top:0; left:0; height:3px; background:var(--amber); width:0%; z-index:10000; }

  /* ---- multi page ---- */
  main, section { position:relative; }
  .page-head { padding:66px 0 0; }
  @media (max-width:720px) { .page-head { padding-top:40px; } }
  .page-title { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(26px, 7.2vw, 44px); line-height:1.18; letter-spacing:-0.02em; max-width:760px; padding-bottom:0.1em; margin-top:2px; }
  .page-intro { font-size:16px; line-height:1.65; color:var(--steel); max-width:640px; margin-top:20px; }
  .page-head + section { padding-top:52px; }
  @media (max-width:720px) { .page-head + section { padding-top:34px; } }
  .who-body + .who-body { margin-top:18px; }
  .inline-link { color:var(--white); border-bottom:1px solid var(--amber); padding-bottom:1px; }
  .inline-link:hover { color:var(--amber); }

  .card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:46px; }
  .card { background:var(--navy); padding:26px 24px 24px; display:block; transition:background .3s ease, transform .3s ease; }
  .card:hover { background:var(--navy2); }
  .card:active { transform:scale(0.99); }
  .card-title { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:18.5px; font-weight:700; margin-bottom:8px; }
  .card-desc { font-size:14.5px; line-height:1.6; color:var(--steel); }
  .card-go { margin-top:16px; font-size:13px; font-weight:600; color:var(--amber); display:inline-flex; align-items:center; gap:7px; }
  .card-go .arrow { transition:transform .35s ease; }
  .card:hover .card-go .arrow { transform:translateX(5px); }

  .fact-list { margin-top:34px; border-bottom:1px solid var(--line); }
  .fact-row { display:flex; gap:26px; padding:20px 0; border-top:1px solid var(--line); font-size:15px; line-height:1.6; color:var(--steel); }
  .fact-row b { color:var(--white); font-weight:600; flex:0 0 210px; }
  .fact-row span { max-width:560px; }
  @media (max-width:720px) { .fact-row { flex-direction:column; gap:6px; padding:16px 0; } .fact-row b { flex:none; } }

  .cta-strip { background:var(--navy2); }
  .cta-strip::before { content:""; position:absolute; top:-36px; left:0; width:100%; height:36px; background:var(--navy2); clip-path:polygon(0 100%,100% 0,100% 100%,0 100%); pointer-events:none; }
  @media (max-width:720px) { .cta-strip::before { top:-18px; height:18px; } }
  .cta-strip h2 { max-width:620px; }
  .cta-strip p { font-size:15.5px; line-height:1.65; color:var(--steel); max-width:560px; margin-top:16px; }
  .cta-strip .btn-row { margin-top:26px; }

  .footer-nav { display:flex; flex-wrap:wrap; gap:10px 26px; padding-bottom:24px; margin-bottom:22px; border-bottom:1px solid var(--line); }
  .footer-nav a { font-size:13.5px; color:var(--steel); transition:color .25s ease; }
  .footer-nav a:hover { color:var(--white); }
  .footer-social a { font-size:13px; color:var(--steel); transition:color .25s ease; }
  .footer-social a:hover { color:var(--white); }

  /* ---- multi page corrections ---- */
  .page-title { text-transform:none; }
  .page-head + section { padding-top:34px; }
  section:has(+ .cta-strip) { padding-bottom:64px; }
  .card { display:flex; flex-direction:column; }
  .card-go { margin-top:auto; padding-top:16px; }

  /* ---- results ---- */
  .story { border-left:2px solid var(--amber); padding:4px 0 4px 26px; margin-top:40px; }
  .story:first-of-type { margin-top:6px; }
  @media (max-width:720px) { .story { padding-left:18px; margin-top:32px; } }
  .story-label { font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin-bottom:12px; }
  .story h2 { font-size:clamp(19px, 5.4vw, 28px); max-width:600px; }
  .story p { font-size:15.5px; line-height:1.7; color:var(--steel); max-width:620px; margin-top:16px; }
  .story-note { margin-top:46px; padding-top:26px; border-top:1px solid var(--line); font-size:14.5px; line-height:1.65; color:var(--steel); max-width:620px; }

  /* ---- home jump list (replaces the boxes) ---- */
  .jump-list { margin-top:44px; border-bottom:1px solid var(--line); }
  .jump { display:grid; grid-template-columns:200px 1fr 24px; align-items:center; gap:24px; padding:24px 0; border-top:1px solid var(--line); transition:padding-left .35s ease; position:relative; }
  .jump::before { content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--amber); transition:width .35s ease; }
  .jump:hover { padding-left:18px; }
  .jump:hover::before { width:3px; }
  .jump-title { font-family:'PoppinsLocal','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:700; font-size:19px; }
  .jump-desc { font-size:14.5px; line-height:1.6; color:var(--steel); }
  .jump-arrow { color:var(--amber); font-size:17px; text-align:right; transition:transform .35s ease; }
  .jump:hover .jump-arrow { transform:translateX(5px); }
  @media (max-width:720px) {
    .jump { grid-template-columns:1fr 24px; gap:6px 16px; padding:20px 0; }
    .jump-title { grid-column:1; }
    .jump-arrow { grid-column:2; grid-row:1 / span 2; align-self:center; }
    .jump-desc { grid-column:1; }
    .jump:hover { padding-left:0; }
  }

  /* ---- tighter gap under the page intro ---- */
  .page-head + section { padding-top:16px; }
  @media (max-width:720px) { .page-head + section { padding-top:8px; } }
  .page-head + section > .wrap > .sec-eyebrow:first-child { display:block; padding-top:34px; }
  .page-head + section .founder-block:first-of-type { margin-top:30px; }
  .page-head + section .story:first-of-type { margin-top:30px; }
  .page-head + section .lane-strip, .page-head + section .contact-grid { margin-top:34px; }
