@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--color-sage:#7ab44a;--color-sage-light:#a3c985;--color-terracotta:#cd6d4d;--color-terracotta-dark:#a54f35;--color-blue:#1b4f8f;--color-blue-light:#4a7eb5;--color-cream:#fdfbf7;--color-cream-dark:#f5f1e9;--color-text:#2d2d2d;--color-text-light:#5a5a5a;--color-white:#fff;--font-serif:"Playfair Display", serif;--font-sans:"Inter", sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--radius-sm:8px;--radius-md:16px;--radius-lg:32px;--shadow-soft:0 10px 30px #0000000d;--transition-smooth:all .4s cubic-bezier(.25, 1, .5, 1)}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;margin:0;padding:0;overflow-x:hidden}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-cream);color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,.serif{font-family:var(--font-serif);font-weight:700;line-height:1.2}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 40px}section{padding:var(--space-xl) 0}.btn{border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-smooth);justify-content:center;align-items:center;min-height:48px;padding:.8rem 2rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-terracotta);color:var(--color-white);border:none}.btn-primary:hover{background-color:var(--color-blue);transform:translateY(-2px);box-shadow:0 5px 15px #1b4f8f33}.btn-outline{border:2px solid var(--color-blue);color:var(--color-blue);background-color:#0000}.btn-outline:hover{background-color:var(--color-blue);color:var(--color-white)}.section-title{margin-bottom:var(--space-md);text-align:center;font-size:clamp(2rem,5vw,3rem)}.section-subtitle{text-transform:uppercase;letter-spacing:2px;color:var(--color-sage);text-align:center;margin-bottom:var(--space-sm);font-size:.8rem;font-weight:700;display:block}.glass{-webkit-backdrop-filter:blur(15px);background:#fff9;border:1px solid #ffffff4d;box-shadow:0 8px 32px #1f268712}.mobile-only{display:none}.nav-cta{display:block}@media (width<=768px){.mobile-only{display:block}.nav-cta{display:none}}.grid-2{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.navbar{z-index:1000;width:94%;transition:var(--transition-smooth);justify-content:space-between;align-items:center;padding:10px 30px;display:flex;position:fixed;top:20px;left:3%}.nav-menu{gap:30px;display:flex}.hamburger{cursor:pointer;z-index:1001;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;display:none}.hamburger span{background:var(--color-blue);border-radius:3px;width:28px;height:3px;transition:transform .3s,opacity .3s;display:block}.reveal{opacity:0;transition:var(--transition-smooth);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.location-card{transition:var(--transition-smooth);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}.location-card:hover{transform:translateY(-8px)}.card-img-container{height:260px;position:relative;overflow:hidden}.gallery-item{border-radius:var(--radius-md);aspect-ratio:4/3;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spinner{border:3px solid #1b4f8f1a;border-top:3px solid var(--color-blue);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:1fr 1fr}.navbar{border-radius:0;width:100%;top:0;left:0}section{padding:var(--space-lg) 0;text-align:center}.section-title{text-align:center!important}.section-subtitle{text-align:center!important;margin:0 auto 15px!important}}@media (width<=768px){:root{--space-xl:4rem;--space-lg:3rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.container{padding:0 20px}.navbar{padding:10px 20px;transition:padding .3s}.navbar .logo img{object-fit:contain;max-width:140px;height:60px!important}.nav-menu{background:var(--color-cream);z-index:999;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;margin:0;padding:0;list-style:none;transition:all .4s;position:fixed;top:0;right:-100%}.nav-menu li{text-align:center;width:100%;margin:15px 0}.nav-menu.active{right:0}.hamburger{display:flex!important}.hamburger.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}section h2,section p,section span,.lab-section h2,.lab-section p{text-align:center!important}.lab-section div{align-items:center!important}button.btn,.nav-menu a.btn{margin-left:auto;margin-right:auto}.footer-grid{gap:40px;text-align:center!important;grid-template-columns:1fr!important}.footer-grid>div{text-align:center;flex-direction:column;align-items:center;display:flex}.footer-grid ul{align-items:center}.footer-grid p{margin:0 auto}.footer-section{align-items:center!important}.section-title{font-size:2.2rem}.hero{text-align:center;background-attachment:scroll!important;padding-top:120px!important}.hero h1{font-size:2.5rem!important}.hero .btn{justify-content:center;width:100%;min-width:200px;max-width:220px;margin:10px auto}footer .grid-4{text-align:center}}@media (hover:none){.btn:active{transform:scale(.95)}.location-card:active{transform:translateY(-4px)}}.funding-section{background-color:var(--color-cream-dark);padding:var(--space-xl) 0;text-align:center;border-top:1px solid #00000008}.funding-section .acronym{color:var(--color-blue);margin-bottom:var(--space-md);letter-spacing:.5rem;text-transform:uppercase;font-size:clamp(1.5rem,4vw,2rem);font-weight:800}.funding-section .erasmus-container{margin-bottom:var(--space-md);justify-content:center;display:flex}.funding-section .erasmus-container img{width:auto;height:70px;transition:var(--transition-smooth);filter:drop-shadow(0 2px 4px #0000001a)}.funding-section .erasmus-container img:hover{transform:scale(1.02)}.funding-section .project-number{color:var(--color-text-light);opacity:.7;margin-top:var(--space-sm);letter-spacing:1px;font-size:.9rem;font-family:var(--font-sans)}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:80px;display:grid}.footer-grid ul{color:var(--color-text-light);flex-direction:column;gap:10px;margin:0;padding:0;display:flex}
