@import 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap';:root{--color-steel-blue:#4A7C9C;--color-charcoal:#2C3E50;--color-glacier-blue:#5DADE2;--color-slate:#546E7A;--color-off-white:#FAFAFA;--color-bg:var(--color-off-white);--color-text:var(--color-charcoal);--color-text-secondary:var(--color-slate);--color-accent:var(--color-glacier-blue);--color-primary:var(--color-steel-blue);--color-border:rgba(44, 62, 80, 0.12);--font-family:'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:6rem;--max-width:1100px;--content-width:640px;--transition:200ms ease}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:1.0625rem;font-weight:400;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:600;line-height:1.3;margin:0 0 var(--space-sm);color:var(--color-text);letter-spacing:-.01em}h1{font-size:2.5rem;font-weight:500;letter-spacing:-.02em}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}p{margin:0 0 var(--space-sm)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}main{flex:1;display:flex;flex-direction:column}header{padding:var(--space-md)0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.logo{display:flex;align-items:center;gap:.75rem;font-weight:500;font-size:1.125rem;letter-spacing:-.01em}.logo:hover .logo-text-primary,.logo:hover .logo-text-secondary{opacity:.8}.logo-mark{display:flex;align-items:center;flex-shrink:0}.logo-mark img{height:36px;width:auto}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-text-primary{color:var(--color-charcoal);font-weight:600;font-size:1.1em}.logo-text-secondary{color:var(--color-charcoal);font-weight:400;font-size:.75em;letter-spacing:.02em}nav{display:none}nav ul{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-md)}nav a{font-size:.9375rem;font-weight:500;color:var(--color-text-secondary)}nav a:hover{color:var(--color-text)}.hero{padding:var(--space-lg)0 var(--space-md)}.hero-content{max-width:var(--content-width)}.hero h1{margin-bottom:var(--space-sm)}.hero-tagline{font-size:1.25rem;color:var(--color-text-secondary);line-height:1.6;max-width:520px}.mission{padding:var(--space-lg)0}.mission-layout{display:flex;align-items:flex-end;gap:var(--space-lg)}.mission-content{max-width:var(--content-width);flex:1}.mission-logo{display:none;width:250px;justify-content:center}@media(min-width:900px){.mission-logo{display:flex}}.mission-logo img{width:180px;height:auto;opacity:.15}.mission h2{margin-bottom:var(--space-sm);color:var(--color-text);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.about-text{font-size:1.125rem;color:var(--color-text);opacity:.85;line-height:1.8}.about-text p{margin-bottom:var(--space-sm)}.about-text p:last-child{margin-bottom:0}.values{padding:var(--space-lg)0;border-top:1px solid var(--color-border)}.values>.container>h2{margin-bottom:var(--space-md);color:var(--color-text);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.value-card{padding:var(--space-md);background-color:rgba(74,124,156,2%);border-radius:4px;border:1px solid rgba(74,124,156,4%);transition:background-color var(--transition),border-color var(--transition)}.value-card:hover{background-color:rgba(74,124,156,3%);border-color:rgba(74,124,156,6%)}.value-card h3{color:var(--color-text);margin-bottom:var(--space-xs);font-size:1rem}.value-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}footer{padding:var(--space-lg)0 0;margin-top:auto;position:relative;overflow:hidden}.footer-inner{display:flex;flex-direction:column;gap:.25rem;position:relative;z-index:1;padding-bottom:var(--space-md)}.footer-brand{font-size:.8125rem;font-weight:400;color:var(--color-text-secondary);letter-spacing:.02em}.footer-link{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition)}.footer-link:hover{color:var(--color-text)}.footer-copyright{font-size:.8125rem;color:var(--color-text);margin-top:var(--space-sm);opacity:.85}.footer-mountain{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:800px;opacity:.07;pointer-events:none;z-index:0}.footer-mountain img{display:block;width:100%;height:auto}.about-page{padding:var(--space-lg)0}.about-content{display:grid;grid-template-columns:300px 1fr;gap:var(--space-lg);align-items:center;max-width:var(--max-width)}.about-image{align-self:center}.about-image img{width:100%;max-width:300px;height:auto;border-radius:4px;opacity:.95;filter:saturate(.8)}.about-text{max-width:var(--content-width)}.about-text p{font-size:1.0625rem;line-height:1.8;color:var(--color-text);margin-bottom:var(--space-md)}.about-text p:last-child{margin-bottom:0}.email-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition);cursor:pointer}.email-link:hover{color:var(--color-accent)}.error-404{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)0}.error-404-content{text-align:center;max-width:600px}.error-404-hermine{margin-bottom:var(--space-md);position:relative;display:inline-block}.error-404-hermine img{width:100%;max-width:300px;height:auto;opacity:.9;display:block}.error-404-questions{position:absolute;top:-50px;left:50%;transform:translateX(-20%);display:flex;gap:1rem;z-index:1}.question-mark{font-size:3rem;font-weight:700;color:var(--color-charcoal);opacity:.75;display:inline-block}.question-mark-1{animation:float-confused 2.5s ease-in-out infinite}.question-mark-2{animation:float-confused 2.5s ease-in-out .5s infinite}@keyframes float-confused{0%,100%{transform:translateY(0)rotate(-5deg)}25%{transform:translateY(-8px)rotate(5deg)}50%{transform:translateY(-4px)rotate(-3deg)}75%{transform:translateY(-10px)rotate(3deg)}}.error-404-message{margin-bottom:var(--space-md)}.error-404-message p{font-size:1.25rem;line-height:1.7;color:var(--color-text);opacity:.85;margin:0}.error-404-link{margin-top:var(--space-md)}.error-404-link a{font-size:1rem;font-weight:500;color:var(--color-primary);text-decoration:none;transition:color var(--transition);border-bottom:1px solid var(--color-primary);padding-bottom:2px}.error-404-link a:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.projects{padding:var(--space-lg)0;background-color:rgba(74,124,156,3%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.projects>.container>h2{margin-bottom:var(--space-md);color:var(--color-text);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.projects>.container>h2 a{color:inherit;text-decoration:none}.projects>.container>h2 a:hover{color:var(--color-accent)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.project-card{display:flex;flex-direction:column;padding:var(--space-md);background-color:rgba(255,255,255,.6);border-radius:4px;border:1px solid rgba(74,124,156,8%);border-top:2px solid var(--color-accent);transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition);text-decoration:none;color:inherit}.project-card:hover{background-color:rgba(93,173,226,5%);border-color:rgba(93,173,226,.15);border-top-color:var(--color-accent);box-shadow:0 2px 8px rgba(74,124,156,8%);color:inherit}.project-card-thumbnail{margin-bottom:var(--space-sm);overflow:hidden}.project-card-thumbnail img{display:block;width:100%;max-height:200px;object-fit:contain}.project-card-info h2,.project-card-info h3{color:var(--color-primary);margin-bottom:var(--space-xs);font-size:1rem}.project-card:hover .project-card-info h2,.project-card:hover .project-card-info h3{color:var(--color-accent)}.project-card-info p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.project-page{padding:var(--space-lg)0}.project-page-content{max-width:var(--max-width)}.project-header{margin-bottom:var(--space-md)}.project-hero-image{background-color:rgba(74,124,156,3%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-md);margin-bottom:var(--space-md);text-align:center}.project-hero-image img{display:inline-block;max-width:100%;max-height:400px;height:auto;object-fit:contain}.project-header h1{margin-bottom:var(--space-xs)}.project-header time{font-size:.875rem;color:var(--color-text-secondary)}.project-body{font-size:1.0625rem;line-height:1.8}.project-body h2{margin-top:var(--space-md);margin-bottom:var(--space-sm)}.project-body h3{margin-top:var(--space-md);margin-bottom:var(--space-sm)}.project-body img{max-width:100%;height:auto;border-radius:4px;margin:var(--space-md)0}.project-body blockquote{margin:var(--space-md)0;padding:var(--space-md);text-align:center;border:none;background-color:rgba(74,124,156,3%);border-radius:4px;color:var(--color-primary);font-size:1.125rem;font-weight:500;line-height:1.7}.project-body blockquote p{margin:0}.project-body ul,.project-body ol{padding-left:1.5em;margin-bottom:var(--space-sm)}.project-tags{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex;gap:var(--space-xs);flex-wrap:wrap}.project-tag{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);background-color:rgba(74,124,156,6%);padding:.25em .75em;border-radius:3px;transition:background-color var(--transition),color var(--transition)}.project-tag:hover{background-color:rgba(74,124,156,.1);color:var(--color-text)}.project-body table{width:100%;border-collapse:collapse;margin:var(--space-md)0;font-size:.9375rem}.project-body th,.project-body td{padding:var(--space-xs)var(--space-sm);border:1px solid var(--color-border);text-align:left}.project-body th{font-weight:600;background-color:rgba(74,124,156,3%)}.project-body tr:hover td{background-color:rgba(74,124,156,3%)}.project-hub-summary{font-size:1.125rem;color:var(--color-text);opacity:.85;line-height:1.8;margin-bottom:var(--space-md)}.project-artifacts{margin-top:var(--space-md)}.project-artifacts h2{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.artifact-list{display:flex;flex-direction:column;gap:var(--space-sm)}.artifact-card{display:block;padding:var(--space-md);background-color:rgba(74,124,156,2%);border-radius:4px;border:1px solid rgba(74,124,156,4%);border-left:3px solid var(--color-accent);text-decoration:none;color:inherit;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}.artifact-card:hover{background-color:rgba(93,173,226,5%);border-color:rgba(93,173,226,.15);border-left-color:var(--color-accent);box-shadow:0 2px 8px rgba(74,124,156,8%);color:inherit}.artifact-card-info h3{color:var(--color-primary);margin-bottom:.25rem;font-size:1rem}.artifact-card:hover .artifact-card-info h3{color:var(--color-accent)}.artifact-card-info time{display:block;font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.artifact-card-info p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.projects-listing{padding:var(--space-lg)0}.projects-listing h1{margin-bottom:var(--space-md)}.term-page{padding:var(--space-lg)0}.term-header{margin-bottom:var(--space-md)}.term-header h2{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.term-header h1{margin-bottom:var(--space-xs)}.term-count{font-size:.875rem;color:var(--color-text-secondary);margin:0}.taxonomy-page{padding:var(--space-lg)0}.taxonomy-header{margin-bottom:var(--space-md)}.taxonomy-list{display:flex;flex-direction:column;gap:1px}.taxonomy-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm)var(--space-md);background-color:rgba(74,124,156,2%);border-radius:4px;text-decoration:none;color:inherit;transition:background-color var(--transition)}.taxonomy-item:hover{background-color:rgba(93,173,226,5%);color:inherit}.taxonomy-item-name{font-weight:500;color:var(--color-primary)}.taxonomy-item:hover .taxonomy-item-name{color:var(--color-accent)}.taxonomy-item-count{font-size:.8125rem;color:var(--color-text-secondary)}.mermaid-container{position:relative}.mermaid-expand-btn{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:4px;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity var(--transition),color var(--transition),border-color var(--transition)}.mermaid-container:hover .mermaid-expand-btn{opacity:1}.mermaid-expand-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}#mermaid-dialog{border:none;border-radius:4px;background:var(--color-bg);padding:var(--space-md);max-width:95vw;max-height:95vh;width:auto;height:auto;overflow:auto}#mermaid-dialog::backdrop{background:rgba(44,62,80,.5)}.mermaid-dialog-content{display:flex;align-items:center;justify-content:center;min-width:60vw;min-height:50vh}.mermaid-dialog-content svg{max-width:90vw;max-height:85vh}.mermaid-dialog-close{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:4px;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;transition:color var(--transition),border-color var(--transition)}.mermaid-dialog-close:hover{color:var(--color-primary);border-color:var(--color-primary)}.carousel{position:relative;background-color:rgba(74,124,156,3%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-md);margin:var(--space-md)0}.carousel-slides{position:relative}.carousel-slide{display:none;text-align:center}.carousel-slide-active{display:block}.carousel-slide img{max-width:100%;max-height:450px;height:auto;object-fit:contain;border-radius:4px;margin:0 auto;display:block}.carousel-caption{margin:var(--space-sm)0 0;font-size:.875rem;color:var(--color-text-secondary);text-align:center}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(calc(-50% - 1rem));width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),border-color var(--transition);padding:0}.carousel-prev{left:var(--space-xs)}.carousel-next{right:var(--space-xs)}.carousel-prev:hover,.carousel-next:hover{color:var(--color-primary);border-color:var(--color-primary)}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:var(--space-sm)}.carousel-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--color-text-secondary);background:0 0;padding:0;cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.carousel-dot-active{background-color:var(--color-primary);border-color:var(--color-primary)}.carousel-dot:hover{border-color:var(--color-primary)}.carousel-expand-btn{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:4px;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity var(--transition),color var(--transition),border-color var(--transition)}.carousel:hover .carousel-expand-btn{opacity:1}.carousel-expand-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}#carousel-dialog{border:none;border-radius:4px;background:var(--color-bg);padding:0;max-width:95vw;max-height:95vh;width:95vw;height:95vh;overflow:hidden}#carousel-dialog::backdrop{background:rgba(44,62,80,.5)}.carousel-dialog-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-md)}.carousel-dialog-slides{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0}.carousel-dialog-slide{display:none;text-align:center;width:100%}.carousel-dialog-slide-active{display:flex;flex-direction:column;align-items:center;justify-content:center}.carousel-dialog-slide img{max-width:100%;max-height:calc(95vh - 8rem);height:auto;object-fit:contain;border-radius:4px}.carousel-dialog-slide .carousel-caption{margin:var(--space-sm)0 0}.carousel-dialog-prev,.carousel-dialog-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),border-color var(--transition);padding:0}.carousel-dialog-prev{left:var(--space-sm)}.carousel-dialog-next{right:var(--space-sm)}.carousel-dialog-prev:hover,.carousel-dialog-next:hover{color:var(--color-primary);border-color:var(--color-primary)}.carousel-dialog-dots{margin-top:var(--space-sm);flex-shrink:0}.carousel-dialog-close{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:4px;background-color:rgba(255,255,255,.85);color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;transition:color var(--transition),border-color var(--transition)}.carousel-dialog-close:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:768px){:root{--space-lg:3rem;--space-xl:4rem}h1{font-size:2rem}.header-inner{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}nav ul{gap:var(--space-sm)}.values-grid{grid-template-columns:1fr;gap:var(--space-md)}.projects-grid{grid-template-columns:1fr}.hero-tagline{font-size:1.125rem}.error-404-hermine img{max-width:240px}.question-mark{font-size:2.25rem}.error-404-questions{top:-30px;gap:.75rem}.error-404-message p{font-size:1.125rem}.about-content{grid-template-columns:1fr;gap:var(--space-md)}.about-image{position:static;order:2}.about-text{order:1}.about-image img{max-width:240px;margin:0 auto;display:block}.mermaid-expand-btn,.carousel-expand-btn{opacity:1}}