@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#1a2e4f;font-weight:600;margin-top:0}p{color:#333;font-weight:400;line-height:1.6}*,:after,:before{box-sizing:border-box}body,html{min-height:100vh;padding:0 1rem}.container{background-color:var(--color-background)}@media (max-width:700px){.App-main-content{padding:0 .5rem}}.navbar{background-color:#fff;box-shadow:0 5px 10px #00000014;padding:.75rem 0;position:sticky;top:0;z-index:9999!important}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1.5rem;position:relative;width:100%}.navbar-logo .logo-link{align-items:center;display:flex;text-decoration:none}.logo-img{display:block;height:2.5rem;object-fit:contain;width:auto}.navbar-nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;white-space:nowrap}.navbar-nav li a{color:#253d63;font-size:1.1rem;font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:color .3s ease}.navbar-nav li a:hover{color:#1a2e4f}.navbar-nav li a:after{background-color:#253d63;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .4s ease;width:100%}.navbar-nav li a:focus:after,.navbar-nav li a:hover:after{transform:translateX(-50%) scaleX(1)}.dropdown-wrapper{position:relative}.hamburger{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;height:36px;justify-content:center;width:36px;z-index:2100}.hamburger span{background:#222;background:var(--color-text,#222);border-radius:2px;display:block;height:3px;transition:.2s;width:28px}.hamburger--hidden{display:none!important}@media (max-width:768px){.navbar-container{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}.navbar-logo{margin-bottom:0}.navbar-nav ul{flex-direction:column;gap:.5rem}.navbar-nav li{width:100%}.logo-img{height:2rem}}@media (max-width:1000px){.navbar-nav{display:none!important}.hamburger{display:flex}}@media (max-width:480px){.logo-img{height:1.6rem}}.dropdown{animation:dropdownSlideIn .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 20px 25px -5px #0000001a;display:flex;gap:2.5rem;left:50%;min-width:680px;padding:1.5rem;position:absolute;top:100%;transform:translateX(-50%);z-index:999}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dropdown-col{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.dropdown-heading{border-bottom:1px solid #0000000f;color:#6b7280;color:var(--color-content-text,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.dropdown-link{align-items:flex-start;border-radius:8px;color:#374151;color:var(--color-text,#374151);cursor:pointer;display:flex;padding:.75rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.dropdown-link:hover{background-color:#f8f9fa;background-color:var(--color-background-light,#f8f9fa);color:#3b82f6;color:var(--color-button-bg,#3b82f6)}.link-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.link-title{font-size:.875rem;font-weight:500;line-height:1.25}.link-description{color:#6b7280;color:var(--color-content-text,#6b7280);font-size:.75rem;line-height:1.25;opacity:.8}.category-link .link-content{align-items:center;flex-direction:row}.category-link .link-description{display:none}.dropdown-col:not(:last-child):after{background:#0000000f;bottom:1.5rem;content:"";position:absolute;right:-1.25rem;top:1.5rem;width:1px}.dropdown-col{position:relative}@media (max-width:768px){.dropdown{flex-direction:column;gap:1.5rem;min-width:320px;padding:1.25rem}.dropdown-col:not(:last-child):after{display:none}.dropdown-heading{margin-bottom:.75rem}.dropdown-link{padding:.5rem}}@media (max-width:1000px){.dropdown{display:none!important}}.mobile-menu-backdrop{background:#0000002e;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:2000}.mobile-menu{align-items:stretch;background:#f9f9f9;background:var(--color-background,#f9f9f9);box-shadow:-4px 0 24px #0000001a;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:1.5rem;height:100vh;max-width:380px;padding:2rem 1.5rem 1.5rem;position:relative;width:90vw}.mobile-menu a{background:none;border-bottom:1px solid #ccc;border-bottom:1px solid var(--color-border,#ccc);border-radius:.4rem;color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:1.1rem;font-weight:500;letter-spacing:.01em;padding:.7rem 0;text-decoration:none;transition:color .2s,background .2s}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:focus,.mobile-menu a:hover{background:#f9f9f9;background:var(--color-background,#f9f9f9);color:#2f2f2f;color:var(--color-button-bg,#2f2f2f);outline:none}.mobile-menu-close{background:none;border:none;border-radius:50%;color:#2f2f2f;color:var(--color-button-bg,#2f2f2f);cursor:pointer;font-size:2rem;line-height:1;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem;transition:background .2s;z-index:10}.mobile-menu-close:focus,.mobile-menu-close:hover{background:#ccc;background:var(--color-border,#ccc);outline:none}@media (min-width:1001px){.mobile-menu-backdrop{display:none!important}}.footer{background:#f7f7f7;border-top:1px solid #ccc6;box-shadow:0 -1px 3px #00000005;color:#333;color:var(--color-content-text,#333);font-size:1rem;margin-top:0;padding:2rem 0 1.5rem;width:100%}.footer-content{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1100px;padding:0 1.5rem}.footer-left{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-weight:500;letter-spacing:.01em}.footer-links{align-items:center;display:flex;gap:1.5rem}.footer-link{color:#333;color:var(--color-content-text,#333);font-weight:500;text-decoration:none;transition:color .18s}.footer-link:focus,.footer-link:hover{color:#2f2f2f;color:var(--color-button-bg,#2f2f2f)}.footer-linkedin,.footer-socials{align-items:center;display:flex}.footer-linkedin,.footer-linkedin-logo{transition:box-shadow .18s}.footer-linkedin-logo{background:none;border-radius:4px;display:inline-block;height:28px;margin-left:.2rem;width:28px}.footer-linkedin:focus .footer-linkedin-logo,.footer-linkedin:hover .footer-linkedin-logo{box-shadow:0 2px 8px #0077b526}@media (max-width:700px){.footer-content{flex-direction:column;gap:.8rem;padding:0 .5rem;text-align:center}.footer-links{gap:1rem}}.home-container{background:var(--color-background-light);min-height:100vh}.hero-banner{align-items:center;background:linear-gradient(135deg,var(--color-hero-gradient-dark) 0,var(--color-hero-gradient-light) 100%);justify-content:flex-start;overflow-x:hidden;padding:0;position:relative}.hero-banner,.hero-text{box-sizing:border-box;color:#fff;display:flex;min-height:500px;width:100%}.hero-text{align-items:flex-start;animation:fadeInUp 1s ease-out .2s forwards;background:none;border-radius:0;box-shadow:none;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;max-width:540px;opacity:0;overflow-wrap:break-word;padding:4rem 2rem;text-align:left}.hero-text h1{color:#fff;font-size:2.2rem;font-weight:800;letter-spacing:-1px;line-height:1.1;margin-bottom:.5rem}.hero-text p{color:#ffffffe6;font-size:1.08rem;line-height:1.5;margin-bottom:2rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.5rem;min-width:0;width:100%}.home-btn,.partner-btn{align-items:center;background:var(--color-button-bg);border:1px solid var(--color-button-bg);border-radius:4px;box-shadow:none;color:var(--color-button-text);display:flex;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;justify-content:center;padding:.5rem 1.2rem;text-decoration:none;transition:background-color .2s ease;white-space:nowrap}.home-btn:hover,.partner-btn:hover{background:var(--color-button-bg-hover)}.content-section{margin:0 auto;max-width:1200px;opacity:0;padding:4rem 2rem;text-align:center;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.content-section.animate{opacity:1;transform:translateY(0)}.content-section h2{color:var(--color-text);font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1.5rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s}.content-section.animate h2{opacity:1;transform:translateY(0)}.content-section p{color:var(--color-content-text);font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .4s,transform .8s ease-out .4s}.content-section.animate p{opacity:1;transform:translateY(0)}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-left:auto;margin-right:auto;margin-top:3rem;max-width:1000px}.feature-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;opacity:0;padding:2rem;text-align:left;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.content-section.animate .feature-card{opacity:1;transform:translateY(0)}.content-section.animate .feature-card:first-child{transition-delay:.6s}.content-section.animate .feature-card:nth-child(2){transition-delay:.7s}.content-section.animate .feature-card:nth-child(3){transition-delay:.8s}.content-section.animate .feature-card:nth-child(4){transition-delay:.9s}.feature-card h3{color:var(--color-text);font-size:1.2rem;font-weight:600;margin-bottom:1rem}.feature-card p{color:var(--color-content-text);font-size:.95rem;line-height:1.5;margin:0}.mission-section{background:linear-gradient(to bottom,var(--color-background-light) 0,var(--color-background-gray) 50%,var(--color-background) 100%);margin:4rem 0 0;padding:4rem 2rem}.mission-container{margin:0 auto;max-width:1000px;text-align:center}.mission-container h2{color:var(--color-text);font-size:2.2rem;font-weight:700;margin-bottom:1.5rem}.mission-container>p{color:var(--color-content-text);font-size:1.1rem;line-height:1.6;margin:0 auto 3rem;max-width:700px}.mission-points{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3rem}.mission-item{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:2rem;text-align:center}.mission-item h3{color:var(--color-text);font-size:1.2rem;font-weight:600;margin-bottom:1rem}.mission-item p{color:var(--color-content-text);font-size:.95rem;line-height:1.5;margin:0}.cta-section{background:var(--color-background);border-bottom:none;margin:0;padding:4rem 2rem 3rem;text-align:center;width:100%}.cta-section .cta-content{margin:0 auto;max-width:800px}.cta-section h2{color:var(--color-text);font-size:2rem;font-weight:700;margin-bottom:1rem}.cta-section p{color:var(--color-content-text);font-size:1.1rem;margin-bottom:2rem}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-btn{border-radius:4px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;padding:.6rem 1.5rem;text-decoration:none;transition:background-color .2s ease}.cta-btn.primary{background:var(--color-button-bg);border:1px solid var(--color-button-bg);color:var(--color-button-text)}.cta-btn.primary:hover{background:var(--color-button-bg-hover)}.cta-btn.secondary{background:#0000;border:1px solid var(--color-border-dark);color:var(--color-text)}.cta-btn.secondary:hover{background:var(--color-background-gray)}@media (max-width:768px){.hero-text{padding:2rem 1rem 3rem}.hero-text h1{font-size:2rem}.hero-text p{font-size:1rem}.hero-buttons{gap:.8rem}.home-btn,.partner-btn{flex:1 1;font-size:.85rem;padding:.5rem .6rem}}@media (max-width:480px){.hero-banner{min-height:550px}.hero-text{padding:2rem 1rem 3rem}.hero-text h1{font-size:1.8rem}.hero-text p{font-size:.95rem}.hero-buttons{gap:.6rem}.home-btn,.partner-btn{font-size:.8rem;padding:.4rem .5rem}}:root{--color-text:#2f2f2f;--color-background:#f9f9f9;--color-background-light:#fff;--color-background-gray:#f5f5f5;--color-border:#ccc;--color-border-dark:#999;--color-focus-border:#2f2f2f;--color-button-bg:#2f2f2f;--color-button-bg-hover:#1a1a1a;--color-button-text:#fff;--color-placeholder:#999;--color-hero-gradient-dark:#00000059;--color-hero-gradient-light:#00000026;--color-content-text:#333}body,html{background-color:var(--color-background);line-height:1.6;margin:0;padding:0}body,h1,h2,h3,h4,h5,h6,html{color:var(--color-text);font-family:Inter,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:.02em}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}input,textarea{font-size:1.1rem;font-style:normal;outline-offset:4px;padding:.6rem 0;resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-placeholder);font-style:italic}button{border-radius:9999px;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700}.subgroup-card{align-items:center;background:#fff;border-radius:14px;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:row;gap:2.5rem;margin:0 auto;max-width:950px;min-height:220px;min-width:700px;padding:2.5rem 2rem;text-align:left}.subgroup-content{flex:1 1;min-width:0;text-align:left}@media (max-width:700px){.subgroup-content{text-align:center}}.subgroup-card h3{font-size:2rem;font-weight:700;margin-bottom:1rem}.subgroup-card p{color:#222;font-size:1.18rem;line-height:1.6;margin-bottom:1.2rem}.subgroup-image-wrapper{align-items:center;display:flex;flex:0 0 auto;justify-content:center;margin:0}.subgroup-image-wrapper img{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000d;max-height:140px;max-width:140px;object-fit:contain}@media (max-width:700px){.subgroup-card{align-items:stretch;flex-direction:column;gap:.5rem;max-width:98vw;min-width:0;padding:1.5rem .5rem;text-align:center}.subgroup-image-wrapper{display:flex;justify-content:center;margin:0 auto 1.2rem}.subgroup-content{text-align:center;width:100%}}@media (max-width:900px){.subgroup-card.subgroup-card--with-image{align-items:center!important;flex-direction:column!important;gap:.5rem!important;padding:2rem 1rem!important;text-align:center!important}.subgroup-content.subgroup-content--with-image{min-width:0!important;padding-right:0!important;text-align:center!important;width:100%!important;word-break:break-word!important}.subgroup-image-wrapper.subgroup-image-wrapper--right{justify-content:center!important;margin-bottom:0!important;margin-top:1rem!important;order:2!important;width:100%!important}.subgroup-content.subgroup-content--with-image{order:1!important}}@media (max-width:600px){.subgroup-card.subgroup-card--with-image{align-items:center!important;flex-direction:column!important;gap:.5rem!important;padding:2rem 1rem!important;text-align:center!important}.subgroup-content.subgroup-content--with-image{min-width:0!important;padding-right:0!important;text-align:center!important;width:100%!important;word-break:break-word!important}.subgroup-image-wrapper.subgroup-image-wrapper--right{justify-content:center!important;margin-bottom:0!important;margin-top:1rem!important;order:2!important;width:100%!important}.subgroup-content.subgroup-content--with-image{order:1!important}.subgroup-card.subgroup-card--with-image{align-items:center;flex-direction:column;gap:.5rem;padding:2rem 1rem;text-align:center}.subgroup-content.subgroup-content--with-image{min-width:0;padding-right:0;text-align:center;word-break:break-word}.subgroup-image-wrapper.subgroup-image-wrapper--right{justify-content:center;margin-top:1rem;width:100%}}.team-container{background:var(--color-background-light);min-height:100vh}.team-hero{align-items:center;background:linear-gradient(135deg,#1f2937,#374151);color:#fff;display:flex;justify-content:center;min-height:400px;padding:0;position:relative;width:100%}.team-hero-content{animation:fadeInUp 1s ease-out forwards;max-width:800px;padding:4rem 2rem;text-align:center;width:100%}.team-hero h1{color:#fff;font-size:3rem;font-weight:800;letter-spacing:-1px;line-height:1.1;margin-bottom:1rem}.team-hero p{color:#ffffffe6;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px}.stat-item{color:#fff}.stat-number{font-weight:800}.team-about-section{margin:0 auto;max-width:1200px;opacity:0;padding:5rem 2rem 4rem;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.team-about-section.animate{opacity:1;transform:translateY(0)}.team-about-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.team-about-content h2{color:var(--color-text);font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:2rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s}.team-about-section.animate h2{opacity:1;transform:translateY(0)}.team-about-text{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .4s,transform .8s ease-out .4s}.team-about-section.animate .team-about-text{opacity:1;transform:translateY(0)}.team-about-text p{color:var(--color-content-text);font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.team-about-text p:last-of-type{margin-bottom:2rem}.team-about-buttons{display:flex;flex-wrap:wrap;gap:1rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .6s,transform .8s ease-out .6s}.team-about-section.animate .team-about-buttons{opacity:1;transform:translateY(0)}.team-btn{border-radius:4px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.team-btn.primary{background:var(--color-button-bg);border:1px solid var(--color-button-bg);color:var(--color-button-text)}.team-btn.primary:hover{background:var(--color-button-bg-hover);transform:translateY(-1px)}.team-btn.secondary{background:#0000;border:1px solid var(--color-border-dark);color:var(--color-text)}.team-btn.secondary:hover{background:var(--color-background-gray);transform:translateY(-1px)}.team-about-image{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .6s,transform .8s ease-out .6s}.team-about-section.animate .team-about-image{opacity:1;transform:translateY(0)}.team-about-image img{border-radius:8px;box-shadow:0 8px 24px #0000001a;height:auto;width:100%}.team-members-section{background:var(--color-background-gray);opacity:1!important;padding:3rem 2rem;position:relative;transform:none!important;transition:none!important}.team-members-section:before{background-image:radial-gradient(circle at 25% 25%,#667eea0a 0,#0000 50%),radial-gradient(circle at 75% 75%,#764ba20a 0,#0000 50%),linear-gradient(90deg,#0000,#00000005,#0000);background-position:0 0,100% 100%,0 0;background-repeat:no-repeat;background-size:800px 800px,600px 600px,100% 1px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.team-members-section.animate{opacity:1!important;transform:none!important;transition:none!important}.team-members-container{margin:0 auto;max-width:1400px;text-align:center}.team-members-container h2{color:var(--color-text);font-size:3rem;font-weight:800;letter-spacing:-1px;margin-bottom:1rem;position:relative}.team-members-container h2,.team-section-subtitle{opacity:1!important;transform:none!important;transition:none!important}.team-section-subtitle{font-size:1.1rem;line-height:1.6;margin:1rem auto 3rem;max-width:500px;text-align:center}.team-members-section.animate .team-section-subtitle,.team-members-section.animate h2{opacity:1;transform:translateY(0)}.team-members-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-items:center;margin:3rem auto 0;max-width:1000px}.team-member-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 1px 3px #00000005,0 4px 12px #00000008,0 12px 24px #00000005;max-width:300px;overflow:hidden;padding:2.5rem 2rem;position:relative;text-align:center;width:100%}.team-members-section.animate .team-member-card{opacity:1}.team-member-card:hover{border-color:#e0e7ff;box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.team-member-photo-wrapper{margin-bottom:1.25rem;position:relative}.team-member-photo{border:none;border-radius:4px;box-shadow:0 2px 8px #0000000a;display:block;height:120px;margin:0 auto;object-fit:cover;transition:all .2s ease;width:120px}.team-member-card:hover .team-member-photo{border-color:#e8e8e8;box-shadow:0 4px 12px #00000014}.team-member-info{text-align:center}.team-member-name{color:#2c3e50;font-size:1.2rem;font-weight:600;letter-spacing:-.2px;line-height:1.4;margin-bottom:.25rem}.team-member-role{color:#6c757d;font-size:.9rem;font-weight:500;letter-spacing:.2px;line-height:1.4;margin:0 0 1rem;text-transform:capitalize}.team-member-linkedin{align-items:center;background:none;border:none;border-radius:0;box-shadow:none;display:inline-flex;height:40px;justify-content:center;margin-top:.5rem;text-decoration:none;transition:all .2s ease;width:40px}.team-member-linkedin:hover{background:#0077b5;border-color:#0077b5;box-shadow:0 4px 12px #0077b533;transform:translateY(-1px)}.team-member-linkedin-logo{border-radius:4px;filter:brightness(0) saturate(100%) invert(47%) sepia(8%) saturate(1567%) hue-rotate(183deg) brightness(94%) contrast(87%);height:22px;transition:all .2s ease;width:22px}.team-member-linkedin:hover .team-member-linkedin-logo{filter:brightness(0) saturate(100%) invert(100%) sepia(0) saturate(0) hue-rotate(0deg) brightness(100%) contrast(100%)}.team-values-section{background:var(--color-background);opacity:0;padding:4rem 2rem;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.team-values-section.animate{opacity:1;transform:translateY(0)}.team-values-container{margin:0 auto;max-width:1200px}.team-values-header{margin-bottom:3.5rem;opacity:0;text-align:center;transform:translateY(20px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s}.team-values-section.animate .team-values-header{opacity:1;transform:translateY(0)}.team-values-header h2{color:var(--color-text);font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}.team-values-header p{color:var(--color-content-text);font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.team-values-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1100px}@media (min-width:1200px){.team-values-grid{grid-template-columns:repeat(3,1fr);max-width:1200px}.team-values-grid .value-card:nth-child(4),.team-values-grid .value-card:nth-child(5){grid-column:span 1}.team-values-grid .value-card:nth-child(4){margin-left:auto;margin-right:1.25rem}.team-values-grid .value-card:nth-child(5){margin-left:1.25rem;margin-right:auto}}.value-card{background:var(--color-background-light);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 20px #00000014;opacity:0;overflow:hidden;padding:3rem 2.5rem;position:relative;text-align:center;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease,border-color .3s ease,background-color .3s ease}.team-values-section.animate .value-card{opacity:1;transform:translateY(0)}.team-values-section.animate .value-card:first-child{transition-delay:.3s}.team-values-section.animate .value-card:nth-child(2){transition-delay:.4s}.team-values-section.animate .value-card:nth-child(3){transition-delay:.5s}.team-values-section.animate .value-card:nth-child(4){transition-delay:.6s}.team-values-section.animate .value-card:nth-child(5){transition-delay:.7s}.value-card:hover{background:#fff;border-color:var(--color-button-bg);box-shadow:0 12px 35px #00000026;transform:translateY(-8px)}.value-card h3{color:var(--color-text);font-size:1.5rem;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin-bottom:1.25rem}.value-card p{color:var(--color-content-text);font-size:1.05rem;font-weight:400;line-height:1.7;margin:0}@media (max-width:768px){.team-about-section{padding:3rem 1rem}.team-about-container{gap:3rem;grid-template-columns:1fr;text-align:center}.team-about-content h2{font-size:2.4rem}.team-about-text p{font-size:1rem}.team-about-buttons{gap:.8rem;justify-content:center}.team-btn{flex:1 1;font-size:.9rem;padding:.7rem 1.2rem;text-align:center}.team-members-section{padding:4rem 1rem}.team-members-container h2{font-size:2.2rem;margin-bottom:.8rem}.team-members-grid{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2.5rem}.team-member-card{max-width:100%;padding:2rem 1.5rem 1.8rem}.team-member-photo{height:120px;width:120px}.team-member-name{font-size:1.25rem}.team-member-role{font-size:.95rem}.team-values-section{padding:3rem 1rem}.team-values-header{margin-bottom:2.5rem}.team-values-header h2{font-size:2rem}.team-values-header p{font-size:1rem}.team-values-grid{gap:2rem;grid-template-columns:1fr;max-width:400px}.value-card{padding:2.5rem 2rem}.value-card h3{font-size:1.3rem}.value-card p{font-size:1rem;line-height:1.6}.team-hero h1{font-size:2.5rem}.team-hero p{font-size:1.1rem}.hero-stats{gap:2rem;justify-content:space-around}.stat-number{font-size:2rem}}@media (max-width:480px){.team-hero h1{font-size:2rem}.team-hero p{font-size:1rem}.hero-stats{flex-direction:column;gap:1.5rem}.stat-item{flex-direction:row;gap:1rem}.stat-number{font-size:1.8rem}.stat-label{font-size:1rem}.team-members-section{padding:3rem 1rem}.team-members-container h2{font-size:1.8rem}.team-members-grid{gap:1.5rem;grid-template-columns:1fr;margin-top:2rem}.team-member-card{border-radius:12px;margin:0 auto;max-width:320px;padding:2rem 1.5rem}.team-member-photo{height:100px;width:100px}.team-member-name{font-size:1.1rem}.team-member-role{font-size:.9rem;margin-bottom:1.2rem}.team-member-linkedin{height:40px;width:40px}.team-member-linkedin-logo{height:18px;width:18px}}.team-subgroups-section{margin:4rem 0 2rem;padding:0 1rem}.team-subgroups-container{margin:0 auto;max-width:1100px}.team-subgroups-header{margin-bottom:2.5rem;text-align:center}.team-projectgroups-grid,.team-subgroups-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1100px}.projectgroup-card,.subgroup-card{background:var(--color-background-light);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 20px #00000014;margin-left:auto;margin-right:auto;max-width:400px;opacity:1;overflow:hidden;padding:3rem 2.5rem;position:relative;text-align:center;transform:none;transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease,border-color .3s ease,background-color .3s ease;width:100%}.subgroup-card.subgroup-card--with-image{align-items:stretch;display:flex;flex-direction:row;gap:2rem;max-width:700px;padding:2.5rem;text-align:left}.subgroup-content.subgroup-content--with-image{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0;padding-right:0;word-break:break-word}.subgroup-image-wrapper.subgroup-image-wrapper--right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end;width:200px}.subgroup-image{border-radius:1.2rem;box-shadow:0 4px 16px #0000001a;height:180px;object-fit:cover;width:180px}.subgroup-card.subgroup-card--no-image{align-items:center;display:flex;flex-direction:column;max-width:400px;text-align:center}.subgroup-content.subgroup-content--no-image{text-align:center}.projectgroup-card:hover,.subgroup-card:hover{background:#fff;border-color:var(--color-button-bg);box-shadow:0 12px 35px #00000026;transform:translateY(-8px)}.projectgroup-card h3,.subgroup-card h3{color:var(--color-text);font-size:1.5rem;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin-bottom:1.25rem}.projectgroup-card p,.subgroup-card p{color:var(--color-content-text);font-size:1.05rem;font-weight:400;line-height:1.7;margin:0}@media (max-width:768px){.team-projectgroups-grid,.team-subgroups-grid{gap:2rem;grid-template-columns:1fr;max-width:400px}.projectgroup-card,.subgroup-card{padding:2.5rem 2rem}.projectgroup-card h3,.subgroup-card h3{font-size:1.3rem}.projectgroup-card p,.subgroup-card p{font-size:1rem;line-height:1.6}}.team-projectgroups-grid,.team-subgroups-grid{display:grid!important;flex-wrap:nowrap!important;justify-content:normal!important}.team-member-card,.team-members-container,.team-members-grid,.team-members-section{position:relative;z-index:1000!important}.projects-hero{align-items:center;background:linear-gradient(135deg,#1f2937,#374151);color:#fff;display:flex;justify-content:center;min-height:400px;padding:0;position:relative;width:100%}.projects-hero-content{animation:fadeInUp 1s ease-out forwards;max-width:800px;padding:4rem 2rem;text-align:center;width:100%}.projects-hero h1{color:#fff;font-size:3rem;font-weight:800;letter-spacing:-1px;line-height:1.1;margin-bottom:1rem}.projects-hero p{color:#ffffffe6;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px}.hero-stats{flex-wrap:wrap;gap:3rem}.projects-page{background:#f9fafb;min-height:100vh}.filter-btn{border-radius:0}.filter-btn:hover{background:#f3f4f6;border-color:#374151}.filter-btn.active{background:#374151;border-color:#374151}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.sort-btn{border-radius:0}.sort-btn:hover{background:#f0fdf4;border-color:#10b981}.sort-btn.active{background:#10b981;border-color:#10b981}.status-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.status-btn{background:#fff;border:2px solid #e0e0e0;border-radius:0;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.status-btn:hover{background:#fffbeb;border-color:#f59e0b}.status-btn.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.project-count{color:#666;font-size:.9rem}.projects-grid{display:flex;flex-direction:column;gap:1.5rem}.project-card{background:#fff;border:1px solid #e0e0e0;border-radius:0;display:flex;height:250px;overflow:hidden;transition:all .2s ease;width:100%}.project-card,.project-card:hover{color:inherit;text-decoration:none}.project-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.project-image-container{flex-shrink:0;height:250px;position:relative;width:250px}.project-image{display:block;height:100%;object-fit:cover;width:100%}.project-status-badge{background:#000c;border-radius:0;color:#fff;font-size:.75rem;font-weight:500;left:.75rem;padding:.25rem .5rem;position:absolute;top:.75rem}.project-content{flex:1 1;flex-direction:column;padding:1.5rem}.project-content,.project-header{display:flex;justify-content:space-between}.project-header{align-items:flex-start;gap:1rem;margin-bottom:1rem}.project-header h3{color:#333;flex:1 1;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.project-category{background:#e5e7eb;border-radius:0;color:#374151;flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.project-description{-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;color:#555;display:-webkit-box;flex:1 1;font-size:1rem;line-height:1.7;margin:0;overflow:hidden;text-align:left}.project-footer{margin-top:1rem}.view-project{align-items:center;color:#374151;display:inline-flex;font-size:.9rem;font-weight:500;gap:.25rem}.project-card:hover .view-project{color:#1f2937}.error{color:#dc2626}.no-projects{color:#666;padding:3rem;text-align:center}@media (max-width:768px){.projects-hero h1{font-size:2.5rem}.projects-hero p{font-size:1.1rem}.hero-stats{gap:2rem;justify-content:space-around}.stat-number{font-size:2rem}.filters-container{align-items:stretch;flex-direction:column}.filter-buttons{justify-content:center}.controls-row{flex-direction:column;gap:1rem}.sort-buttons,.status-buttons{justify-content:center}.project-card,.projects-grid{flex-direction:column}.project-card{height:auto}.project-image-container{height:250px;width:100%}.project-content{padding:1.25rem}.project-header h3{font-size:1.1rem}}.add-project-form{background:#f9f9f9;background:var(--color-background,#f9f9f9);border-radius:1rem;box-shadow:0 4px 24px #253d6312;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;margin:2.5rem auto;max-width:800px;padding:2.5rem 2rem 2rem}.add-project-form h2{color:#2f2f2f;color:var(--color-text,#2f2f2f);letter-spacing:.02em;text-align:center}.add-project-form form{display:flex;flex-direction:column;gap:1.5rem}.add-project-form input,.form-textarea{background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;font-size:1.1rem;outline-offset:3px;padding:.8rem 1rem;resize:vertical;transition:border-color .2s}.add-project-form input:focus,.form-textarea:focus{border-color:#2f2f2f;border-color:var(--color-focus-border,#2f2f2f);outline:none}.add-project-form input::placeholder,.form-textarea::placeholder{color:#999;color:var(--color-placeholder,#999);font-style:italic}.add-section-btn{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:background-color .2s}.add-section-btn:hover:not(:disabled){background:#1f1f1f;background:var(--color-button-bg-hover,#1f1f1f)}.add-section-btn:disabled{background:#ccc;cursor:not-allowed}.remove-section-btn{background:#dc3545;border:none;border-radius:.4rem;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:background-color .2s}.remove-section-btn:hover{background:#c82333}.add-image-btn{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:.4rem;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:background-color .2s}.add-image-btn:hover:not(:disabled){background:#1f1f1f;background:var(--color-button-bg-hover,#1f1f1f)}.add-image-btn:disabled{background:#ccc;cursor:not-allowed}.remove-image-btn{background:#dc3545;border:none;border-radius:.4rem;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:background-color .2s;white-space:nowrap}.remove-image-btn:hover{background:#c82333}.submit-btn{align-self:center;background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:9999px;color:#fff;color:var(--color-button-text,#fff);cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2.5rem;transition:background-color .2s,transform .1s}.submit-btn:hover{background:#1f1f1f;background:var(--color-button-bg-hover,#1f1f1f);transform:translateY(-1px)}.submit-btn:active{transform:translateY(0)}.add-project-select{cursor:pointer}.character-count{color:#666;font-size:.8rem;margin-top:.25rem;text-align:right}.character-count.warning{color:#f59e0b}.character-count.error{color:#dc2626}@media (max-width:768px){.add-project-form{margin:1.5rem auto;max-width:90%;padding:2rem 1.5rem}.sections-header{align-items:stretch;flex-direction:column;gap:1rem}.images-header,.section-header{align-items:stretch}.image-input-group,.images-header,.section-header{flex-direction:column;gap:.5rem}}.add-project-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;font-size:1.1rem;outline-offset:3px;padding:.8rem 1rem;transition:border-color .2s}.add-project-select:focus{border-color:#2f2f2f;border-color:var(--color-focus-border,#2f2f2f);outline:none}.add-project-flex{gap:2.5rem}.add-project-image-input-area{align-items:center;display:flex;height:56px;min-height:56px;width:100%}.add-project-image-input-area input[type=url]{background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;box-sizing:border-box;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;font-size:1.1rem;height:40px;padding:.8rem 1rem;width:100%}@media (max-width:600px){.add-project-form{padding:1.2rem .5rem}.add-project-form button{padding:1rem 0;width:100%}}.protected-admin-content{background:#fff;min-height:100vh}.admin-top-bar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 2rem}.admin-center-section,.admin-left-section{align-items:center;display:flex;flex:1 1}.admin-center-section{justify-content:center}.admin-right-section{align-items:center;display:flex;flex:1 1;justify-content:flex-end}.admin-user-info{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:.5rem 1rem}.admin-user-info:hover{background:#f3f4f6}.admin-avatar{border:2px solid #e2e8f0;border-radius:50%;height:40px;overflow:hidden;width:40px}.admin-avatar img{height:100%;object-fit:cover;width:100%}.admin-details{display:flex;flex-direction:column;gap:.25rem}.admin-name{color:#1e293b;font-size:.95rem;font-weight:600}.admin-email{color:#64748b;font-size:.85rem}.admin-badge{background:#dbeafe;border-radius:12px;color:#1e40af;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase;width:fit-content}.admin-sign-out-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.admin-sign-out-btn:hover{background:#b91c1c}@media (max-width:768px){.admin-top-bar{padding:1rem}.admin-user-info{gap:.5rem;padding:.5rem}.admin-details{display:none}.admin-sign-out-btn{font-size:.875rem;padding:.5rem .75rem}.admin-dashboard{padding:1.5rem 1rem}.admin-page-title{font-size:2rem}.admin-page-subtitle{font-size:1rem}.admin-sections{gap:1rem;grid-template-columns:1fr}.admin-section{padding:1rem}.section-header h3{font-size:1.125rem}}.session-warning-banner{align-items:center;background:#fef3c7;border-left:4px solid #f59e0b;color:#92400e;display:flex;font-weight:500;justify-content:space-between;padding:1rem}.session-warning-banner button{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem}.admin-content{padding:0}.admin-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:2rem}.admin-page-header{margin-bottom:3rem}.admin-page-title{color:#111827;font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.5rem}.admin-page-subtitle{color:#6b7280;font-size:1.125rem;font-weight:400;margin:0}.admin-dashboard-header{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:2.5rem;padding:2rem 0;position:relative;text-align:center}.admin-dashboard-header h1{color:#1e293b;font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.5rem}.dashboard-subtitle{color:#64748b;font-size:1.1rem;font-weight:400;margin:0}.sign-out-btn{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;position:absolute;right:1rem;text-decoration:none;top:1rem;transition:all .2s ease}.sign-out-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.admin-sections{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.admin-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:border-color .2s ease}.admin-section:hover{border-color:#d1d5db}.section-header{border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:1rem}.section-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.section-header p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.section-actions{display:flex;flex-direction:column;gap:.75rem}.action-btn{align-items:center;border:1px solid #0000;border-radius:6px;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;min-height:44px;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-icon{font-size:1rem;font-weight:600}.primary{background:#2563eb;border:1px solid #2563eb;color:#fff}.primary:hover{background:#1d4ed8;border-color:#1d4ed8}.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.secondary:hover{background:#f9fafb;border-color:#9ca3af}.full-width{grid-column:1/-1;width:100%}.btn-icon{font-size:1.1rem;font-weight:700;min-width:20px;text-align:center}.action-btn:focus{outline:3px solid #3b82f64d;outline-offset:2px}.action-btn:active{transform:translateY(0)}@media (max-width:768px){.admin-dashboard{margin:1rem;padding:1rem}.admin-dashboard-header{padding:1.5rem 1rem}.admin-dashboard-header h1{font-size:2rem}.sign-out-btn{justify-content:center;margin-top:1rem;position:static;width:100%}.admin-sections,.security-details{grid-template-columns:1fr}.admin-section{padding:1.5rem}.action-btn{font-size:.95rem;padding:1rem 1.5rem}.section-actions{gap:.75rem}}@media (max-width:480px){.admin-dashboard-header h1{font-size:1.75rem}.dashboard-subtitle{font-size:1rem}.security-status-card{padding:1.5rem}.admin-section{padding:1.25rem}.action-btn{font-size:.9rem;min-height:48px;padding:.875rem 1.25rem}}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.admin-dashboard-link{align-items:center;background:#3b82f6;border-radius:6px;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease}.admin-dashboard-link:hover{background:#2563eb;color:#fff;text-decoration:none}.file-upload-container{margin:1rem 0}.file-upload-label{color:#374151;display:block;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.upload-dropzone{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:all .2s ease}.upload-dropzone:hover{background-color:#f3f4f6;border-color:#374151}.upload-dropzone.drag-over{background-color:#eff6ff;border-color:#3b82f6}.upload-dropzone.uploading{background-color:#ecfdf5;border-color:#10b981;cursor:not-allowed}.file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.file-input:disabled{cursor:not-allowed}.upload-content{pointer-events:none}.upload-icon{font-size:2rem;margin-bottom:1rem}.upload-text{display:flex;flex-direction:column;gap:.25rem}.upload-main{color:#374151;font-size:1rem;font-weight:500}.upload-sub{color:#6b7280;font-size:.875rem}.upload-progress{align-items:center;color:#10b981;display:flex;flex-direction:column;gap:1rem}.spinner{animation:spin 1s linear infinite;border:3px solid #d1fae5;border-radius:50%;border-top-color:#10b981;height:2rem;width:2rem}.file-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1rem}.image-preview{border-radius:.25rem;max-height:200px;max-width:100%;object-fit:contain}.image-preview-container{text-align:center}.image-info{border-top:1px solid #e5e7eb;margin-top:.5rem;padding-top:.5rem}.image-name{color:#6b7280;font-size:.875rem;font-weight:500}.pdf-preview{align-items:flex-start;color:#374151;display:flex;gap:.75rem}.pdf-icon{flex-shrink:0;font-size:1.5rem}.pdf-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.pdf-name{color:#374151;font-weight:500;word-break:break-all}.pdf-size{color:#6b7280;font-size:.875rem}.pdf-status{color:#10b981;font-size:.875rem;font-weight:500}@media (max-width:768px){.upload-dropzone{padding:1.5rem 1rem}.upload-icon{font-size:1.5rem}.upload-main{font-size:.9rem}.upload-sub{font-size:.8rem}}.resources-hero{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;display:flex;justify-content:center;min-height:400px;padding:0;position:relative;width:100%}.resources-hero-content{animation:fadeInUp 1s ease-out forwards;max-width:800px;padding:4rem 2rem;text-align:center;width:100%}.resources-hero h1{color:#fff;font-size:3rem;font-weight:800;letter-spacing:-1px;line-height:1.1;margin-bottom:1rem}.resources-hero p{color:#ffffffe6;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px}.hero-stats{display:flex;gap:4rem;justify-content:center;margin-top:3rem}.stat-item{color:#fffffff2;text-align:center}.stat-number{color:#fff;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.5rem}.stat-label{color:#fffc;font-size:.9rem;letter-spacing:1px;text-transform:uppercase}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.resources-page{background:#f9fafb;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:3rem 1rem}.resources-header{margin-bottom:3rem;text-align:center}.resources-header h1{color:#333;font-size:2.5rem;margin-bottom:1rem}.resources-header p{color:#666;font-size:1.1rem;margin:0 auto;max-width:600px}.filter-section{margin-bottom:2rem}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:#fff;border:2px solid #e0e0e0;border-radius:.5rem;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:#f8f9fa;border-color:#007bff}.filter-btn.active{background:#007bff;border-color:#007bff;color:#fff}.sort-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.sort-btn{background:#fff;border:2px solid #e0e0e0;border-radius:.5rem;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.sort-btn:hover{background:#f8fff9;border-color:#28a745}.sort-btn.active{background:#28a745;border-color:#28a745;color:#fff}.resource-count{color:#666;font-size:.9rem}.resources-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.resource-card{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;padding:1.5rem;transition:all .2s ease}.resource-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.resource-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.resource-header h3{color:#333;flex:1 1;font-size:1.2rem;margin:0}.resource-category{background:#e3f2fd;border-radius:.25rem;color:#1976d2;font-size:.8rem;margin-left:1rem;padding:.25rem .5rem;white-space:nowrap}.resource-content{flex:1 1}.resource-description{color:#666;line-height:1.6;margin-bottom:1rem}.resource-link{align-items:center;background:#007bff;border:none;border-radius:6px;box-shadow:0 2px 4px #007bff33;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;width:100%}.resource-link:hover{background:#0056b3;box-shadow:0 4px 8px #007bff4d;text-decoration:none;transform:translateY(-1px)}.resource-link:active{box-shadow:0 2px 4px #007bff33;transform:translateY(0)}.error,.loading{font-size:1.1rem;padding:3rem;text-align:center}.error{color:#dc3545}.no-resources{color:#666;padding:3rem;text-align:center}@media (max-width:768px){.resources-hero h1{font-size:2.5rem}.resources-hero p{font-size:1.1rem}.hero-stats{gap:2rem}.stat-number{font-size:2rem}.filters-container{align-items:stretch;flex-direction:column}.filter-buttons,.sort-buttons{justify-content:center}.resources-grid{grid-template-columns:1fr}.resource-header{flex-direction:column;gap:.5rem}.resource-category{align-self:flex-start;margin-left:0}}.gpa-calculator{animation:fadeIn .8s ease-out;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:1000px;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gpa-header{margin-bottom:3rem;position:relative;text-align:center}.gpa-header h1{-webkit-text-fill-color:#0000;animation:slideInDown .8s ease-out .2s both;background:linear-gradient(135deg,var(--color-text),var(--color-button-bg));-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-size:2.8rem;font-weight:800;letter-spacing:-1px;margin-bottom:.75rem}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.gpa-subtitle{animation:slideInUp .8s ease-out .4s both;color:var(--color-content-text);font-size:1.2rem;font-weight:500;margin-bottom:2rem;opacity:.8}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-container,.gpa-auth-section{margin-bottom:2rem}.auth-container{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem}.auth-container.signed-in{align-items:center;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#10b981;display:flex;justify-content:space-between;padding:1rem 1.5rem}.auth-prompt{text-align:center}.auth-icon{color:#64748b;display:flex;justify-content:center;margin-bottom:1rem}.auth-prompt h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.auth-prompt p{color:#64748b;line-height:1.5;margin-bottom:1.5rem}.google-signin-btn{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 2px 4px -1px #0000001a;color:#374151;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.75rem;padding:.75rem 1.5rem;transition:all .3s ease}.google-signin-btn:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#94a3b8;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.google-signin-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-icon,.loading-spinner{height:20px;width:20px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-info{align-items:center;display:flex;gap:.75rem}.user-avatar{border:2px solid #3b82f6;border-radius:50%;height:40px;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:#111827;font-weight:600}.user-email{color:#6b7280;font-size:.85rem}.auth-benefits{display:flex;gap:2rem;justify-content:center;margin-top:1.5rem}.benefit{font-size:.9rem;gap:.5rem}.benefit,.benefit-icon{align-items:center;color:#6b7280;display:flex}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:1rem;padding:.75rem}.gpa-message{border-radius:8px;font-weight:500;margin-bottom:1rem;padding:1rem}.gpa-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.gpa-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.gpa-display{grid-gap:2rem;animation:slideInLeft .8s ease-out .6s both;background:linear-gradient(135deg,var(--color-hero-gradient-dark),var(--color-hero-gradient-light));border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 40px #00000026;color:#fff;display:grid;gap:2rem;grid-template-columns:1fr auto;margin-bottom:3rem;overflow:hidden;padding:2.5rem;position:relative}.gpa-display:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:200%;position:absolute;right:-50%;top:-50%;transform:rotate(45deg);width:100%}@keyframes shimmer{0%{transform:translateX(-100%) rotate(45deg)}to{transform:translateX(200%) rotate(45deg)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.gpa-card h3{font-size:1.3rem;font-weight:600;letter-spacing:-.25px;margin:0 0 1.5rem;opacity:.95}.gpa-card h3,.gpa-value{position:relative;z-index:2}.gpa-value{animation:pulse 2s ease-in-out infinite;font-size:3.5rem;font-weight:800;letter-spacing:-2px;margin-bottom:.75rem;text-shadow:0 2px 4px #0003}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gpa-scale{font-size:1rem;font-weight:500;opacity:.85}.gpa-scale,.gpa-stats{position:relative;z-index:2}.gpa-stats{gap:1.5rem;justify-content:center}.gpa-stats,.stat{display:flex;flex-direction:column}.stat{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;cursor:pointer;padding:1rem;text-align:center;transition:all .3s ease}.stat:hover{background:#fff3;box-shadow:0 8px 25px #00000026;transform:translateY(-2px) scale(1.02)}.stat-label{font-size:.95rem;font-weight:500;margin-bottom:.5rem;opacity:.9}.stat-value{animation:countUp .8s ease-out 1s both;font-size:1.75rem;font-weight:700;letter-spacing:-.5px}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.semester-section{animation:slideInLeft .8s ease-out .8s both;background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 20px #0000000f;margin-bottom:2rem;padding:2.5rem;position:relative}.semester-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.semester-header h3{color:var(--color-text);font-size:1.4rem;font-weight:700;letter-spacing:-.25px;margin:0}.semester-controls{align-items:center;display:flex;gap:1rem}.semester-input{border:2px solid var(--color-border);border-radius:12px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.semester-input:focus{border-color:var(--color-focus-border);box-shadow:0 0 0 4px #2f2f2f1a;outline:none;transform:scale(1.02)}.semester-gpas{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.semester-gpa{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:16px;display:flex;justify-content:space-between;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}.semester-gpa:before{background:linear-gradient(90deg,#0000,#2f2f2f08,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.semester-gpa:hover:before{left:100%}.semester-gpa:hover{border-color:var(--color-button-bg);box-shadow:0 8px 25px #0000001a;transform:translateY(-3px) scale(1.02)}.semester-name{color:var(--color-text);font-size:1rem;font-weight:600}.semester-gpa-value{color:var(--color-button-bg);font-size:1.1rem;font-weight:700}.courses-section{animation:slideInRight .8s ease-out 1.2s both;background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 20px #0000000f;margin-bottom:2rem;padding:2.5rem;position:relative}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.courses-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.courses-header h3{color:var(--color-text);font-size:1.4rem;font-weight:700;letter-spacing:-.25px;margin:0}.courses-list{display:flex;flex-direction:column;gap:1rem}.course-row{grid-gap:1rem;align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:16px;display:grid;gap:1rem;grid-template-columns:auto 1fr auto auto auto auto;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}.course-row:before{background:linear-gradient(90deg,#0000,#2f2f2f08,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.course-row:hover:before{left:100%}.course-row:hover{border-color:var(--color-button-bg);box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.course-number{align-items:center;background:linear-gradient(135deg,var(--color-button-bg),var(--color-button-bg-hover));border-radius:50%;box-shadow:0 4px 15px #2f2f2f33;color:#fff;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:2.25rem;justify-content:center;width:2.25rem}.course-name,.course-number{position:relative;transition:all .3s ease;z-index:2}.course-name{border:2px solid var(--color-border);border-radius:12px;flex:1 1;font-size:1rem;min-width:0;padding:.75rem 1rem;width:100%}.course-name:focus{border-color:var(--color-focus-border);box-shadow:0 0 0 4px #2f2f2f1a;outline:none}.course-credits{border:2px solid var(--color-border);border-radius:12px;flex-shrink:0;font-size:1rem;padding:.75rem 1rem;position:relative;transition:all .3s ease;width:90px;z-index:2}.course-credits:focus{border-color:var(--color-focus-border);box-shadow:0 0 0 4px #2f2f2f1a;outline:none}.course-grade,.course-semester{background:#fff;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;flex-shrink:0;font-size:1rem;padding:.75rem 1rem;position:relative;transition:all .3s ease;width:130px;z-index:2}.course-grade:focus,.course-semester:focus{border-color:var(--color-focus-border);box-shadow:0 0 0 4px #2f2f2f1a;outline:none}.course-grade:hover,.course-semester:hover{border-color:var(--color-button-bg)}.course-remove{flex-shrink:0;font-size:.8rem;padding:.5rem 1rem;white-space:nowrap}.course-field-group{display:contents}.course-field-group .field-label{color:var(--color-text);display:none;font-size:.8rem;font-weight:600;margin-bottom:.25rem;padding-left:.25rem}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);font-size:.85rem;transition:all .3s ease}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-danger:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af}.btn-primary{background:linear-gradient(135deg,var(--color-button-bg),var(--color-button-bg-hover));border:none;border-radius:12px;color:var(--color-button-text);cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:-.25px;overflow:hidden;padding:.875rem 1.75rem;position:relative;transition:all .3s ease}.btn-primary:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{box-shadow:0 8px 25px #2f2f2f33;transform:translateY(-2px) scale(1.02)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#fff;border:2px solid var(--color-border);border-radius:12px;color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:-.25px;overflow:hidden;padding:.875rem 1.75rem;position:relative;transition:all .3s ease}.btn-secondary:before{background:linear-gradient(90deg,#0000,#2f2f2f0d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-secondary:hover:before{left:100%}.btn-secondary:hover{background:var(--color-background);border-color:var(--color-focus-border);box-shadow:0 8px 25px #0000001a;transform:translateY(-2px) scale(1.02)}.btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}.gpa-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.export-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.privacy-notice{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #10b981;border-radius:16px;box-shadow:0 4px 20px #10b98114;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.privacy-notice:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:4px;left:0;position:absolute;right:0;top:0}.privacy-notice h4{align-items:center;color:#047857;display:flex;font-size:1.4rem;font-weight:700;gap:.75rem;letter-spacing:-.25px;margin:0 0 1.5rem}.privacy-notice h4:before{content:"🔒";font-size:1.2rem}.privacy-notice p{color:#065f46;font-size:1.05rem;font-weight:500;line-height:1.6;margin-bottom:1.5rem}.privacy-notice ul{color:#065f46;list-style:none;margin:0;padding-left:0}.privacy-notice li{font-weight:500;line-height:1.5;margin-bottom:.75rem;padding-left:1.75rem;position:relative}.privacy-notice li:before{color:#10b981;content:"✓";font-size:1.1rem;font-weight:700;left:0;position:absolute}.grade-reference{animation:slideInUp .8s ease-out 1.6s both;background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 20px #0000000f;padding:2.5rem;position:relative}.grade-reference h4{align-items:center;color:var(--color-text);display:flex;font-size:1.3rem;font-weight:700;gap:.75rem;letter-spacing:-.25px;margin:0 0 1.5rem}.grade-scale-table{border:1px solid var(--color-border);border-radius:16px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.grade-scale-header{background:linear-gradient(135deg,var(--color-background),#f8fafc);color:var(--color-text);font-size:.95rem;font-weight:700}.grade-scale-header,.grade-scale-row{border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:80px 80px 1fr}.grade-scale-row{min-height:60px;transition:all .3s ease}.grade-scale-row:hover{background:linear-gradient(135deg,var(--color-background),#f8fafc);transform:scale(1.01)}.grade-scale-row:last-child{border-bottom:none}.grade-scale-row:nth-child(2n){background:var(--color-background)}.description-col,.grade-col,.points-col{align-items:center;display:flex;font-size:.95rem;padding:1rem}.description-col{align-items:flex-start;padding-bottom:.875rem;padding-top:.875rem}.grade-col{justify-content:center}.grade-letter,.points-col{font-weight:700;justify-content:center}.grade-letter{align-items:center;background:linear-gradient(135deg,var(--color-button-bg),var(--color-button-bg-hover));border-radius:50%;box-shadow:0 4px 15px #2f2f2f33;color:#fff;display:flex;font-size:1rem;height:2.25rem;transition:all .3s ease;width:2.25rem}.grade-scale-row:hover .grade-letter{box-shadow:0 6px 20px #2f2f2f4d;transform:scale(1.1)}.grade-points{color:var(--color-button-bg);font-weight:700;transition:all .3s ease}.grade-scale-row:hover .grade-points{transform:scale(1.1)}.grade-description{color:var(--color-content-text);font-size:.9rem;font-weight:500;line-height:1.5}.grade-scale-note{background:linear-gradient(135deg,var(--color-background),#f8fafc);border:1px solid var(--color-border);border-radius:16px;margin-top:1.5rem;padding:1.25rem;position:relative}.grade-scale-note p{color:var(--color-content-text);font-size:.95rem;font-weight:500;line-height:1.6;margin:0}.template-section{animation:slideInUp .8s ease-out 1s both;background:linear-gradient(135deg,var(--color-background),#f8fafc);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 20px #0000000f;margin-bottom:2rem;overflow:hidden;padding:3rem;position:relative}.template-section:after{animation:backgroundMove 20s linear infinite;background:radial-gradient(circle,#2f2f2f05 1px,#0000 0);background-size:20px 20px;content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes backgroundMove{0%{transform:translate(0)}to{transform:translate(20px,20px)}}.template-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;position:relative;z-index:2}.template-header h3{color:var(--color-text);flex:1 1;font-size:1.4rem;font-weight:700;letter-spacing:-.25px;line-height:1.3;margin:0;max-width:60%}.template-load-btn{align-items:center!important;animation:pulseGlow 2s ease-in-out infinite!important;background:linear-gradient(135deg,#0ea5e9,#06b6d4)!important;border:none!important;border-radius:16px!important;box-shadow:0 8px 25px #0ea5e966!important;color:#fff!important;display:flex!important;flex-shrink:0!important;font-size:1.1rem!important;font-weight:700!important;gap:.75rem!important;letter-spacing:.5px!important;padding:1.25rem 2.5rem!important;position:relative;text-transform:none!important;transition:all .3s ease!important;white-space:nowrap!important}@keyframes pulseGlow{0%,to{box-shadow:0 8px 25px #0ea5e966}50%{box-shadow:0 12px 35px #0ea5e999}}.template-load-btn:hover{animation:none!important;background:linear-gradient(135deg,#0284c7,#0891b2)!important;box-shadow:0 15px 40px #0ea5e999!important;transform:translateY(-3px)!important}.template-load-btn:active{box-shadow:0 6px 20px #0ea5e980!important;transform:translateY(-1px)!important}.template-load-btn .btn-icon{animation:bounce 2s ease-in-out infinite;font-size:1.2rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.template-load-btn .btn-arrow{font-size:1.1rem;font-weight:900;transition:transform .3s ease}.template-load-btn:hover .btn-arrow{transform:translateX(4px)}@media (max-width:1024px){.course-row{gap:.75rem;grid-template-columns:auto 1fr auto auto auto}.course-credits,.course-grade,.course-semester{width:110px}.course-name{font-size:.95rem}}@media (max-width:768px){.template-header{align-items:center;flex-direction:column;gap:1.5rem;text-align:center}.template-header h3{font-size:1.2rem;max-width:100%}.template-load-btn{justify-content:center!important;width:100%!important}.template-stats{grid-template-columns:1fr}.template-section{padding:2rem 1.5rem}.template-info p{font-size:1rem}}@media (max-width:480px){.gpa-calculator{padding:1rem .75rem}.template-section{border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 1rem}.template-header h3{font-size:1.1rem;line-height:1.4}.template-load-btn{border-radius:12px!important;font-size:1rem!important;padding:1rem 1.5rem!important}.template-info p{font-size:.95rem;line-height:1.5;margin-bottom:1.25rem}.template-stats{gap:.5rem;margin-top:1rem}.template-stats span{border-radius:6px;font-size:.75rem;gap:.4rem;line-height:1.3;min-height:auto;padding:.5rem .6rem}.template-stats span svg{flex-shrink:0;height:12px;width:12px}.template-stats span strong{font-size:.75rem;margin-right:.15rem}.semester-section{border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 1rem}.semester-header h3{font-size:1.2rem}.semester-controls{flex-direction:column;gap:.75rem}.semester-input{border-radius:10px;font-size:.95rem;padding:.75rem}.semester-gpas{gap:.5rem}.semester-gpa{border-radius:10px;font-size:.9rem;padding:.75rem}.semester-name{font-size:.85rem;font-weight:600}.semester-gpa-value{color:var(--color-button-bg);font-size:.85rem;font-weight:700}}@media (max-width:375px){.template-stats span{font-size:.7rem;gap:.3rem;padding:.4rem .5rem}.template-stats span svg{height:10px;width:10px}.template-stats span strong{font-size:.7rem;margin-right:.1rem}}@media (max-width:320px){.template-stats span{font-size:.65rem;padding:.3rem .4rem}.template-stats span svg{height:8px;width:8px}.template-stats span strong{font-size:.65rem}.semester-section{padding:1rem .75rem}.semester-header h3{font-size:1.1rem}.semester-input{font-size:.9rem;padding:.6rem}.semester-gpa{font-size:.85rem;padding:.6rem}.semester-gpa-value,.semester-name{font-size:.8rem}.semester-section{border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 1rem}.semester-header h3{font-size:1.2rem}.semester-controls{flex-direction:column;gap:.75rem}.semester-input{border-radius:10px;font-size:.95rem;padding:.75rem}.semester-gpas{gap:.5rem}.semester-gpa{border-radius:10px;font-size:.9rem;padding:.75rem}.semester-name{font-size:.85rem;font-weight:600}.semester-gpa-value{color:var(--color-button-bg);font-size:.85rem;font-weight:700}}.template-info{color:var(--color-content-text);position:relative;z-index:2}.template-info p{font-size:1.05rem;font-weight:500;line-height:1.6;margin:0 0 1.5rem}.template-info p strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#06b6d4);-webkit-background-clip:text;background-clip:text;color:var(--color-button-bg);font-size:1.1em;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 2px #0000001a}.template-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-top:1.25rem}.template-stats span{align-items:center;background:#f8fafc99;border:1px solid #e2e8f0cc;border-radius:8px;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;position:relative}.template-stats span svg{color:#64748b;flex-shrink:0;height:14px;width:14px}.template-stats span strong{color:#334155;font-size:.875rem;font-weight:600;margin-right:.25rem}@media (max-width:768px){.gpa-calculator{padding:1rem}.gpa-display{grid-template-columns:1fr;text-align:center}.gpa-stats{flex-direction:row;justify-content:center}.semester-header{align-items:stretch;flex-direction:column;gap:1rem}.semester-controls{flex-direction:column;gap:.75rem;justify-content:stretch}.semester-input{font-size:1rem;padding:.875rem;width:100%}.semester-section{padding:2rem 1.5rem}.semester-gpas{gap:.75rem;grid-template-columns:1fr}.semester-gpa{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1rem}.semester-input{flex:1 1}.courses-section{margin-bottom:1.5rem;padding:1.5rem 1rem}.courses-header{align-items:stretch;flex-direction:column;gap:1rem}.courses-header h3{font-size:1.2rem;text-align:center}.course-row{align-items:stretch;gap:.75rem 1rem;grid-template-areas:"number name" "credits grade" "semester remove";grid-template-columns:auto 1fr;padding:1rem}.course-number{align-self:start;font-size:.85rem;grid-area:number;height:1.75rem;margin-top:.375rem;width:1.75rem}.course-field-group:nth-child(2){grid-area:name}.course-field-group:nth-child(3){grid-area:credits}.course-field-group:nth-child(4){grid-area:grade}.course-field-group:nth-child(5){grid-area:semester}.course-remove{align-self:center;border-radius:8px;font-size:.8rem;grid-area:remove;justify-self:end;padding:.5rem .75rem}.course-credits,.course-grade,.course-name,.course-semester{font-size:.95rem;padding:.75rem;width:100%}.course-field-group .field-label{display:block}.gpa-actions{flex-direction:column;gap:.75rem}.export-buttons{flex-direction:row;gap:.5rem;justify-content:center}.grade-scale-header,.grade-scale-row{gap:.5rem;grid-template-columns:60px 60px 1fr}.description-col,.grade-col,.points-col{font-size:.8rem;padding:.75rem .5rem}.grade-description{font-size:.75rem;line-height:1.3}.auth-benefits{flex-direction:column;gap:1rem}}@media (max-width:480px){.courses-section{border-radius:16px;padding:1rem .75rem}.courses-header h3{font-size:1.1rem}.course-row{gap:.75rem;grid-template-areas:"number" "name" "credits" "grade" "semester" "remove";grid-template-columns:1fr;padding:1rem .75rem;text-align:left}.course-number{font-size:.8rem;grid-area:number;height:1.5rem;justify-self:center;margin-bottom:.5rem;margin-top:0;width:1.5rem}.course-field-group{display:block;width:100%}.course-field-group:nth-child(2){grid-area:name}.course-field-group:nth-child(3){grid-area:credits}.course-field-group:nth-child(4){grid-area:grade}.course-field-group:nth-child(5){grid-area:semester}.course-field-group .field-label{color:var(--color-text);font-size:.8rem;font-weight:600;margin-bottom:.375rem}.course-credits,.course-grade,.course-name,.course-semester{border-radius:10px;font-size:.9rem;padding:.75rem;width:100%}.course-remove{border-radius:8px;font-size:.8rem;grid-area:remove;justify-self:center;margin-top:.5rem;padding:.5rem 1rem;width:auto}.export-buttons{flex-direction:column;gap:.5rem;width:100%}.export-buttons button{width:100%}}@media (max-width:375px){.course-row,.courses-section{padding:.75rem .5rem}.course-row{gap:.5rem}.course-number{font-size:.75rem;height:1.25rem;width:1.25rem}.course-field-group .field-label{font-size:.75rem;margin-bottom:.25rem}.course-credits,.course-grade,.course-name,.course-semester{font-size:.85rem;padding:.625rem}.course-remove{font-size:.75rem;padding:.375rem .75rem}}.year-selector-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.year-selector-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.year-selector-header{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #e5e7eb;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.year-selector-header h3{color:#1e40af;font-size:1.25rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s}.close-button:hover{background:#6b72801a;color:#374151}.year-selector-content{padding:1.5rem}.year-selector-content p{color:#6b7280;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.year-options{display:flex;flex-direction:column;gap:1rem}.year-option{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:1.25rem;transition:all .2s}.year-option:hover{background:#f8fafc;border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.year-option-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.year-option-description{color:#6b7280;font-size:.875rem;line-height:1.4}@media (max-width:768px){.year-selector-modal{margin:1rem;width:95%}.year-option,.year-selector-content,.year-selector-header{padding:1rem}.year-option-title{font-size:1rem}}.contact-form-container{margin:2rem auto;max-width:480px;padding:0 1rem;text-align:left}.contact-form-container h2{color:var(--color-text);font-weight:700;letter-spacing:.02em;margin-bottom:2rem;text-align:center}.contact-form{display:flex;flex-direction:column;gap:1.75rem}.contact-form input,.contact-form textarea{background:#0000;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;color:var(--color-text);font-family:Inter,sans-serif;font-size:1.1rem;outline-offset:3px;padding:.8rem 1rem;resize:vertical;transition:border-color .3s ease}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-placeholder);font-style:italic}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--color-focus-border);outline:none}.contact-form textarea{min-height:140px}.contact-form button{background-color:var(--color-button-bg);border:none;border-radius:9999px;box-shadow:none;color:var(--color-button-text);cursor:pointer;font-family:Inter,sans-serif;font-size:1.2rem;font-weight:700;padding:1rem 2.5rem;transition:background-color .3s ease}.contact-form button:focus,.contact-form button:hover{background-color:var(--color-button-bg-hover);outline:none}@media (max-width:600px){.contact-form-container{padding:0 .5rem}.contact-form button{padding:1rem 0;width:100%}}.project-detail-container{background:#f8f9fa;background:var(--color-background-light,#f8f9fa);min-height:100vh;padding:2rem 0}.project-detail-content{margin:0 auto;max-width:1200px;padding:0 2rem}.loading-container{align-items:center;color:#6b7280;color:var(--color-content-text,#6b7280);display:flex;font-size:1.1rem;justify-content:center;min-height:50vh}.project-article{margin:2rem auto 0;max-width:800px;padding:0 2rem}.project-article-content{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #00000014;line-height:1.8;padding:3rem}.article-title{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 2rem;text-align:center}.article-heading,.article-title{color:#1f2937;color:var(--color-text,#1f2937)}.article-heading{font-size:1.5rem;font-weight:600;line-height:1.4;margin:2.5rem 0 1rem}.article-heading:first-child{margin-top:0}.article-text{color:#4b5563;color:var(--color-content-text,#4b5563);font-size:1.05rem;line-height:1.8;margin:0 0 1.2rem;text-align:left}.article-text:last-child{margin-bottom:0}.article-intro{color:#4b5563;color:var(--color-content-text,#4b5563);font-size:1.1rem;font-weight:400;margin-bottom:1.5rem;text-align:left}.article-images{margin:2rem 0}.article-images.multiple-images{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.article-figure,.article-images.single-image{text-align:center}.article-figure{margin:0}.article-image{border-radius:12px;box-shadow:0 8px 25px #0000001f;height:auto;max-width:100%;transition:transform .3s ease,box-shadow .3s ease}.article-image:hover{box-shadow:0 12px 35px #00000026;transform:translateY(-4px)}.article-images.single-image .article-image{display:block;margin:0 auto;max-width:90%}.article-footer{margin-top:3rem}.pdf-download-section+.article-footer{margin-top:2rem}.article-divider{background:linear-gradient(90deg,#0000,#e5e7eb 20%,#e5e7eb 80%,#0000);border:none;height:1px;margin:2rem 0}.article-meta{margin:2rem 0}.article-meta-grid{grid-gap:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.article-meta-item{align-items:center;display:flex;flex-direction:column;padding:.5rem;text-align:center}.article-meta-label{color:#64748b;color:var(--color-content-text,#64748b);font-size:.85rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.article-meta-value{color:#1e293b;color:var(--color-text,#1e293b);font-size:1rem;font-weight:600;line-height:1.4}.article-actions{margin-top:2rem;text-align:center}.article-actions .article-text{margin:.5rem 0;text-align:center}.article-link{color:#3b82f6;color:var(--color-button-bg,#3b82f6);font-weight:500;text-decoration:none;transition:color .2s ease}.article-link:hover{color:#2563eb;color:var(--color-button-bg-hover,#2563eb);text-decoration:underline}.pdf-download-section{margin:2rem 0;text-align:center}.pdf-download-link{align-items:center;border:1px solid #0000;border-radius:6px;color:#6b7280;color:var(--color-text-muted,#6b7280);display:inline-flex;font-size:.95rem;font-weight:400;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.pdf-download-link:hover{background-color:#f8fafc;border-color:#e2e8f0;color:#3b82f6;color:var(--color-primary,#3b82f6);text-decoration:none}@media (max-width:768px){.project-detail-content{padding:0 1rem}.project-article{margin-top:2rem;padding:0 1rem}.project-article-content{padding:2rem}.article-title{font-size:2rem}.article-heading{font-size:1.3rem}.article-text{font-size:1rem;text-align:left}.article-images.multiple-images{gap:1rem;grid-template-columns:1fr}.article-images.single-image .article-image{max-width:100%}.article-meta-grid{gap:1rem;grid-template-columns:1fr;padding:1rem}.article-meta-item{border-bottom:1px solid #e2e8f0;flex-direction:row;justify-content:space-between;padding:.75rem;text-align:left}.article-meta-item:last-child{border-bottom:none}.article-meta-label{margin-bottom:0;text-align:left}}@media (max-width:480px){.project-article-content{padding:1.5rem}.article-title{font-size:1.75rem}.article-heading{font-size:1.2rem;margin:1.5rem 0 .75rem}.article-meta-grid{padding:.75rem}}.add-project-flex{min-height:100vh;padding:2rem 1rem}.add-project-flex,.edit-project-form{background:#f9f9f9;background:var(--color-background,#f9f9f9)}.edit-project-form{border-radius:1rem;box-shadow:0 4px 24px #253d6312;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;margin:2.5rem auto;max-width:800px;padding:2.5rem 2rem 2rem}.edit-project-form h2{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-weight:700;letter-spacing:.02em;margin-bottom:2rem;text-align:center}.form-help{color:#666;color:var(--color-text-muted,#666);display:block;font-size:.85rem;line-height:1.4;margin-top:.5rem}.edit-project-form form{display:flex;flex-direction:column;gap:1.5rem}.edit-project-form>input[type=text]{background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;font-size:1.1rem;margin-bottom:1rem;outline-offset:3px;padding:.8rem 1rem;transition:border-color .2s}.edit-project-form>input[type=text]:focus{border-color:#2f2f2f;border-color:var(--color-focus-border,#2f2f2f);outline:none}.edit-project-form>input[type=text]::placeholder{color:#999;color:var(--color-placeholder,#999);font-style:italic}.edit-project-form>button[type=button]:not(.submit-btn):not(.delete-btn){background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:.5rem;color:#fff;color:var(--color-button-text,#fff);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.edit-project-form>button[type=button]:not(.submit-btn):not(.delete-btn):hover{background:#1f1f1f;background:var(--color-button-bg-hover,#1f1f1f)}.form-group{gap:.5rem}.form-group label{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.edit-project-form input,.form-textarea{background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;color:#333;color:var(--color-content-text,#333);font-family:Inter,sans-serif;font-size:1.1rem;outline-offset:3px;padding:.8rem 1rem;resize:vertical;transition:border-color .2s}.edit-project-form input:focus,.form-textarea:focus{border-color:#2f2f2f;border-color:var(--color-focus-border,#2f2f2f);outline:none}.edit-project-form input::placeholder,.form-textarea::placeholder{color:#999;color:var(--color-placeholder,#999);font-style:italic}.sections-container{border-top:2px solid #ccc;border-top:2px solid var(--color-border,#ccc);margin-top:2rem;padding-top:2rem}.sections-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.sections-header h3{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-weight:600;margin:0}.add-section-btn,.edit-project-form .add-section-btn,.edit-project-form button.add-section-btn,button.add-section-btn{background:#2f2f2f!important;background:var(--color-button-bg,#2f2f2f)!important;border:none!important;border-radius:.5rem!important;color:#fff!important;cursor:pointer!important;font-size:.9rem!important;font-weight:500!important;padding:.6rem 1.2rem!important;transition:background-color .2s!important}.add-section-btn:hover:not(:disabled),.edit-project-form .add-section-btn:hover:not(:disabled),.edit-project-form button.add-section-btn:hover:not(:disabled),button.add-section-btn:hover:not(:disabled){background:#1f1f1f!important;background:var(--color-button-bg-hover,#1f1f1f)!important}.add-section-btn:disabled,.edit-project-form .add-section-btn:disabled,.edit-project-form button.add-section-btn:disabled,button.add-section-btn:disabled{background:#ccc!important;cursor:not-allowed!important}.project-section{background:#fff;border:1px solid #ddd;border:1px solid var(--color-border,#ddd);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.section-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.section-header h4{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:1.1rem;font-weight:600;margin:0}.edit-project-form .remove-section-btn,.edit-project-form button.remove-section-btn,.remove-section-btn,button.remove-section-btn{background:#dc3545!important;border:none!important;border-radius:.4rem!important;color:#fff!important;cursor:pointer!important;font-size:.8rem!important;padding:.4rem .8rem!important;transition:background-color .2s!important}.edit-project-form .remove-section-btn:hover,.edit-project-form button.remove-section-btn:hover,.remove-section-btn:hover,button.remove-section-btn:hover{background:#c82333!important}.section-images{margin-top:1rem}.images-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.images-header label{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:.9rem;font-weight:600;margin:0}.add-image-btn,.edit-project-form .add-image-btn,.edit-project-form button.add-image-btn,button.add-image-btn{background:#2f2f2f!important;background:var(--color-button-bg,#2f2f2f)!important;border:none!important;border-radius:.4rem!important;color:#fff!important;cursor:pointer!important;font-size:.8rem!important;padding:.4rem .8rem!important;transition:background-color .2s!important}.add-image-btn:hover:not(:disabled),.edit-project-form .add-image-btn:hover:not(:disabled),.edit-project-form button.add-image-btn:hover:not(:disabled),button.add-image-btn:hover:not(:disabled){background:#1f1f1f!important;background:var(--color-button-bg-hover,#1f1f1f)!important}.add-image-btn:disabled,.edit-project-form .add-image-btn:disabled,.edit-project-form button.add-image-btn:disabled,button.add-image-btn:disabled{background:#ccc!important;cursor:not-allowed!important}.image-input-group{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.image-input-group input{flex:1 1;margin:0}.edit-project-form .remove-image-btn,.edit-project-form button.remove-image-btn,.remove-image-btn,button.remove-image-btn{background:#2f2f2f!important;background:var(--color-button-bg,#2f2f2f)!important;border:none!important;border-radius:.4rem!important;color:#fff!important;cursor:pointer!important;font-size:.8rem!important;padding:.4rem .8rem!important;transition:background-color .2s!important;white-space:nowrap!important}.edit-project-form .remove-image-btn:hover,.edit-project-form button.remove-image-btn:hover,.remove-image-btn:hover,button.remove-image-btn:hover{background:#1f1f1f!important;background:var(--color-button-bg-hover,#1f1f1f)!important}.edit-project-form .submit-btn,.edit-project-form button.submit-btn,.submit-btn,button.submit-btn{align-self:center!important;background:#2f2f2f!important;background:var(--color-button-bg,#2f2f2f)!important;border:none!important;border-radius:.5rem!important;color:#fff!important;color:var(--color-button-text,#fff)!important;cursor:pointer!important;font-size:.9rem!important;font-weight:500!important;margin-top:1rem!important;padding:.6rem 1.2rem!important;transition:background-color .2s!important}.edit-project-form .submit-btn:hover,.edit-project-form button.submit-btn:hover,.submit-btn:hover,button.submit-btn:hover{background:#1f1f1f!important;background:var(--color-button-bg-hover,#1f1f1f)!important}.edit-project-form .submit-btn:active,.edit-project-form button.submit-btn:active,.submit-btn:active,button.submit-btn:active{transform:none!important}.edit-project-form .delete-btn{align-self:center!important;background:#dc3545!important;border:none!important;border-radius:.5rem!important;color:#fff!important;cursor:pointer!important;font-size:.9rem!important;font-weight:500!important;margin-top:.5rem!important;padding:.6rem 1.2rem!important;transition:background-color .2s!important}.edit-project-form .delete-btn:hover{background:#c82333!important}.edit-project-form .delete-btn:active{transform:none!important}.message{border-radius:.5rem;font-weight:500;margin-top:1rem;padding:.75rem 1rem}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.add-project-select,.edit-project-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;background:var(--color-background,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:.5rem;color:#333;color:var(--color-content-text,#333);cursor:pointer;font-family:Inter,sans-serif;font-size:1.1rem;outline-offset:3px;padding:.8rem 1rem;transition:border-color .2s}.add-project-select:focus,.edit-project-select:focus{border-color:#2f2f2f;border-color:var(--color-focus-border,#2f2f2f);outline:none}.pdf-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:.5rem;margin-top:2rem;padding:1.5rem}.pdf-section-header{align-items:center;color:#2f2f2f;color:var(--color-text,#2f2f2f);display:flex;font-weight:600;gap:.75rem;margin-bottom:1rem}.pdf-section-icon{font-size:1.25rem}.pdf-section-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.form-group .file-upload-container{margin:0}.image-input-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:.5rem;padding:1rem}.image-input-group .file-upload-container{margin:0}.image-input-group .remove-image-btn{align-self:flex-start;margin-top:.5rem}@media (max-width:768px){.edit-project-form{margin:1.5rem auto;max-width:90%;padding:2rem 1.5rem}.sections-header{align-items:stretch;flex-direction:column;gap:1rem}.images-header,.section-header{align-items:stretch}.image-input-group,.images-header,.section-header{flex-direction:column;gap:.5rem}}@media (max-width:600px){.edit-project-form{padding:1.2rem .5rem}.edit-project-form .delete-btn,.edit-project-form .submit-btn{padding:1rem 0;width:100%}}.admin-messages-container{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000012;font-family:Inter,Arial,sans-serif;font-family:var(--font-family,"Inter",Arial,sans-serif);margin:2rem auto;max-width:1100px;padding:2rem}.admin-messages-container h2{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:2rem;font-weight:700;letter-spacing:.01em;margin-bottom:1.5rem}.admin-messages-container table{background:#0000}.admin-messages-container td,.admin-messages-container th{font-size:1rem;padding:.7rem .5rem;text-align:left}.admin-messages-container th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#2f2f2f;color:var(--color-text,#2f2f2f);font-weight:600}.admin-messages-container tr{border-bottom:1px solid #ececec}.admin-messages-container tr:last-child{border-bottom:none}.admin-messages-container td{color:#2f2f2f;color:var(--color-text,#2f2f2f);vertical-align:top}.admin-messages-container button{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-left:.2rem;padding:.3rem .9rem;transition:background .15s}.admin-messages-container button:hover{background:#444}.admin-messages-container .handled{color:#3bb54a;font-weight:700}.admin-messages-container .not-handled{color:#c00;font-weight:700}.admin-messages-container .full-message-row{background:#fafafa}.admin-messages-container .full-message-content{color:#444;font-size:1rem;margin-top:8px;white-space:pre-wrap}@media (max-width:700px){.admin-messages-container{padding:.5rem}.admin-messages-container table,.admin-messages-container tbody,.admin-messages-container td,.admin-messages-container th,.admin-messages-container thead,.admin-messages-container tr{display:block;width:100%}.admin-messages-container th{display:none}.admin-messages-container td{border-bottom:1px solid #ececec;padding:.7rem .2rem;position:relative}}.admin-messages-container table{border-collapse:collapse;table-layout:fixed;width:100%}.admin-messages-container td,.admin-messages-container th{overflow-wrap:anywhere;padding:.75rem;vertical-align:top;white-space:normal;word-break:break-word}.admin-messages-container{overflow-x:auto}.full-message-row{background-color:#f9f9f9}.full-message-content{border-left:3px solid #ccc;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;padding:.5rem;white-space:pre-wrap;word-break:break-word}.admin-login-container{background:#fff;background:var(--color-background,#fff);border-radius:1.2rem;box-shadow:0 4px 24px #253d6317;display:flex;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;margin:5rem auto 0;max-width:400px;padding:2.5rem 2rem 2rem;text-align:center}.admin-login-title{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:2rem;font-weight:700;letter-spacing:.01em;margin-bottom:2rem}.admin-login-google-btn{margin-top:1.5rem}.admin-login-container button{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:8px;box-shadow:0 2px 8px #253d6312;color:#fff;color:var(--color-button-text,#fff);cursor:pointer;font-size:1.13rem;font-weight:600;padding:.85rem 2.5rem;transition:background .18s,color .18s}.admin-login-container button:focus,.admin-login-container button:hover{background:#1a1a1a;background:var(--color-button-bg-hover,#1a1a1a);color:#fff}.add-member-form{background:#fff;background:var(--color-background,#fff);border-radius:1.2rem;box-shadow:0 4px 24px #253d6317;display:flex;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;margin:4rem auto 0;max-width:400px;padding:2.5rem 2rem 2rem;text-align:center}.add-member-form h2{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:2rem;font-weight:700;margin-bottom:1.5rem}.add-member-form .form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;text-align:left}.add-member-form .form-group label{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.add-member-form .message{border-radius:.5rem;font-weight:500;margin-top:1rem;padding:.75rem;text-align:center}.add-member-form input,.add-member-form select{appearance:none;background:#f8fafc;border:1.5px solid #e0e7ef;border-radius:.7rem;color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:1rem;margin-bottom:1.1rem;padding:.85rem 1rem;transition:border .18s;width:100%}.add-member-form input:focus,.add-member-form select:focus{border:1.5px solid #2f2f2f;border:1.5px solid var(--color-button-bg,#2f2f2f);outline:none}.add-member-form select{font-weight:500;margin-bottom:1.1rem}.add-member-form button[type=submit]{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:9999px;color:#fff;color:var(--color-button-text,#fff);cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:.5rem;padding:1rem 2.5rem;transition:background .18s}.add-member-form button[type=submit]:hover{background:#1976d2}.add-member-form div{color:#1976d2;font-size:1rem;margin-top:1rem}@media (max-width:600px){.add-member-form{max-width:98vw;padding:1.2rem .5rem}}.add-member-form,.edit-project-form{background:#fff;background:var(--color-background,#fff);border-radius:1.2rem;box-shadow:0 4px 24px #253d6317;display:flex;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;margin:4rem auto 0;max-width:400px;padding:2.5rem 2rem 2rem;text-align:center}.add-member-form h2,.edit-project-form h2{color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:2rem;font-weight:700;margin-bottom:1.5rem}.add-member-form input,.edit-project-form input{background:#f8fafc;border:1.5px solid #e0e7ef;border-radius:.7rem;color:#2f2f2f;color:var(--color-text,#2f2f2f);font-size:1rem;margin-bottom:1.1rem;padding:.85rem 1rem;transition:border .18s;width:100%}.add-member-form input:focus,.edit-project-form input:focus{border:1.5px solid #2f2f2f;border:1.5px solid var(--color-button-bg,#2f2f2f);outline:none}.add-member-form button,.edit-project-form button[type=submit]{background:#2f2f2f;background:var(--color-button-bg,#2f2f2f);border:none;border-radius:9999px;color:#fff;color:var(--color-button-text,#fff);cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:.5rem;padding:1rem 2.5rem;transition:background .18s}.add-member-form button:hover,.edit-project-form button[type=submit]:hover{background:#1976d2}.edit-project-form button[type=button]{background:#e53935;border:none;border-radius:9999px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:1rem;padding:1rem 2.5rem;transition:background .18s}.edit-project-form button[type=button]:hover{background:#b71c1c}.add-member-form div,.edit-project-form div{color:#1976d2;font-size:1rem;margin-top:1rem}@media (max-width:600px){.add-member-form,.edit-project-form{max-width:98vw;padding:1.2rem .5rem}}.add-project-flex{align-items:flex-start;display:flex;justify-content:center;padding:2rem 0}.add-project-form{background:#fff;border-radius:1.5rem;box-shadow:0 2px 16px #00000012;margin:0 auto;max-width:480px;padding:2.5rem 2rem;width:100%}.add-project-form h2{color:#222;font-size:2rem;font-weight:700;margin-bottom:2rem}.add-project-form input,.add-project-form select,.add-project-form textarea{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.add-project-form input:focus,.add-project-form select:focus,.add-project-form textarea:focus{border-color:#007bff}.add-project-form select{appearance:none;background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%23666" d="M6 8L2 4h8z"/></svg>');background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.add-project-form button[type=submit]{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-transform:none;transition:all .3s ease;width:100%}.add-project-form button[type=submit]:hover{box-shadow:0 6px 16px #007bff66;transform:translateY(-2px)}.add-project-form .message{border-radius:8px;font-size:.95rem;font-weight:500;margin-top:1rem;padding:.75rem 1rem}.add-project-form .message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.add-project-form .message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.select-category{border:1px solid #ccc;border-radius:.5rem;margin-bottom:1rem;padding:.5rem}.remove-resource-btn{background:#e53935;border:none;border-radius:9999px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:1rem;padding:1rem 2.5rem;transition:background .2s}.message{border-radius:5px;font-weight:700;margin-top:15px;padding:10px;text-align:center}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.add-project-group-page{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;margin:48px auto;max-width:700px;padding:40px 36px 32px}.admin-add-header{margin-bottom:32px;text-align:center}.admin-add-header h2{color:#1e293b;font-size:2.1rem;font-weight:700;margin-bottom:8px}.admin-add-header .admin-add-subtitle{color:#64748b;font-size:1.1rem;font-weight:500}.admin-add-form{gap:22px}.admin-add-form,.form-group{display:flex;flex-direction:column}.form-group{gap:7px}.form-group label{color:#334155;font-weight:600;margin-bottom:2px}.form-control{background:#f8fafc;border:1px solid #d1d5db;border-radius:7px;font-size:1rem;padding:10px 12px;transition:border .15s;width:100%}.form-control:focus{background:#fff;border-color:#2563eb;outline:none}.section-block{background:#f1f5f9;border-radius:8px;box-shadow:0 1px 4px #0000000a;margin-bottom:12px;padding:18px 16px 12px;position:relative}.section-block select.form-control{margin-bottom:8px;max-width:180px}.section-block input.form-control[type=text],.section-block textarea.form-control{margin-bottom:8px}.section-block img{border-radius:6px;box-shadow:0 1px 4px #0000000f;display:block;margin-top:6px;max-width:100%}.action-btn.primary{border-radius:7px;margin-top:8px}.action-btn.secondary{background:#e0e7ef;border:none;border-radius:7px;color:#334155;cursor:pointer;font-size:1rem;font-weight:500;margin-left:6px;padding:8px 18px;transition:background .15s}.action-btn.secondary:hover{background:#cbd5e1}.member-search-results{background:#f7f7f7;border-radius:6px;box-shadow:0 1px 4px #00000008;margin-bottom:12px;max-height:180px;overflow-y:auto}.member-search-item{border-bottom:1px solid #ececec;padding:8px 12px;transition:background .15s}.member-search-item:last-child{border-bottom:none}.member-search-item:hover{background:#e6f0ff}.member-email{color:#888;font-size:.95em;margin-left:6px}.selected-members{margin:18px 0 10px}.selected-members-list{display:flex;flex-wrap:wrap;gap:10px}.selected-member-card{align-items:center;background:#f0f4fa;border-radius:6px;box-shadow:0 1px 3px #0000000a;display:flex;font-size:1rem;padding:7px 14px 7px 10px}.selected-member-card button{background:none;border:none;color:#c00;cursor:pointer;font-size:1.2em;margin-left:8px}.no-members{color:#aaa;font-size:.98em}.success-msg{color:#1a7f37}.error-msg,.success-msg{font-weight:600;margin-top:12px}.error-msg{color:#c00}.action-btn.primary{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:18px;padding:10px 22px;transition:background .15s}.action-btn.primary:disabled{background:#b3c6f7;cursor:not-allowed}.join-page{background:#f7f9fc;min-height:80vh;padding:40px 16px}.join-header,.join-page{align-items:center;display:flex;flex-direction:column}.join-header{margin-bottom:32px}.join-logo{aspect-ratio:1.5/1;border-radius:0;box-shadow:none;height:auto;margin-bottom:16px;max-width:400px;object-fit:contain;width:auto}.join-title{color:#1a2a3a;font-size:2.2rem;font-weight:700;margin-bottom:8px}.join-subtitle{color:#4a5a6a;font-size:1.15rem;margin-bottom:16px;text-align:center}.join-form{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000012;display:flex;flex-direction:column;gap:18px;max-width:400px;padding:32px 24px;width:100%}.join-form label{color:#2a3a4a;font-weight:600;margin-bottom:6px}.join-form input,.join-form textarea{background:#f9fbfd;border:1px solid #d0d7e2;border-radius:6px;font-size:1rem;margin-bottom:8px;padding:10px 12px}.join-form textarea{min-height:60px;resize:vertical}.join-btn{background:linear-gradient(90deg,#2b7cff,#1ad1ff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 0;transition:background .2s}.join-btn:hover{background:linear-gradient(90deg,#1a5ad1,#1ad1ff)}.join-success{background:#e8f5e9;color:#2e7d32}.join-error,.join-success{border-radius:6px;font-weight:600;margin-top:18px;padding:12px;text-align:center}.join-error{background:#ffebee;color:#c62828}.privacy-decline-btn{background:linear-gradient(90deg,#e53935,#ff7043)!important;border:none!important;border-radius:8px;box-shadow:0 2px 8px #e5393514;color:#fff!important;font-size:1.05rem;font-weight:600;min-width:110px;transition:background .2s,color .2s}.privacy-decline-btn:hover{background:linear-gradient(90deg,#b71c1c,#e53935)!important;color:#fff!important}.privacy-dialog-actions{display:flex;gap:18px;justify-content:flex-end;padding:18px 28px}.privacy-dialog-actions .MuiButton-root{border-radius:8px;box-shadow:0 2px 8px #0000000a;font-size:1.05rem;font-weight:600;min-width:110px;transition:background .2s,color .2s}.privacy-dialog-actions .MuiButton-secondary{background:linear-gradient(90deg,#f5f7fa,#e3e8ee);border:1px solid #b0b7c3;color:#1976d2}.privacy-dialog-actions .MuiButton-secondary:hover{background:linear-gradient(90deg,#e3e8ee,#f5f7fa);color:#1565c0}.privacy-dialog-actions .MuiButton-containedPrimary{background:linear-gradient(90deg,#1976d2,#42a5f5);border:none;color:#fff}.privacy-dialog-actions .MuiButton-containedPrimary:hover{background:linear-gradient(90deg,#1565c0,#1976d2);color:#fff}.privacy-policy-container{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:64px auto;max-width:900px;overflow:hidden;padding:48px 40px;position:relative}.privacy-policy-container:before{background:linear-gradient(90deg,#374151,#4b5563,#6b7280);content:"";height:3px;left:0;position:absolute;right:0;top:0}.privacy-policy-header{margin-bottom:40px;text-align:center}.privacy-policy-title{color:#111827!important;font-size:2.5rem!important;font-weight:700!important;letter-spacing:-.5px;line-height:1.2!important;margin-bottom:16px!important}.privacy-policy-subtitle{color:#4b5563!important;font-size:1.1rem!important;font-weight:500!important;margin-bottom:4px!important}.privacy-policy-last-updated{color:#6b7280!important;font-size:.9rem!important;font-weight:400!important}.privacy-policy-divider{background-color:#e5e7eb!important;height:1px!important;margin:32px 0!important}.privacy-policy-introduction{background-color:#f9fafb;border-left:4px solid #374151;border-radius:6px;margin-bottom:40px;padding:24px}.privacy-policy-intro-text{color:#1f2937!important;font-size:1.1rem!important;font-weight:400!important;line-height:1.7!important;margin-bottom:0!important}.privacy-policy-section{margin:40px 0;padding:0}.privacy-policy-section-title{border-bottom:2px solid #e5e7eb;color:#111827!important;font-size:1.35rem!important;font-weight:600!important;line-height:1.3!important;margin-bottom:20px!important;padding-bottom:8px}.privacy-policy-subsection{padding-left:8px}.privacy-policy-list{list-style:none;margin:16px 0!important;padding-left:0!important}.privacy-policy-list li{color:#374151;font-size:1rem;line-height:1.6;margin-bottom:8px;padding:8px 0 8px 24px;position:relative}.privacy-policy-list li:before{color:#374151;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.privacy-policy-container p,.privacy-policy-section p{color:#374151!important;font-size:1rem!important;line-height:1.7!important;margin-bottom:16px!important}.privacy-policy-section strong{color:#1f2937;font-weight:600}.privacy-policy-contact{color:#374151!important;cursor:pointer;font-weight:600!important;text-decoration:underline}.privacy-policy-contact:hover{color:#111827!important}.privacy-policy-footer{margin-top:48px;padding-top:24px}.privacy-policy-footer-text{color:#6b7280!important;font-size:.875rem!important;font-style:italic;line-height:1.5!important;text-align:center}@media (max-width:768px){.privacy-policy-container{margin:32px 16px;padding:32px 24px}.privacy-policy-title{font-size:2rem!important}.privacy-policy-section-title{font-size:1.2rem!important}.privacy-policy-introduction{padding:20px}.privacy-policy-intro-text{font-size:1rem!important}}@media (max-width:480px){.privacy-policy-container{margin:16px 8px;padding:24px 16px}.privacy-policy-title{font-size:1.75rem!important}.privacy-policy-section-title{font-size:1.1rem!important}.privacy-policy-list li{padding-left:20px}}@media print{.privacy-policy-container{border:1px solid #000;box-shadow:none;margin:0;padding:20px}.privacy-policy-container:before{display:none}.privacy-policy-section-title,.privacy-policy-title{color:#000!important}.privacy-policy-contact{color:#000!important;text-decoration:none}}.projectgroup-section-paragraph{color:#222;font-size:1.15rem;font-weight:400;letter-spacing:.01em;line-height:1.7;margin:0 0 1.5rem;text-align:left}.projectgroup-section-image{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:block;margin:10px 0 2px;max-width:340px;width:100%}.projectgroup-section-content-row{background:none;border:none;border-radius:0;box-shadow:none;display:block;margin-bottom:32px;padding:0;width:100%}.projectgroup-section-content-row.image-row{align-items:center;display:flex;justify-content:center}.projectgroup-container{background:#fff;border-radius:18px;box-shadow:0 2px 16px 0 #00000012;margin:0 auto;max-width:900px;padding:2.5rem 1rem 3rem}.projectgroup-hero{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2.5rem;margin-bottom:2.5rem}.projectgroup-hero-content{flex:1 1 320px}.projectgroup-hero-image{align-items:center;display:flex;flex:0 0 320px;justify-content:center}.projectgroup-hero-image img{border-radius:14px;box-shadow:0 2px 8px 0 #0000000f;max-width:320px}.projectgroup-category{color:#1976d2;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.projectgroup-description{color:#333;font-size:1.18rem;margin-bottom:1.2rem}.projectgroup-sections{margin-bottom:2.2rem}.projectgroup-section{margin-bottom:1.3rem}.projectgroup-section img{border-radius:8px;margin:12px 0;max-width:220px}.projectgroup-members-section{background:var(--color-background-gray);border-radius:18px;margin-top:2.5rem;padding:3rem 2rem;position:relative}.projectgroup-members-title{color:var(--color-text);font-size:2.2rem;font-weight:800;letter-spacing:-1px;margin-bottom:1.2rem;text-align:center}.projectgroup-members-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-items:center;margin:3rem auto 0;max-width:1000px}.projectgroup-member-card{align-items:center;background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 1px 3px #00000005,0 4px 12px #00000008,0 12px 24px #00000005;display:flex;flex-direction:column;justify-content:flex-start;max-width:300px;overflow:hidden;padding:2.5rem 2rem;position:relative;text-align:center;transition:box-shadow .2s,border-color .2s,transform .2s;width:100%;z-index:2}.projectgroup-member-card:hover{border-color:#e0e7ff;box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.projectgroup-member-image{background:#fff;border:2px solid #f5f5f5;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:block;height:120px;margin:0 auto 1.25rem;object-fit:cover;transition:all .2s ease;width:120px}.projectgroup-member-card:hover .projectgroup-member-image{border-color:#e8e8e8;box-shadow:0 4px 12px #00000014}.projectgroup-member-name{color:#2c3e50;font-size:1.2rem;font-weight:600;letter-spacing:-.2px;line-height:1.4;margin-bottom:.25rem}.projectgroup-member-role{color:#6c757d;font-size:.9rem;font-weight:500;letter-spacing:.2px;line-height:1.4;margin:0 0 1rem;text-transform:capitalize}.projectgroup-error{color:#b00020;margin:1.5rem 0}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-main-content{flex:1 0 auto}
/*# sourceMappingURL=main.2d7e6d6e.css.map*/