@font-face{font-family:Raveo;src:url(/RaveoVF-subsetted.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}*:not(p){margin:0;padding:0;box-sizing:border-box}:root{--navy-blue: #1e3a8a;--royal-blue: #3b82f6;--soft-grey: #f8fafc;--warm-grey: #64748b;--charcoal: #334155;--accent-gold: #f59e0b;--white: #ffffff;--border-light: #e2e8f0;--btn-primary-background: var(--accent-gold);--btn-primary-text: var(--white);--btn-secondary-background: var(--white);--btn-secondary-text: var(--accent-gold);--logo-height: 1.5rem;--nav-pad-y: 1.5rem;--burger-timing: .1s;--section-pad-x: clamp(2rem, 6vw, 100px)}body{font-family:Raveo,sans-serif;line-height:1.6;color:var(--charcoal);background-color:var(--white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}h1,h2{line-height:1.2;text-wrap:balance}h3{line-height:1.4}h1{font-size:3.25rem;font-weight:400;margin-bottom:1.5rem;line-height:1.2;color:var(--section-header-colour)}h2{font-size:2.75rem;font-weight:400;margin-bottom:1.5rem;color:var(--section-header-colour)}h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--navy-blue)}h5{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.highlight{background:var(--soft-grey);padding:1rem;border-radius:6px;border-left:4px solid var(--accent-gold);font-style:italic;color:var(--charcoal)}.accent{color:var(--accent-gold)}.navbar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;top:0;width:100%;z-index:1000;border-bottom:1px solid var(--border-light);transition:all .3s ease}.nav-container{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:var(--nav-pad-y) 2rem}.logo{display:block;line-height:0}.logo svg{height:var(--logo-height);width:calc(var(--logo-height) / .113)}.nav-links{display:flex;list-style:none;gap:2.5rem;align-items:center}.nav-links a{color:var(--charcoal);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s ease;position:relative}.nav-links a:hover{color:var(--navy-blue)}.nav-links a:not(.btn-primary):after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent-gold);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-links a.btn-primary{line-height:1}.nav-cta:hover{background:var(--royal-blue)}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;width:30px;height:var(--logo-height);position:relative}.mobile-menu-button:before,.mobile-menu-button:after{content:"";position:absolute;width:100%;height:2px;left:0;background-color:currentColor}.mobile-menu-button:before{top:3px;transition:top var(--burger-timing) var(--burger-timing),transform var(--burger-timing) 0s,background-color var(--burger-timing) 0s}.mobile-menu-button:after{bottom:3px;transition:bottom var(--burger-timing) var(--burger-timing),transform var(--burger-timing) 0s,background-color var(--burger-timing) 0s}.mobile-menu-button .patty{position:absolute;top:calc(50% - 1px);left:0;width:100%;height:2px;background-color:currentColor;transition:background-color var(--burger-timing) 0s}.navbar.open .mobile-menu-button:before{top:calc(50% - .5px);transform:rotate(45deg);transition:top var(--burger-timing) 0s,transform var(--burger-timing) var(--burger-timing),background-color var(--burger-timing) var(--burger-timing)}.navbar.open .mobile-menu-button:after{bottom:calc(50% - .5px);transform:rotate(-45deg);transition:bottom var(--burger-timing) 0s,transform var(--burger-timing) var(--burger-timing),background-color var(--burger-timing) var(--burger-timing)}.navbar.open .mobile-menu-button .patty{background-color:transparent;transition:background-color 0s var(--burger-timing)}main section:first-child{margin-top:calc(var(--nav-pad-y) * 2 + var(--logo-height))}.button{display:inline-block;text-align:center;font-weight:500;text-decoration:none;border-radius:6px;padding:.7rem 2rem;border-style:solid;border-width:2px;transition:all .3s ease}.card.no-text h1,.card.no-text h2,.card.no-text h3{margin-bottom:1rem}.wrapper .btn-primary{background:var(--btn-primary-background);color:var(--btn-primary-text);border-color:var(--btn-primary-background)}.wrapper .btn-primary:hover{background:transparent;color:var(--btn-primary-background)}.wrapper .btn-secondary{background:transparent;color:var(--btn-secondary-text);border-color:var(--btn-secondary-text)}.wrapper .btn-secondary:hover{background:var(--btn-secondary-text);color:var(--btn-secondary-background)}.image-container{font-size:2rem;overflow:hidden;color:#fff}.image-container img{width:100%;height:100%;object-fit:cover}section{padding:6rem var(--section-pad-x)}.container{max-width:1200px;margin:0 auto}section.dark-gradient{--btn-secondary-text: var(--white);--btn-secondary-background: var(--navy-blue);background:linear-gradient(135deg,var(--navy-blue) 0%,var(--royal-blue) 100%);color:#fff;position:relative;overflow:hidden}section.dark{background:var(--navy-blue);color:#fff}section.light{background:var(--soft-grey)}section:not(.dark-gradient):not(.dark){--body-text-colour: var(--warm-grey);--section-header-colour: var(--navy-blue)}.pattern:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="hero-pattern" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23hero-pattern)"/></svg>')}section.white+section.white,section.light+section.light{padding-top:0}.section-header:not(:empty){text-align:center;margin-bottom:4rem;max-width:800px;margin-left:auto;margin-right:auto}.section-header .body-text{font-size:1.2rem;color:var(--body-text-colour);line-height:1.6}.card{display:flex;flex-direction:column;align-items:center}.card h3{margin:0}.hero{padding-top:8rem;margin-top:80px}.hero-content{position:relative;z-index:1;text-align:center;max-width:900px;margin:0 auto}.hero .tagline{font-size:1.5rem;margin-bottom:1rem;opacity:.95;font-weight:400}.hero p{font-size:1.2rem;opacity:.85;max-width:700px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;--btn-primary-background: var(--navy-blue);--btn-primary-text: var(--white);--btn-secondary-background: var(--white);--btn-secondary-text: var(--accent-gold)}.expertise-card{background:var(--white);padding:2.5rem;border-radius:12px;border:1px solid var(--border-light);transition:all .3s ease;position:relative}.expertise-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #1e3a8a1a}.expertise-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy-blue),var(--royal-blue));border-radius:12px 12px 0 0}.expertise-card .button{margin-top:auto;width:100%}.partnerships-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.partnership-card{background:var(--white);padding:2rem;border-radius:12px;text-align:center;border:1px solid var(--border-light);transition:all .3s ease}.partnership-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #00000014}.partnership-logo{width:80px;height:80px;background:linear-gradient(135deg,var(--navy-blue),var(--royal-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;transition:all .3s ease}.partnership-logo:hover{transform:scale(1.05);box-shadow:0 5px 15px #1e3a8a4d}.partnership-card h3{font-size:1.25rem}.partnership-card p{color:var(--warm-grey);line-height:1.5}.partnership-link{display:inline-block;margin-top:.5rem;color:var(--navy-blue);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .3s ease}.partnership-link:hover{color:var(--royal-blue)}.partnership-card .button{margin-top:auto;width:100%}.publications-overview{display:grid;grid-template-columns:1fr 1fr;gap:3rem;--btn-primary-background: var(--navy-blue)}.publication-stream{background:var(--soft-grey);padding:2.5rem;border-radius:12px;border-left:5px solid var(--accent-gold);align-items:flex-start}.publication-stream p{color:var(--warm-grey);line-height:1.6;margin-bottom:1.5rem}.publication-stream ul{list-style:none;margin-bottom:1.5rem}.publication-stream li{padding:.5rem 0;color:var(--charcoal);border-bottom:1px solid var(--border-light);font-size:.95rem}.publication-stream li:last-child{border-bottom:none}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}.team-member{background:var(--white);padding:2.5rem;border-radius:12px;text-align:center;border:1px solid var(--border-light);transition:all .3s ease}.team-member:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00000014}.member-photo{width:120px;height:120px;background:linear-gradient(135deg,var(--navy-blue),var(--royal-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-weight:600;font-size:1.2rem}.team-member h3{font-size:1.4rem}.team-member .body-text{font-size:.95rem}.team-member .button{margin-top:auto;width:100%}.contact{text-align:center}.contact h2{font-size:2.5rem;font-weight:400;margin-bottom:1.5rem}.contact .section-header .body-text{font-size:1.2rem;opacity:.9;max-width:700px;margin-left:auto;margin-right:auto}.contact-options{display:grid;gap:2rem;justify-content:center}.contact-method{background:#ffffff1a;padding:2rem;border-radius:12px;min-width:250px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.contact-method h3{font-size:1.25rem;color:var(--accent-gold)}.contact-method p{opacity:.9}.footer{background:var(--charcoal);color:#fff;padding:3rem var(--section-pad-x) 1.5rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h5{color:var(--accent-gold)}.footer-section .body-text,.footer-section a{color:#fffc;text-decoration:none;line-height:1.6;font-size:.95rem}.footer-section ul{list-style:none}.footer-section a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;text-align:center;color:#ffffffb3;font-size:.9rem}.footer-bottom p{margin:0}.privacy-dialog{border:none;padding:0;max-width:900px;width:calc(100% - 2rem);max-height:90vh;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden;margin:auto}.privacy-dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.privacy-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1}.privacy-dialog-content{display:flex;flex-direction:column;height:100%;max-height:90vh;background:var(--white)}.privacy-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.privacy-dialog-header h2{margin:0;color:var(--navy-blue);font-size:1.75rem}.privacy-dialog-close{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--charcoal);transition:all .2s ease;border-radius:6px}.privacy-dialog-close:hover{background:var(--soft-grey);color:var(--navy-blue)}.privacy-dialog-close:focus{outline:2px solid var(--accent-gold);outline-offset:2px}.privacy-dialog-body{padding:1rem 2rem;overflow-y:auto;overflow-x:hidden;flex:1}.privacy-dialog-body h3{margin-top:2rem}.privacy-dialog-body h3:first-child{margin-top:0}.privacy-dialog-body p{color:var(--warm-grey);line-height:1.6;margin-bottom:1rem}.privacy-dialog-body ul{margin-left:1.5rem;margin-bottom:1rem}.privacy-dialog-body li{color:var(--warm-grey);line-height:1.6;margin-bottom:.5rem}.privacy-dialog-body a{color:var(--navy-blue);text-decoration:underline;transition:color .2s ease}.privacy-dialog-body a:hover{color:var(--royal-blue)}@media(max-width:900px){.mobile-menu-button{display:block}.nav-links{display:none;left:0;padding:var(--nav-pad-y) 0 0;width:100%;flex-direction:column;gap:0}.navbar.open .nav-links{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:.75rem 0;transition:background-color .2s ease}.nav-links a.button{margin:.5rem 0;width:100%}main section:first-child{margin-top:0}.hero h1{font-size:2.5rem}.hero .tagline{font-size:1.25rem}.hero .subtitle{font-size:1.1rem}.hero-buttons{flex-direction:column;align-items:center}.expertise-grid,.partnerships-grid,.team-grid,.publications-overview{grid-template-columns:1fr}.contact-options{flex-direction:column;align-items:center}}html{scroll-behavior:smooth}
