:root{--uoft-ink: #000b1e;--uoft-deep: #001634;--uoft-blue: #00204e;--uoft-white: #ffffff;--accent-amber: #f5b94b;--accent-cyan: #00c2ff;--tech-grey: #8e99b0;--tech-grey-2: #5b6b85;--hair: rgba(255, 255, 255, .14);--hair-2: rgba(255, 255, 255, .08);--surface: rgba(0, 22, 52, .72);--surface-strong: rgba(0, 11, 30, .88);--surface-soft: rgba(255, 255, 255, .045);--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--ease-blueprint: cubic-bezier(.16, 1, .3, 1)}html.light-mode{--uoft-ink: #f6f9ff;--uoft-deep: #eaf1fb;--uoft-blue: #f8fbff;--uoft-white: #071426;--tech-grey: #40536d;--tech-grey-2: #63758d;--hair: rgba(0, 32, 78, .18);--hair-2: rgba(0, 32, 78, .1);--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .9);--surface-soft: rgba(0, 32, 78, .045)}html{background:var(--uoft-blue);color-scheme:dark}html.light-mode{color-scheme:light}body.blueprint-page{min-height:100vh;margin:0;background:radial-gradient(circle at 18% -10%,rgba(0,194,255,.2),transparent 34rem),radial-gradient(circle at 92% 8%,rgba(245,185,75,.12),transparent 28rem),linear-gradient(145deg,var(--uoft-ink),var(--uoft-blue) 52%,var(--uoft-deep));color:var(--uoft-white);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}html.light-mode body.blueprint-page{background:radial-gradient(circle at 18% -10%,rgba(0,119,181,.16),transparent 34rem),radial-gradient(circle at 92% 8%,rgba(245,185,75,.18),transparent 28rem),linear-gradient(145deg,#f8fbff,#eef5ff 58%,#dfeaf8)}body.blueprint-page:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 24%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 24%,#000 20%,transparent 78%)}html.light-mode body.blueprint-page:before{background-image:linear-gradient(rgba(0,32,78,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(0,32,78,.075) 1px,transparent 1px)}body.blueprint-page:after{content:"";position:fixed;inset:auto 0 0;z-index:-1;height:34vh;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,11,30,.78))}html.light-mode body.blueprint-page:after{background:linear-gradient(180deg,transparent,rgba(216,229,246,.72))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}*{box-sizing:border-box}body{isolation:isolate;margin:0;min-height:100svh;display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--uoft-white);background:radial-gradient(ellipse at 80% 24%,rgba(58,104,158,.22),transparent 60%),linear-gradient(155deg,#00204e,#001634 75%,#020f24);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(#000,transparent 90%);mask-image:linear-gradient(#000,transparent 90%);z-index:-1}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:5px}::-moz-selection{color:var(--uoft-blue);background:#fff}::selection{color:var(--uoft-blue);background:#fff}.topbar{border-bottom:1px solid var(--hair);background:#001028b8}.nav-wrap,.page-wrap{width:min(100% - 48px,1232px);margin-inline:auto}.nav-wrap{min-height:64px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.brand-mark{width:16px;height:16px;border:1px solid white;transition:background .2s}.brand:hover .brand-mark{background:#fff}.nav-links{margin-left:auto;display:flex;gap:28px}.nav-links,.nav-contact{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em}.nav-links a{color:#b3bdce}.nav-links a:hover{color:#fff}.nav-contact{padding:6px 12px;border:1px solid rgba(255,255,255,.3)}.nav-contact:hover{color:var(--uoft-blue);background:#fff}main{padding-block:clamp(56px,8vw,112px) 80px;flex:1}h1{margin:0 0 48px;font-size:clamp(3.2rem,8vw,6.9rem);font-weight:800;line-height:.9;letter-spacing:-.055em;text-transform:uppercase}.contact-link{display:flex;justify-content:space-between;align-items:center;padding:26px 32px;background:#fff;color:var(--uoft-blue);font-size:24px;font-weight:700;letter-spacing:-.03em;transition:background .2s}.contact-link:hover{background:#b4e4ff}.arrow{font-family:var(--font-mono);font-weight:400;transition:transform .2s}a:hover .arrow{transform:translate(4px)}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px;border:1px solid var(--hair);background:#ffffff09}.link-grid section{padding:32px;min-width:0}.link-grid section+section{border-left:1px solid var(--hair)}h2{margin:0 0 24px;color:#a8b8d0;font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.22em;text-transform:uppercase}ul{margin:0;padding:0;list-style:none}li+li{border-top:1px solid var(--hair-2)}li a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-size:20px;font-weight:700;letter-spacing:-.025em;transition:color .2s}li a .arrow{font-size:18px;color:#8eaccd}li a:hover,li a:hover .arrow{color:#b4e4ff}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:24px 32px;border-top:1px solid var(--hair);color:#a8b8d0;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.footer a:hover{color:#fff}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:#fff;color:#00204e;transform:translateY(-150%);z-index:10}.skip-link:focus{transform:translateY(0)}@media(max-width:767px){.nav-links{display:none}.nav-contact{margin-left:auto}.brand{font-size:11px;letter-spacing:.14em;gap:9px}.nav-wrap{gap:12px}.nav-contact{padding:6px 8px;font-size:9px;letter-spacing:.1em}h1{margin-bottom:32px}.contact-link{padding:24px;font-size:22px}.link-grid{grid-template-columns:1fr;margin-top:24px}.link-grid section{padding:28px 24px}.link-grid section+section{border-left:0;border-top:1px solid var(--hair)}h2{margin-bottom:12px}li a{min-height:60px}main{padding-bottom:48px}}
