:root{--bg: #111;--fg: #f5f5f5;--muted: #aaa;--accent: #d3d3d3;--gold: #ffc468;--card-paper: #fffef9;--header-height: 56px}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);overflow-x:hidden}h1,h2,h3,h4,h5,h6,p{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.1rem;line-height:1.4}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#0d0d0d}*::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px;border:2px solid #0d0d0d}*::-webkit-scrollbar-thumb:hover{background:#3a3a3a}*{scrollbar-width:thin;scrollbar-color:#2a2a2a #0d0d0d}body{font-family:system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;min-height:100vh;padding-top:var(--header-height);opacity:1!important}main{flex:1;padding-bottom:120px}header{position:fixed;top:0;left:0;right:0;z-index:6;padding:.35rem .75rem;background:#111;border-bottom:1px solid #222;display:flex;justify-content:center;min-height:var(--header-height)}body.hero-overlap header,header.header--overlap{background:linear-gradient(180deg,#11111114,#11111105);border-bottom:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.hero-overlap .landing-hero{height:100vh}header.header--opaque{background:#111;border-bottom:1px solid #222}header.header--overlap{background:linear-gradient(180deg,#1111111f,#11111105)!important;border-bottom:none!important}body.hero-overlap header,body.hero-overlap nav{background:transparent!important}body.nav-open header,body.nav-open nav{background:#111!important;border-bottom:1px solid #222;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:640px){.nav-menu a[href="/showcase"]{display:none}}.landing-hero__progress{position:absolute;left:50%;transform:translate(-50%);bottom:1rem;width:36%;max-width:420px;height:6px;background:#ffffff0a;border-radius:6px;overflow:hidden;z-index:2;transition:opacity .3s ease,visibility .3s ease}.landing-hero__progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.18));transition:width .3s linear}.landing-hero__progress.done{opacity:0;visibility:hidden}footer{padding:2rem 1rem;position:relative;z-index:101;background:#111111e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid #222;margin-top:auto}.footer-content{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:56px}.footer-links{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--fg);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--accent)}footer small{color:var(--muted);font-size:.875rem}.footer-admin{color:#555;text-decoration:none;font-size:.75rem;margin-top:.5rem;opacity:.5;transition:opacity .2s ease}.footer-admin:hover{opacity:.8}nav{position:relative;z-index:7;display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.35rem .75rem;width:100%;max-width:1100px}nav .logo{font-weight:700;text-decoration:none;white-space:nowrap;display:flex;align-items:center;justify-content:center}.site-logo-text{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;font-family:Playfair Display,serif;letter-spacing:.05em}.site-logo-first{font-size:1.3rem;font-weight:700;color:var(--accent);letter-spacing:.08em}.site-logo-second{font-size:1.1rem;font-weight:400;color:var(--accent);letter-spacing:.12em;margin-top:-.15rem}.nav-toggle{display:none;background:transparent;border:1px solid #333;color:var(--fg);font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.nav-menu{display:flex;gap:1rem;align-items:center}.nav-links{display:flex;gap:1rem}nav a{color:var(--fg);text-decoration:none}nav a:hover{color:var(--accent)}nav a.active{color:var(--accent);font-weight:500;border-bottom:2px solid var(--gold);padding-bottom:.1rem}.lang-switcher{display:flex;gap:.25rem}.lang-btn{background:transparent;color:var(--muted);border:1px solid #333;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.lang-btn:hover{color:var(--fg);border-color:var(--accent)}.lang-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}@media(max-width:768px){header{padding:.28rem .6rem}nav{justify-content:space-between;padding:.6rem}.nav-toggle{display:block;padding:.5rem .75rem;font-size:1.35rem}.nav-menu{position:fixed;top:calc(var(--header-height) - 1px);left:50%;right:auto;align-items:center;background:#111111fe;border-bottom:1px solid #222;flex-direction:column;gap:.3rem;padding:1rem .9rem 1.25rem;width:100vw;max-width:100vw;transform:translate(-50%);margin:0;max-height:0;text-align:center;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .3s ease,visibility .3s ease;z-index:5}.nav-menu.open{max-height:420px;opacity:1;visibility:visible}.nav-links{flex-direction:column;width:100%;gap:.4rem;align-items:center}.nav-menu a{top:calc(var(--header-height) - 8px);padding:.7rem .6rem;font-size:1.05rem;border-radius:8px;text-align:center;border:none}.nav-menu a.active{color:var(--gold);font-weight:500;border-bottom:none;padding-bottom:.7rem}.lang-switcher{width:100%;justify-content:flex-start;margin-top:.15rem;align-self:flex-start;gap:.5rem}.lang-btn{padding:.5rem .75rem;font-size:.95rem}.footer-admin{display:none}}@media(max-width:640px){.nav-menu a[href*="view=showcase"]{display:none}}main>section{opacity:1;transition:opacity .15s ease-in-out}main>section[hidden]{display:none!important}#showcase-view{padding:0;min-height:110vh;position:relative}#showcase{position:absolute;top:0;left:0;width:100vw;height:100%;min-height:100vh;border:none;margin:0;z-index:1;will-change:transform;pointer-events:none}#showcase canvas{pointer-events:auto}.showcase-controls{position:fixed;left:50%;transform:translate(-50%);bottom:1.5rem;z-index:102;pointer-events:auto;max-width:min(1100px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;transition:bottom .15s ease}.showcase-controls.collapsed{bottom:calc(1.5rem + 60px);z-index:99}.showcase-controls .controls-card{background:#111111e6;border:1px solid #333;border-radius:8px;padding:.5rem;color:var(--fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:200px;display:grid;gap:.3rem}.showcase-controls h3{margin:0;font-size:.85rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem}.showcase-controls .toggle-arrow{transition:transform .2s ease;font-size:.7rem}.showcase-controls.collapsed .toggle-arrow{transform:rotate(180deg)}.showcase-controls.collapsed #projector-controls{display:none}#projector-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}@media(max-width:1024px){#projector-controls{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){#projector-controls{grid-template-columns:1fr}}.projector-control{display:grid;grid-template-columns:auto 1fr;gap:.1rem;align-items:center;padding:.3rem;background:#ffffff0d;border-radius:4px;max-height:33vh;overflow-y:auto}.projector-control h4{margin:0;grid-column:1 / -1;margin-bottom:.15rem}.projector-control label{font-size:.7rem;color:var(--muted);grid-column:1 / -1;margin:0}.projector-control h4+label{margin-top:0}.projector-control input[type=color]{width:100%;height:24px;border:1px solid #444;border-radius:4px;cursor:pointer;grid-column:1 / -1}.projector-control input[type=range]{width:100%;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.projector-control input[type=range]::-webkit-slider-track{background:#333;height:6px;border-radius:3px}.projector-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 0 8px #ffc46880}.projector-control input[type=range]::-moz-range-track{background:#333;height:6px;border-radius:3px}.projector-control input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 0 8px #ffc46880}.projector-control span{text-align:right;font-size:.75rem;color:var(--accent);font-weight:600}.showcase-controls label{font-size:.9rem;display:grid;gap:.25rem}.showcase-controls select{background:#1a1a1a;color:var(--fg);border:1px solid #333;border-radius:8px;padding:.35rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.front-grid{display:grid;gap:1rem;grid-template-columns:repeat(var(--front-desktop, 4),minmax(0,1fr));transition:opacity .25s cubic-bezier(.22,.61,.36,1),transform .25s cubic-bezier(.22,.61,.36,1)}@media(max-width:1024px){.front-grid{grid-template-columns:repeat(var(--front-tablet, 3),minmax(0,1fr))}}@media(max-width:820px){.front-grid{grid-template-columns:repeat(var(--front-small-tablet, 2),minmax(0,1fr))}}@media(max-width:640px){.front-grid{grid-template-columns:repeat(var(--front-mobile, 1),minmax(0,1fr))}}.project-card,.gallery-card{position:relative;border:1px solid #222;border-radius:12px;overflow:hidden;background:#151515;transition:transform .25s cubic-bezier(.22,.61,.36,1),border-color .25s ease,box-shadow .25s ease;will-change:transform}.project-card:hover,.gallery-card:hover{transform:translateY(-4px);border-color:#444;box-shadow:0 8px 24px #0006}.project-card__link{color:inherit;text-decoration:none;display:block;height:100%}.project-thumb,.gallery-thumb{aspect-ratio:var(--project-thumb-aspect, 1 / 1);min-height:200px;overflow:hidden}.project-thumb img,.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;filter:blur(10px);transition:opacity .3s ease,filter .3s ease}.project-thumb img.loaded,.gallery-thumb img.loaded{opacity:1;filter:none}.project-card__body,.gallery-card__body{padding:.75rem .85rem 2.5rem;display:flex;flex-direction:column;gap:.65rem;align-items:center;text-align:center;min-height:160px}.project-card__meta{position:absolute;bottom:1rem;left:.85rem;right:.85rem;display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--muted);padding-top:.5rem}.project-card__meta span:not(.pill){font-size:.75rem;font-style:italic;white-space:nowrap}.project-card__body h3{color:var(--fg);font-size:clamp(.9rem,2vw + .4rem,1.1rem);margin:0;white-space:normal}.pill{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:#222;border:1px solid #333;font-size:.78rem;color:var(--fg);line-height:1.3;text-align:center;word-break:keep-all;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:0 0 auto;max-width:65%}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.front-hero{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 1rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.about-profile-row{display:grid;grid-template-columns:clamp(160px,28vw,320px) 1fr;gap:1.25rem;align-items:start;margin-top:.75rem}.about-profile-img{width:100%;height:auto;border-radius:12px;object-fit:cover;display:block;max-height:420px;min-height:220px;aspect-ratio:3 / 4;background-color:#0a0a0a;background-image:url(/images/collaborator/person1.svg);background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 8px 30px #00000073}.about-profile-img.img--broken{opacity:.9;filter:grayscale(.5) contrast(.95)}.about-profile-text{display:grid;gap:.85rem}.about-profile-caption{color:var(--muted);font-size:.95rem;margin:0}.about-social-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.badge{display:inline-flex;gap:.45rem;align-items:center;padding:.35rem .6rem;border-radius:999px;background:#111;border:1px solid #222;color:var(--fg);text-decoration:none;font-size:.9rem}.badge:hover{border-color:var(--accent);background:#141414;color:var(--fg)}.badge:focus,.badge:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}.btn-download svg{margin-right:.5rem;vertical-align:text-bottom}@media(max-width:820px){.about-profile-row{grid-template-columns:1fr;justify-items:center;text-align:left}.about-profile-text{align-items:flex-start;text-align:left}.about-profile-caption{text-align:left}.about-social-badges{justify-content:center}.about-profile-img{width:clamp(160px,48vw,260px);max-height:none}}.landing-hero{width:100%;height:calc(100vh - var(--header-height));margin:0;padding:0;position:relative;display:grid;align-items:stretch}.landing-hero__media{position:absolute;inset:0;overflow:hidden;border-radius:0}.landing-hero__video{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.05) brightness(.65)}.landing-hero--no-video .landing-hero__video{display:none}.landing-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000 60%,#0009)}.landing-hero__content{position:relative;z-index:1;width:100%;height:100%;max-width:none;margin:0;padding:0 0 33%;border:none;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.hero-center{position:relative;z-index:10;text-align:center;padding:0}.hero-title{margin:0;font-size:clamp(2.5rem,8vw,6rem);line-height:1;letter-spacing:-.02em;font-family:Playfair Display,Georgia,Times,serif;font-weight:400;font-style:normal;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6)}.landing-hero__copy{position:relative;z-index:5;text-align:center;margin-top:clamp(1rem,4vw,2rem);max-width:700px;padding:0 clamp(1rem,3.2vw,3.2rem)}.landing-hero__lede{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6;margin:0 0 1.5rem;color:#ffffffbf}.landing-hero__actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.hero-down{margin-top:clamp(1rem,4vw,2.25rem);background:transparent;border:none;color:#fffffff2;display:inline-flex;align-items:center;justify-content:center;padding:.45rem;border-radius:999px;cursor:pointer;will-change:transform,opacity;transform:translateZ(0);-webkit-font-smoothing:antialiased;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:opacity .22s ease,transform .22s cubic-bezier(.22,.61,.36,1);animation:heroDownFloat 1.6s cubic-bezier(.2,.9,.2,1) infinite}.hero-down svg{display:block;width:20px;height:20px;stroke-width:2;shape-rendering:geometricPrecision}.hero-down--hidden{opacity:0;pointer-events:none;transform:translateY(4px);animation:none}@keyframes heroDownFloat{0%{transform:translateY(0)}50%{transform:translateY(8px)}to{transform:translateY(0)}}.landing-section-header{display:grid;gap:.25rem}.hero-spacer{height:4rem;background:transparent}.landing-highlights{margin-top:max(20rem,50px);padding-top:6rem;border-top:none;background:transparent}.landing-highlight-list{margin-top:24px}.highlight-item{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.highlight-item:last-child{border-bottom:none}.highlight-thumb{position:relative;width:100%;height:200px;max-height:240px;background-size:cover;background-position:center;margin-bottom:.75rem;border-radius:8px;overflow:hidden;transition:max-height .3s ease}.highlight-thumb:has(.highlight-desc.expanded){max-height:none;height:auto;min-height:200px}.highlight-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#000000e6,#000000b3,#00000080 60%,#0000004d,#0000);pointer-events:none}.highlight-overlay{position:absolute;top:0;left:0;right:0;color:#fff;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-shadow:0 1px 3px rgba(0,0,0,.8);transition:height .3s ease;max-width:100%;box-sizing:border-box}.highlight-thumb:has(.highlight-desc.expanded) .highlight-overlay{position:relative;padding-bottom:3rem}.highlight-overlay h3{font-size:1.5rem;line-height:1.2;margin:0}.highlight-overlay h3 a{color:inherit;text-decoration:none}.highlight-item h3{margin:0 0 .5rem;font-size:1.3rem}.highlight-item h3,.highlight-item h3 a{color:inherit;text-decoration:none}.highlight-link{display:block;color:inherit}.highlight-place{position:absolute;bottom:.5rem;right:1rem;font-style:italic;margin:0}.highlight-meta{font-size:.9rem;margin-bottom:.5rem}.highlight-meta .pill{margin-right:.5rem}.highlight-place,.highlight-desc{margin:.25rem 0;font-size:1rem}.highlight-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;max-height:4.5em;line-height:1.5;transition:max-height .3s ease;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;width:100%;max-width:100%;box-sizing:border-box;padding-right:1rem}.highlight-desc.expanded{-webkit-line-clamp:unset;line-clamp:unset;max-height:50em}.highlight-expand-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.25rem .5rem;margin-top:.25rem;font-size:.85rem;display:none;align-items:center;gap:.25rem;text-shadow:0 1px 3px rgba(0,0,0,.8);transition:opacity .2s}.highlight-expand-btn.show{display:inline-flex}.highlight-expand-btn:hover{opacity:.8}.highlight-expand-btn svg{width:12px;height:12px;transition:transform .3s ease}.highlight-expand-btn.expanded svg{transform:rotate(180deg)}.landing-highlights .landing-highlight-list{display:block}.landing-hero{padding-bottom:8rem}.landing-section-header{display:grid;grid-template-columns:1fr auto;align-items:start;gap:2rem;margin-bottom:1.5rem}.landing-section-header__title h2{font-size:2.2rem;line-height:1.2;margin:0 0 .75rem}.landing-section-header__title p{max-width:42rem;font-size:1.05rem;line-height:1.6;margin:0}.landing-section-header__actions{padding-top:.25rem}@media(max-width:768px){.landing-section-header{grid-template-columns:1fr;gap:1.25rem}.landing-section-header__actions{padding-top:0}}.landing-highlights__footer{display:flex;justify-content:flex-end}@media(max-width:640px){.landing-hero{min-height:calc(100svh - var(--header-height));padding:.9rem;align-items:end}.landing-hero__content{padding:.25rem .1rem;justify-content:flex-end;padding-bottom:20%}.landing-hero__layout{grid-template-columns:1fr}.landing-hero__aside{display:none}.landing-hero__title{font-size:clamp(2.2rem,8vw,3.2rem)}.landing-hero__kicker{font-size:.78rem}}@media(min-width:641px)and (max-width:1024px){.landing-hero{align-items:center}.landing-hero__layout{grid-template-columns:1.05fr .95fr}}@media(min-width:1200px){.landing-hero__content{padding:3.2rem}.landing-hero__stack{max-width:620px}}.contact-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:center;justify-items:center;min-height:calc(100svh - var(--header-height))}.business-card-section{position:relative;width:100%;min-height:calc(100vh - var(--header-height));margin:0;padding:0}.business-card-section__stage{position:absolute;inset:0;background:#0a0a0a;pointer-events:auto;z-index:0}.contact-stage{grid-column:1 / -1;position:relative;width:100%;margin-left:0;min-height:calc(100svh - var(--header-height));display:grid;place-items:center;align-items:center;justify-items:center;overflow:visible;z-index:0}.contact-stage .business-card-root{justify-self:center;align-self:center}.contact-bg{position:absolute;inset:0;z-index:0;pointer-events:none;width:100%;height:100%}.business-card-root{position:relative;z-index:1;width:min(720px,92vw);min-width:360px;height:min(560px,calc(100vh - 6rem));margin:0 auto;display:flex;align-items:center;justify-content:center}.business-card{font-family:system-ui,Segoe UI,Roboto,sans-serif;--card-bg: var(--card-paper);--card-border: rgba(0, 0, 0, .08);--card-shadow: 0 18px 48px rgba(2, 6, 10, .18);position:relative;display:block;width:100%;height:auto;max-width:720px;aspect-ratio:3.5 / 2;perspective:1400px;-webkit-perspective:1400px}.business-card__inner{width:100%;height:100%;position:relative;--card-thickness: 2px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .72s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease;border-radius:14px;box-shadow:var(--card-shadow);background:transparent;border:none;overflow:visible;color:#111;transform-origin:center center;will-change:transform}.business-card__inner:before{content:"";position:absolute;inset:0;border-radius:14px;background:linear-gradient(180deg,#94a7ba73,#788ea559);transform:translateZ(calc(var(--card-thickness) * -.5));-webkit-transform:translateZ(calc(var(--card-thickness) * -.5));pointer-events:none}.business-card__inner.is-flipped{transform:rotateY(180deg)}.business-card__face{position:absolute;inset:0;display:grid;grid-template-columns:1fr minmax(200px,auto);gap:1rem;padding:clamp(1rem,2.4vw,1.6rem);background:linear-gradient(180deg,var(--card-bg),#f4efe6);border:1px solid var(--card-border);border-radius:14px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:center center;z-index:1;pointer-events:none;isolation:isolate}.business-card__face--front{z-index:2;pointer-events:auto;transform:rotateY(0) translateZ(calc(var(--card-thickness) * .5))}.business-card__face--back{transform:rotateY(180deg) translateZ(calc(var(--card-thickness) * .5));z-index:1;pointer-events:none}.business-card.is-flipped .business-card__face--front{z-index:1;pointer-events:none}.business-card.is-flipped .business-card__face--back{z-index:2;pointer-events:auto}.business-card__content{color:#111;display:flex;flex-direction:column;justify-content:flex-start;gap:.4rem}.business-card__visual{display:flex;flex-direction:column;gap:.8rem;align-items:center;justify-content:space-between}.business-card__logo{width:100px;height:auto;opacity:.95;display:block;margin:0}.business-card__name{margin:0 0 .15rem;font-weight:700;font-size:1.35rem;color:#111}.business-card__tagline{color:#666;margin:0 0 .5rem;font-weight:500;font-size:.8rem}.business-card__rows{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.business-card__label{color:#666;font-size:.75rem;font-weight:500;margin-right:.3rem}.business-card__link{color:#111;text-decoration:none;display:inline;transition:color .18s ease;font-size:.8rem}.business-card__link:focus,.business-card__link:hover{color:var(--accent);text-decoration:underline}.business-card__qr{display:flex;align-items:center;justify-content:center;width:100%}.business-card__qr-canvas{display:block;width:100%!important;height:auto!important;max-width:180px;max-height:180px;background:transparent}.business-card__back{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:1rem}.business-card__portrait-wrap{width:88px;height:88px;margin:0 auto 1rem;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #00000073;border:1px solid rgba(255,255,255,.04)}.business-card__portrait{width:100%;height:100%;object-fit:cover;display:block}.business-card__message{color:var(--muted);margin:0 0 .75rem}.business-card__hint{color:var(--muted);font-size:.85rem}.business-card:focus-visible{outline:4px solid rgba(140,192,255,.12);outline-offset:4px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.page-container.contact-grid{padding:0 .5rem 1rem}.business-card-root{width:clamp(260px,92vw,380px);min-width:0;margin:1.2rem auto;height:min(600px,calc(100vh - 6rem));display:flex;align-items:center;justify-content:center}.business-card{aspect-ratio:2 / 3.5;max-height:100%;max-width:100%;width:100%;height:100%}.business-card__face{grid-template-columns:1fr;padding:clamp(.5rem,3vw,.9rem);gap:.6rem;align-items:stretch;transition:transform .45s cubic-bezier(.22,.61,.36,1)}.business-card__content{justify-content:flex-start;align-items:center;text-align:center;gap:.45rem}.business-card__visual{align-items:center}.business-card__logo{width:76px;margin:0}.business-card__qr{max-width:100%}.business-card__qr-canvas{width:auto!important;max-width:200px;max-height:200px}.business-card__portrait-wrap{width:76px;height:76px;margin:.35rem auto .75rem}}.business-card-section__stage canvas{width:100%!important;height:100%!important;display:block}.business-card-section__ui{position:relative;z-index:1;min-height:calc(100vh - 44px);padding:clamp(1rem,3vw,2.5rem);display:grid;align-content:end;pointer-events:none}.business-card-section__ui *{pointer-events:auto}.business-card-section__title{max-width:70ch}.business-card-fullpage{position:fixed;inset:0;top:var(--header-height);background:#0a0a0a;width:100%;height:calc(100vh - 44px);padding:0;margin:0;overflow:hidden}#business-card-stage{position:absolute;inset:0;width:100%;height:100%}.business-card-overlay{position:fixed;inset:0;background:#000000eb;z-index:200;display:none;padding:.9rem}.business-card-overlay.is-open{display:grid}.business-card-overlay__inner{margin:auto;width:min(980px,100%);display:grid;gap:.75rem}.business-card-overlay__bar{display:flex;justify-content:flex-end}.business-card-overlay__stage{width:100%;aspect-ratio:16 / 10;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#0a0a0a;overflow:hidden}.business-card-overlay__stage canvas{width:100%!important;height:100%!important;display:block}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}@media(max-width:640px){.business-card-overlay__inner{width:100%}.business-card-overlay__stage{aspect-ratio:3 / 4}}@media(max-width:640px)and (orientation:landscape){.business-card-root{height:min(360px,calc(100vh - 3.5rem))}.business-card{aspect-ratio:16 / 7}.business-card__face{grid-template-columns:1fr minmax(120px,auto);padding:.4rem;gap:.35rem}.business-card__content{gap:.25rem}.business-card__visual{gap:.4rem}.business-card__name{font-size:1.05rem}.business-card__tagline{font-size:.72rem;margin-bottom:.25rem}.business-card__rows{gap:.25rem}.business-card__label{font-size:.7rem;margin-right:.2rem}.business-card__link{font-size:.75rem}.business-card__logo{width:56px}.business-card__qr-canvas{max-width:120px;max-height:120px}.business-card__portrait-wrap{width:56px;height:56px;margin:.25rem auto .5rem}.business-card__message{margin:0 0 .45rem;font-size:.85rem}}.front-cta{display:flex;gap:.5rem;flex-wrap:wrap}.front-filter-select{display:none}.filter-dropdown{width:100%;border-radius:10px;border:1px solid #333;background:#141414}.filter-dropdown[open]{border-color:#3a3a3a}.filter-dropdown__summary{list-style:none;cursor:pointer;padding:.8rem 1rem;font-size:1.05rem;line-height:1.6;color:var(--fg);display:flex;align-items:center;justify-content:space-between}.filter-dropdown__summary::-webkit-details-marker{display:none}.filter-dropdown__summary:after{content:"▾";color:var(--muted)}.filter-dropdown__list{display:grid;padding:.25rem;gap:.4rem;border-top:1px solid #222;max-height:260px;overflow-y:auto}.filter-dropdown__option{width:100%;text-align:left;padding:.85rem 1rem;border-radius:8px;border:1px solid #2a2a2a;background:#1a1a1a;color:var(--fg);font-size:1.05rem;line-height:1.6;cursor:pointer}.filter-dropdown__option.is-active{border-color:var(--gold);background:#3a2a12;color:#fff2d6;box-shadow:0 0 0 1px #ffc46899,0 0 12px #ffc4684d}.filter-dropdown__option:focus{outline:none;border-color:var(--accent)}@media(max-width:640px){.front-cta{display:none}.front-filter-select{display:block}}.business-card-fallback{width:min(420px,94%);margin:0 auto;padding:1.2rem 1rem;border-radius:12px;background:linear-gradient(180deg,var(--card-paper),#fbf8f3);border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 36px #02060a14;text-align:center;color:var(--fg)}.business-card-fallback h3{margin:0 0 .5rem;font-family:system-ui,Segoe UI,Roboto,sans-serif}.business-card-fallback .muted{color:var(--muted)}.page-container{max-width:1100px;margin:0 auto;padding:0 1.5rem 2rem;display:grid;gap:1rem;overflow-x:hidden}.card-pending{opacity:0;transform:translateY(80px)}.card-fade-in{animation:cardFadeIn 1s cubic-bezier(.22,.61,.36,1) forwards;opacity:0;transform:translateY(80px)}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}.filter-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;background:#1a1a1a;color:var(--fg);border:1px solid #333;padding:.5rem .75rem;border-radius:8px;font-size:.95rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--accent)}.search-input::placeholder{color:var(--muted)}.sort-toggle{display:inline-flex;gap:.35rem;background:#141414;border:1px solid #222;padding:.2rem;border-radius:10px}.sort-btn{border:none;background:transparent;color:var(--muted);padding:.35rem .75rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.sort-btn:hover{color:var(--fg)}.sort-btn.is-active{background:#1f1f1f;color:var(--fg);border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 8px #ffc4684d}.front-grid{transition:opacity .3s ease,transform .3s ease}.project-card__place{transition:opacity .7s ease;font-style:italic;margin-top:.2rem;margin-bottom:.6rem}.project-card__desc{display:none;opacity:0;transition:opacity .7s ease;font-size:.9rem;line-height:1.3;margin-top:.2rem;margin-bottom:.6rem;max-height:3.9em;overflow:hidden;word-break:break-word;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis}.project-card:has(.project-card__desc):hover .project-card__place{display:none}.project-card:hover .project-card__desc{display:-webkit-box;opacity:1}.project-card .project-card__desc.always{display:-webkit-box!important;opacity:1!important}.project-card.no-place .project-card__place{display:none!important}.project-card.no-place .project-card__desc{display:-webkit-box!important;opacity:1!important}@media(max-width:820px){.project-card__body,.gallery-card__body{min-height:auto;padding-bottom:.85rem}.project-card__meta{position:static;left:auto;right:auto;bottom:auto;width:100%;padding-top:0;margin-top:.15rem;justify-content:space-between;gap:.45rem}.pill{max-width:70%}.project-card__desc{display:-webkit-box!important;opacity:1!important;margin-bottom:.2rem}.project-card:has(.project-card__desc):hover .project-card__place{display:block}.project-card:hover .project-card__desc{display:-webkit-box;opacity:1}}.load-more-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.gallery-initial-loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.spinner{width:40px;height:40px;border:3px solid #222;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background:transparent;z-index:10000;transition:opacity .2s ease;pointer-events:none}.page-loader.hidden{opacity:0}.project-detail{max-width:980px;margin:0 auto;padding:1rem;display:grid;gap:1.25rem}.project-hero{border-radius:12px;overflow:hidden;border:1px solid #222}.project-gallery{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-hero{width:100%;height:400px;background-size:cover;background-position:center;background-color:#1a1a1a}.project-hero img{display:none}.project-body{display:grid;gap:1rem}.project-gallery{column-count:4;column-gap:1rem;margin:3rem 0}@media(max-width:1200px){.project-gallery{column-count:3}}@media(max-width:900px){.project-gallery{column-count:2}}@media(max-width:640px){.project-gallery{column-count:1}}.project-media{break-inside:avoid;border-radius:10px;overflow:hidden;background:#111;margin-bottom:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.project-media:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00000073}.project-media:focus{outline:2px solid var(--accent);outline-offset:2px}.project-media img{width:100%;height:auto;display:block;object-fit:contain;background:#0f0f0f}.project-media__caption{background:linear-gradient(to top,rgba(0,0,0,.85),transparent);padding:1rem .75rem .65rem;color:#fff;font-size:.85rem;width:100%}.project-media--inline{margin:2.5rem 0;max-width:100%;break-inside:unset}.project-text-block{border:1px solid #222;border-radius:10px;padding:1rem;background:#131313}.project-text-block h3{margin:0 0 .5rem}.project-text-block p{margin:0;line-height:1.6}.project-content{padding:2rem 0 4rem}.project-container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.project-meta-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #1a1a1a}.project-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.meta-item{color:#fff9;font-size:.95rem}.meta-item:before{content:"•";margin-right:1rem;color:#ffffff4d}.meta-item:first-child:before{content:none}.project-description{font-size:1.1rem;line-height:1.8;margin:0 0 3rem;max-width:800px;color:#ffffffd9;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.project-text{margin:2.5rem 0;max-width:800px}.project-text h3{margin:0 0 .5rem;font-size:1.4rem;font-weight:600}.project-text p{margin:0;line-height:1.8;font-size:1.05rem;color:#fffc;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.project-video{margin:2.5rem 0;max-width:100%}.project-video h3{margin:0 0 1rem;font-size:1.4rem;font-weight:600}.video-container{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.project-hero{width:100%;min-height:65vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#0a0a0a;border-bottom:1px solid #222;margin:0;padding:0;display:flex;align-items:flex-end;position:relative}.project-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#000000b3,#0000 25%);pointer-events:none}.project-hero-content{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem;width:100%;position:relative;z-index:1}.project-hero-content h1{margin:0;font-size:3rem;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.7);line-height:1.2}@media(max-width:768px){.project-hero{min-height:50vh}.project-hero-content{padding:2rem 1rem}.project-hero-content h1{font-size:2rem}}.project-collaborators{margin-top:4rem;padding-top:3rem;border-top:1px solid #222}.project-collaborators h3{margin:0 0 1.75rem;font-size:1.5rem;font-weight:600}.collaborators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.collab-section{border-top:1px solid #222;padding-top:1rem}.collab-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.admin-shell{max-width:1280px;margin:1.25rem auto 0;padding:1.5rem 1.25rem 2rem;display:grid;gap:1rem}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid #2a2a2a;border-radius:14px;background:linear-gradient(180deg,#171717,#131313);box-shadow:0 10px 26px #00000047}.admin-header h2{margin:0;font-size:1.45rem;letter-spacing:-.01em}.admin-header__actions{display:flex;gap:.75rem;align-items:center}.admin-header .btn{background:#1f1f1f;color:var(--fg);border:1px solid #2f2f2f;border-radius:10px;padding:.5rem .85rem}.admin-header .btn:hover{background:#242424;border-color:#3a3a3a;opacity:1}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.admin-single{display:grid;gap:1rem;max-width:1200px;width:100%;margin:0 auto}.admin-create{grid-template-columns:1.1fr .9fr;align-items:start;gap:.85rem}.admin-create>.admin-card:first-of-type{grid-column:1 / -1}.admin-create>.admin-card--featured{grid-column:1 / -1}.admin-create>.admin-card--full{grid-column:1 / -1}.admin-create .admin-card{padding:1rem 1.05rem}.admin-create .admin-card h3{font-size:1rem}@media(max-width:1024px){.admin-create{grid-template-columns:1fr}.admin-create>.admin-card:first-of-type{grid-column:auto}}.project-date{display:grid;gap:.5rem}.project-date__header{font-weight:650;margin:0;color:#e8f0ff}.project-date__radios{display:flex;gap:.5rem;flex-wrap:wrap}.project-date__option{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border:1px solid #2e3b4a;border-radius:10px;background:#14181e;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.project-date__option:hover{border-color:#3f556b;background:#1a2027}.project-date__option input{accent-color:var(--accent)}.project-date__option input:checked+span{color:#e8f0ff;font-weight:600}.date-input-group{display:grid;gap:.6rem;margin-top:.5rem;padding:.75rem;background:#0f1216;border:1px solid #2e3b4a;border-radius:8px}.date-input-group label{display:grid;gap:.35rem;font-size:.9rem;font-weight:500}.date-input-group input[type=date],.date-input-group input[type=month]{padding:.5rem .65rem;background:#14181e;border:1px solid #2e3b4a;border-radius:6px;color:#e8f0ff;font-size:1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.date-input-group input[type=date]:before,.date-input-group input[type=month]:before{color:#8cc0ff}.date-input-group input[type=date]::-webkit-calendar-picker-indicator,.date-input-group input[type=month]::-webkit-calendar-picker-indicator{filter:brightness(.8) invert(.9) sepia(.3);cursor:pointer}.date-input-group input[type=date]:hover,.date-input-group input[type=month]:hover{border-color:#3f556b;background:#1a2027}.date-input-group input[type=date]:focus,.date-input-group input[type=month]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #8cc0ff26}.admin-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;max-width:none;margin:0}.admin-menu-group{display:grid;gap:.65rem;padding:.85rem;border:1px solid #252525;border-radius:14px;background:linear-gradient(180deg,#161616,#111);box-shadow:0 10px 24px #00000038}.admin-menu-group-title{margin:0;font-size:.86rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#d2d2d2}.btn-large{min-height:88px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;font-size:.96rem;border:1px solid #2c2c2c!important;background:linear-gradient(180deg,#1a1a1a,#131313)!important;color:#e8f0ff!important;padding:.85rem .95rem;border-radius:12px;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.btn-large:hover{border-color:#424242!important;background:#1b1b1b!important;box-shadow:0 12px 28px #00000059;transform:translateY(-2px)}.btn-large .muted{color:#a8a8a8}.admin-icon{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#151515;border:1px solid #2a2a2a;font-size:1.1rem;box-shadow:inset 0 1px #ffffff08}.admin-card-text{display:grid;gap:.18rem}.admin-card{border:1px solid #272727;border-radius:14px;padding:1.1rem;background:linear-gradient(180deg,#171717,#131313);display:grid;gap:.9rem;box-shadow:0 14px 30px #00000047}.admin-card h3{margin:0;font-size:1.05rem}.admin-card h4{margin:0}.admin-form{display:grid;gap:.7rem}.admin-link-action{justify-self:end;align-self:center;width:auto;border:0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:.16em;cursor:pointer;padding:0;margin-top:-.2rem;font-size:.95rem}.admin-link-action:hover,.admin-link-action:focus-visible{color:var(--fg)}.admin-stack{display:grid;gap:.75rem}.admin-upload{display:grid;gap:.65rem}#toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{padding:12px 16px;border-radius:8px;font-weight:600;font-size:.95rem;opacity:0;transform:translateY(20px);transition:all .3s ease;pointer-events:auto;box-shadow:0 4px 12px #00000026}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#238636;color:#7ee787;border:1px solid #3fb950}.toast-error{background:#8b2c2c;color:#ff9b9b;border:1px solid #da3633}.toast-neutral{background:#1f2937;color:#6fa8dc;border:1px solid #374151}.publish-toggle{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border:1px solid #222;border-radius:12px;background:#161616;cursor:pointer}.publish-toggle input{width:18px;height:18px;cursor:pointer}.publish-toggle__label{display:grid;gap:.1rem;line-height:1.3}.publish-toggle__title{font-weight:600}.publish-toggle__hint{color:var(--muted);font-size:.9rem}.collab-admin-row,.gallery-admin-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid #222;border-radius:10px;padding:.85rem 1rem;background:#111}.collab-admin-list,.gallery-admin-list{display:grid;gap:.65rem}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:.85rem;border:1px solid #2a2a2a;border-radius:12px;padding:.75rem .9rem;background:#111}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between;padding:.8rem .9rem;border:1px solid #262626;border-radius:12px;background:#131313}.admin-status{display:inline-flex;min-height:1.25rem;color:var(--muted);font-size:.9rem;margin-top:.25rem}@media(max-width:768px){.admin-shell{padding:1rem .8rem 1.4rem;gap:.8rem}.admin-header{padding:.75rem .8rem}.admin-menu{grid-template-columns:1fr}.admin-menu-group{padding:.75rem}}.showcase-images-list{display:grid;gap:.65rem}.showcase-image-row{display:flex;align-items:center;gap:.75rem;border:1px solid #222;border-radius:10px;padding:.85rem 1rem;background:#111;transition:border-color .2s ease,background .2s ease}.showcase-image-row:hover{border-color:#333;background:#151515}.showcase-image-preview{width:80px;height:60px;background:#222;border-radius:8px;overflow:hidden;flex-shrink:0;position:relative}.showcase-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.project-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.admin-card .project-mini-grid{grid-template-columns:1fr;max-height:600px;overflow-y:auto;padding-right:.25rem}.project-mini-card{text-align:left;width:100%;border:1px solid #262626;background:linear-gradient(135deg,#151515,#101010);color:var(--fg);padding:.9rem 1rem;border-radius:12px;display:grid;gap:.3rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.project-mini-card:hover{border-color:#3a3a3a;background:#1a1a1a;transform:translateY(-2px);box-shadow:0 10px 26px #00000059}.project-mini-card--active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 12px #ffc4684d,0 12px 28px #0006}.project-mini-card__title{font-weight:650;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.project-mini-card__meta{font-size:.9rem;color:var(--muted);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.btn-sm{padding:.35rem .5rem;font-size:.85rem}.btn-primary{background:var(--accent)!important;color:#000!important;border:none!important}.btn-secondary{background:#1a1a1a!important;color:#666!important;border:1px solid #2a2a2a!important;transition:all .2s ease}.btn-secondary:hover{background:#222!important;color:#888!important;border-color:#333!important}.btn-danger{background:#e74c3c!important;color:#fff!important;border:none!important}.btn-danger:hover{background:#c0392b!important}.collab-card{display:grid;grid-template-columns:80px 1fr;gap:1rem;align-items:center;padding:.9rem;border:1px solid #222;border-radius:12px;background:#141414;transition:all .2s ease;cursor:pointer}.collab-card:hover{border-color:var(--accent);background:#1a1a1a}.collab-card.is-expanded{align-items:start}.collab-card__image{width:80px;height:80px;border-radius:16px;flex-shrink:0}.collab-card__content{display:grid;gap:.15rem;min-width:0}.collab-card__name{margin:0!important;padding:0!important;font-size:1rem!important;font-weight:650;color:#f5f5f5;line-height:1.1}.project-collaborators .collab-card__name{font-size:1rem!important}.collab-card__collapsed{display:grid;gap:.2rem}.collab-card.is-expanded .collab-card__collapsed{display:none}.collab-card__bio{margin:0;font-size:.85rem;color:#aaa;line-height:1.3}.collab-card__projects{display:none;flex-wrap:wrap;gap:.35rem}.collab-card.is-expanded .collab-card__projects{display:flex}.collab-project-badge{display:inline-block;padding:.25rem .6rem;background:#8cc0ff1f;border:1px solid rgba(140,192,255,.25);border-radius:12px;font-size:.75rem;color:#8cc0ff;white-space:nowrap}.collab-card__link{color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:500;transition:opacity .2s ease;display:inline;padding:0;margin:0;line-height:1}.collab-card__link:hover{opacity:.8;text-decoration:underline}.collab-card__arrow{color:var(--accent);font-size:.9rem;opacity:.7;margin-left:.2rem}.collab-search-wrapper{display:flex;gap:.5rem;margin-bottom:.5rem}.project-gallery{margin:1rem 0}.project-gallery .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.project-gallery .project-media{overflow:hidden;border-radius:8px;height:180px;display:flex;align-items:center;justify-content:center}.project-gallery .project-media img{width:100%;height:100%;object-fit:cover;display:block}.project-media--inline{margin:.5rem 0}.collab-search-input{flex:1;background:#1a1a1a;color:var(--fg);border:1px solid #333;padding:.35rem .5rem;border-radius:6px;font-size:.85rem}.collab-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem}.collab-checkbox{display:flex;gap:.35rem;align-items:center;border:1px solid #222;padding:.35rem .5rem;border-radius:6px;font-size:.85rem;cursor:pointer}.collab-checkbox:hover{border-color:#333;background:#141414}.collab-checkbox input{cursor:pointer}.collab-projects-section{display:grid;gap:.4rem}.collab-projects-label{font-weight:600;color:#e8f0ff;font-size:.95rem}.collab-projects-search{width:100%;padding:.5rem .65rem;border:1px solid #2e3b4a;border-radius:8px;background:#14181e;color:#e8f0ff;font-size:.9rem;transition:border-color .15s ease,background .15s ease}.collab-projects-search:focus{outline:none;border-color:var(--accent);background:#1a2027}.collab-projects-search::placeholder{color:#7a8a9a}.collab-projects-list{display:grid;gap:.4rem;max-height:360px;overflow-y:auto;border:1px solid #2e3b4a;border-radius:8px;background:#0f1216;padding:.6rem}.collab-projects-item{display:flex;gap:.7rem;align-items:center;padding:.75rem .85rem;border-radius:8px;background:linear-gradient(135deg,#151a1f,#0f1216);cursor:pointer;transition:all .15s ease;border:1px solid #1e2836}.collab-projects-item:hover{background:linear-gradient(135deg,#1a2027,#14181e);border-color:#2e3b4a}.collab-projects-item input{cursor:pointer;accent-color:var(--accent);flex-shrink:0;width:20px;height:20px}.collab-projects-item__content{display:grid;gap:.25rem;flex:1;min-width:0}.collab-projects-item__title{font-weight:600;font-size:.96rem;color:#e8f0ff}.collab-projects-item__meta{font-size:.8rem;color:#8a9aaa}.collab-projects-empty{padding:1.5rem .75rem;text-align:center;color:#6a7a8a;font-size:.9rem}.collab-image-section{display:grid;gap:.4rem}.collab-image-label{font-weight:600;color:#e8f0ff;font-size:.95rem}.collab-image-container{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:start}.collab-image-preview{width:120px;height:120px;border-radius:8px;overflow:hidden;border:1px solid #2e3b4a;background:#14181e}.collab-image-preview img{width:100%;height:100%;object-fit:cover}.collab-image-upload{flex:1}.admin-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal__content{background:#131313;border:1px solid #222;border-radius:12px;padding:1.5rem;max-width:500px;max-height:calc(100svh - 2rem);width:100%;overflow-y:auto;box-shadow:0 20px 60px #000c}@media(max-width:640px){.admin-modal{padding:.65rem;align-items:flex-end}.admin-modal__content{border-radius:10px;padding:1rem;max-height:calc(100svh - 1.3rem)}.card-center,.card-center-large,.card-center-xl,.card-center-xxl{margin:1rem auto;width:min(100%,100% - 1rem)}}.admin-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-modal__header h3{margin:0}.img-row,.text-row{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:start;border:1px solid #222;padding:.75rem;border-radius:6px;font-size:.9rem}.img-row{grid-template-columns:80px 1fr 1fr 1fr 80px auto}.img-preview{width:80px;height:80px;object-fit:cover;border-radius:4px;background:#1a1a1a;border:1px solid #333}.gallery-image-preview{width:100%;max-width:200px;height:150px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0f0f0f;border:1px solid #222}.gallery-image-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.image-upload-zone{border:2px dashed #333;border-radius:8px;padding:1.5rem;text-align:center;background:#0f0f0f;cursor:pointer;transition:all .2s}.image-upload-zone:hover{border-color:var(--accent);background:#141414}.image-upload-zone.dragover{border-color:var(--accent);background:#1a1a1a}.image-upload-zone.error{border-color:#e55}.image-upload-zone input{display:none}.image-upload-zone p{margin:0;color:var(--muted);font-size:.9rem}.image-upload-zone .upload-preview{max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain;display:block;margin:0 auto 1rem;border-radius:4px}.image-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.image-modal__backdrop{position:absolute;inset:0;background:#000000f2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-modal__image{position:relative;z-index:1;max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 20px 60px #000c}.image-modal__close{position:absolute;top:1.5rem;right:1.5rem;z-index:2;width:44px;height:44px;border-radius:50%;background:#000000b3;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-modal__close:hover{background:#000000e6;border-color:#ffffff4d;transform:scale(1.05)}.card{padding:1rem;border:1px solid #333;border-radius:8px;background:#1a1a1a}.muted{color:var(--muted)}.btn{background:var(--accent);color:#000;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;font-size:.9rem}.btn:hover{opacity:.85}.btn:focus,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{background:#1a1a1a;color:var(--fg);border:1px solid #333;padding:.65rem .75rem;border-radius:6px;width:100%;font-size:.95rem;line-height:1.5}label{display:block;margin:.65rem 0 .25rem;font-size:.95rem}.required-label:after{content:""}.required-label-text:after{content:"*";color:#ff6b6b;margin-left:4px;font-weight:600}.field-error{border-color:#ff6b6b!important;box-shadow:0 0 0 1px #ff6b6b}.content-list{display:grid;gap:.75rem}.research-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;margin-top:1.5rem;align-items:start}@media(max-width:1024px){.research-layout{grid-template-columns:1fr}}.research-content{min-width:0}.research-blocks{display:grid;gap:1.5rem}.research-block--text{line-height:1.7}.research-block--image img,.research-block--video video{width:100%;display:block;border-radius:12px;background:#111;border:1px solid #222}.research-block figcaption{margin-top:.5rem;font-size:.9rem;color:var(--muted)}.research-documentation-aside{position:relative}.research-documentation-sticky{position:sticky;top:calc(var(--header-height) + 1rem);padding:1.5rem;background:#0a0a0a;border:1px solid #222;border-radius:12px;max-height:calc(100vh - var(--header-height) - 2rem);overflow-y:auto}.research-documentation-sticky h3{margin:0 0 1rem;font-size:1.1rem}.documentation-list{display:flex;flex-direction:column;gap:.75rem}.documentation-item{display:flex;gap:.75rem;padding:.75rem;background:#0f0f0f;border:1px solid #222;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s}.documentation-item:hover{background:#161616;border-color:var(--accent);transform:translate(2px)}.documentation-item__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#1a1a1a;border-radius:6px;overflow:hidden}.documentation-item__icon img{width:100%;height:100%;object-fit:cover}.documentation-item__info{flex:1;min-width:0}.documentation-item__info h4{margin:0 0 .25rem;font-size:.9rem;font-weight:500;color:var(--fg);word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.documentation-item__info p{margin:0;font-size:.75rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}@media(max-width:1024px){.research-documentation-sticky{position:static;max-height:none}}.content-item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;padding:.85rem;border:1px solid #222;border-radius:10px;background:#161616;transition:all .15s ease,background .15s ease}.content-item--image{grid-template-columns:auto 80px 1fr auto}.content-item--text{grid-template-columns:auto 1fr auto}.content-item:hover{border-color:#2a2a2a;background:#1a1a1a}.content-item.dragging{opacity:.5;border-color:var(--accent)}.content-item.drag-over{border:2px solid var(--accent);background:#8cc0ff14}.content-item__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:#666;font-size:1rem;line-height:1;padding:.5rem .3rem;-webkit-user-select:none;user-select:none;transition:color .15s ease}.content-item__drag-handle:hover{color:var(--accent)}.content-item:active .content-item__drag-handle{cursor:grabbing}.content-item__preview{width:80px;height:80px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0f0f0f;flex-shrink:0;border:1px solid #222}.content-item__preview img{width:100%;height:100%;object-fit:cover}.rich-editor{min-height:120px;border:1px solid #333;border-radius:6px;padding:.5rem;background:#1a1a1a;color:var(--fg);overflow:visible}.ql-container{font-family:inherit;position:relative;z-index:1;overflow:visible!important}.ql-toolbar{position:relative;z-index:2}.rich-editor p{margin:0 0 .5rem}.ql-editor{color:var(--fg)}.ql-editor.ql-blank:before{color:#fff9}.ql-snow .ql-editor.ql-blank:before{color:#ffffffb8!important;font-style:normal}.ql-toolbar{background:#1a1a1a;border:1px solid #333;color:#fff}.ql-toolbar button{color:#fff}.ql-toolbar .ql-picker{color:#fff;position:relative;z-index:10}.ql-toolbar .ql-picker-label{color:#fff;border:1px solid #444;background:#1a1a1a;cursor:pointer}.ql-toolbar .ql-picker-label:hover{border-color:var(--accent)}.ql-toolbar .ql-picker.ql-expanded .ql-picker-label{border-color:var(--accent);background:#2a2a2a}.ql-toolbar .ql-picker-options{background:#1a1a1a;border:1px solid #444;color:#fff;display:none;z-index:1000!important;position:absolute;top:100%;left:0;min-width:100%;box-shadow:0 4px 12px #00000080;max-height:200px;overflow-y:auto}.ql-toolbar .ql-picker.ql-expanded .ql-picker-options{display:block!important;visibility:visible!important;pointer-events:all!important}.ql-toolbar .ql-picker-item{color:#fff;padding:.5rem;cursor:pointer}.ql-toolbar .ql-picker-item.ql-selected,.ql-toolbar .ql-picker-item:hover{color:var(--accent);background:#2a2a2a}.quill-link-popup{position:absolute;background:#1a1a1a;border:1px solid #333;padding:.5rem;border-radius:8px;display:flex;gap:.4rem;z-index:1000}.ql-editor a{color:var(--accent);text-decoration:underline}.quill-link-popup input{background:#222;border:1px solid #444;color:var(--fg);padding:.3rem .4rem;border-radius:4px;font-size:.9rem}.quill-link-popup button{background:#333;color:var(--fg);border:1px solid #444;border-radius:4px;padding:.3rem .6rem;cursor:pointer;font-size:.85rem}.quill-link-popup button:hover{background:#444}.ql-container{background:#1a1a1a;color:#fff;max-height:300px;overflow-y:auto}.ql-editor{min-height:150px;max-height:300px}.content-item__fields{display:grid;gap:.5rem}.content-input,.content-textarea{background:#0f0f0f;border:1px solid #2a2a2a;padding:.5rem .65rem;border-radius:6px;color:var(--fg);font-size:.9rem}.content-input:focus,.content-textarea:focus{outline:none;border-color:var(--accent);background:#141414}.content-textarea{resize:vertical;font-family:inherit;line-height:1.4}input[readonly]{background:#0a0a0a!important;color:#666!important;cursor:not-allowed!important;border-color:#1a1a1a!important;display:none!important}input[readonly]:focus{border-color:#1a1a1a!important;box-shadow:none!important}.display-none{display:none}.display-flex{display:flex}.display-block{display:block}.display-inline-block{display:inline-block}.display-inline-flex{display:inline-flex}.display-grid{display:grid}.grid-col-full{grid-column:1 / -1}.flex-1{flex:1}.flex-0{flex:0}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-start{justify-content:flex-start}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.gap-0-25{gap:.25rem}.gap-0-35{gap:.35rem}.gap-0-5{gap:.5rem}.gap-0-75{gap:.75rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.m-0{margin:0}.m-0-25{margin:.25rem}.m-0-5{margin:.5rem}.m-1{margin:1rem}.m-1-5{margin:1.5rem}.m-2{margin:2rem}.mt-0{margin-top:0}.mt-0-25{margin-top:.25rem}.mt-0-3{margin-top:.3rem}.mt-0-5{margin-top:.5rem}.mt-0-6{margin-top:.6rem}.mt-0-75{margin-top:.75rem}.mt-1{margin-top:1rem}.mt-1-5{margin-top:1.5rem}.mt-2{margin-top:2rem}.mb-0{margin-bottom:0}.mb-0-3{margin-bottom:.3rem}.mb-0-5{margin-bottom:.5rem}.mb-1{margin-bottom:1rem}.mb-1-5{margin-bottom:1.5rem}.mb-2{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0-3{padding:.3rem}.p-0-5{padding:.5rem}.p-1{padding:1rem}.p-1-5{padding:1.5rem}.p-2{padding:2rem}.px-0-5{padding-left:.5rem;padding-right:.5rem}.py-0-5{padding-top:.5rem;padding-bottom:.5rem}.w-full{width:100%}.w-auto{width:auto}.max-w-80px{max-width:80px}.max-w-160px{max-width:160px}.max-w-220px{max-width:220px}.max-w-480px{max-width:480px}.max-w-600px{max-width:600px}.max-w-720px{max-width:720px}.max-w-760px{max-width:760px}.max-w-1100px{max-width:1100px}.h-auto{height:auto}.h-100{height:100%}.h-160px{height:160px}.h-100vh{height:100vh}.min-h-80{min-height:80px}.min-h-60{min-height:60px}.min-h-64{min-height:64px}.min-h-100{min-height:100px}.text-0-8{font-size:.8rem}.text-0-85{font-size:.85rem}.text-0-9{font-size:.9rem}.text-0-95{font-size:.95rem}.text-1{font-size:1rem}.text-1-1{font-size:1.1rem}.text-1-4{font-size:1.4rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.bg-dark{background:#1a1a1a}.bg-dark-2{background:#0a0a0a}.bg-accent{background:var(--accent)}.color-muted{color:var(--muted)}.color-accent{color:var(--accent)}.color-888{color:#888}.color-666{color:#666}.border-top{border-top:1px solid #333}.rounded-sm{border-radius:4px}.rounded-md{border-radius:8px}.rounded-lg{border-radius:12px}.relative{position:relative}.absolute{position:absolute}.flex-shrink-0{flex-shrink:0}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.opacity-50{opacity:.5}.transition-all{transition:all .3s ease}.flex-between-center{display:flex;justify-content:space-between;align-items:center}.flex-center-wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.mx-auto{margin-left:auto;margin-right:auto}.max-w-1100px-center{max-width:1100px;margin:0 auto;padding:0 1.5rem}.card-center{max-width:480px;margin:2rem auto}.card-center-large{max-width:600px;margin:2rem auto;text-align:center}.card-center-xl{max-width:720px;margin:2rem auto}.card-center-xxl{max-width:760px;margin:0 auto}.page-container.display-flex{min-height:calc(100svh - 44px);place-content:center}.has-bg-image{background-image:var(--bg-image, none);background-size:cover;background-position:center}.has-bg-image-contain{background-image:var(--bg-image, none);background-size:contain;background-position:center;background-repeat:no-repeat}.landing-hero__media--fallback{background:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201200%20800%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22g%22%20x1=%220%22%20x2=%221%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%23090f2b%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%23000102%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width=%22100%25%22%20height=%22100%25%22%20fill=%22url(%23g)%22/%3E%3C/svg%3E");background-size:cover}.about-section-divider{margin-top:2rem;padding:1.2rem 1.25rem;border:1px solid rgba(255,196,104,.28);border-radius:10px;background:linear-gradient(180deg,#ffc46814,#ffc46805)}.about-section-divider h3{margin:0 0 .5rem;color:var(--gold)}.about-contact-email{color:var(--accent);text-decoration:none;display:inline-block;font-weight:700;font-size:1.02rem;padding:.3rem .6rem;border:1px solid rgba(255,196,104,.3);border-radius:999px;background:#111111bf}.about-contact-email:hover{border-color:var(--gold);color:var(--gold)}.about-contact-email:focus,.about-contact-email:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.text-muted-sm{font-size:.85rem;color:#888}.project-media-fallback{background:linear-gradient(135deg,#111827,#1f2937)}.collaborator-count{font-weight:400;font-size:.9rem}.collab-project-badge{background-color:var(--badge-color, #475569)}.admin-date-input-hidden{display:none}.admin-hint{margin-bottom:1rem;font-size:.9rem}.admin-upload-hint{font-size:.8rem;margin-top:.5rem}.admin-badge-published{background:#1a4d1a;border-color:#2d6b2d}.admin-badge-unpublished{background:#4d1a1a;border-color:#6b2d2d}.admin-badge-highlighted{background:#4d3a1a;border-color:#6b542d}.admin-badge-container{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.admin-project-search{width:100%;padding:.65rem;border-radius:8px;border:1px solid #333;background:#161616;color:var(--fg)}.admin-gallery-fields{padding:.5rem;background:#0a0a0a;border-radius:4px;margin-top:.3rem}.admin-gallery-preview{background:#1a1a1a;border-radius:4px;min-height:100px;display:flex;align-items:center;justify-content:center;color:#666}.admin-gallery-preview-icon{font-size:2rem}.admin-content-preview{background:#1a1a1a;border-radius:4px;min-height:60px;display:flex;align-items:center;justify-content:center;color:#888}.admin-content-fields{flex:1}.admin-heading-input{font-weight:700}.admin-position-input{max-width:80px}.admin-label-block{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.admin-profile-container{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.admin-profile-upload{flex:0 0 160px}.admin-profile-upload-zone{width:160px;height:160px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.admin-profile-img{width:100%;height:100%;object-fit:cover}.admin-profile-details{flex:1;min-width:220px}.admin-file-controls{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.admin-pdf-dropzone{padding:.5rem 1rem;display:inline-flex;align-items:center;gap:.5rem}.admin-pdf-label{color:var(--muted);font-size:.9rem}.admin-file-field{margin-top:.75rem}.admin-message-text{margin:.25rem 0;color:var(--muted)}.admin-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.admin-form-radio-group{display:flex;gap:1rem;margin-bottom:1rem}.admin-form-label-inline{display:flex;align-items:center;gap:.5rem;margin:0}.admin-menu-desc{margin:.3rem 0 0;font-size:.92rem;max-width:62ch}.admin-full-img-preview{width:100%;height:100%;object-fit:cover}.admin-contain-img-preview{max-width:100%;max-height:200px;object-fit:contain}.admin-no-image-placeholder{background:#1a1a1a;min-height:60px;display:flex;align-items:center;justify-content:center;color:#666}.admin-button-stack{display:flex;gap:.5rem}.admin-error-text{font-size:.85rem;margin-top:.25rem;color:var(--muted)}.research-projects-container{display:flex;flex-direction:column;gap:0;margin-top:2rem;width:100%;max-width:100%}.research-load-more{display:flex;justify-content:center;margin-top:2.5rem;margin-bottom:1rem}.research-load-more .btn{min-width:200px}.research-project{background:#111;border:1px solid #2a2a2a;border-radius:0;overflow:visible;transition:all .3s ease;position:relative;margin-bottom:2rem}.research-project:hover{border-color:#3a3a3a;background:#151515}.research-project--expanded:hover{border-color:var(--accent)}.research-project--featured{position:relative}.research-project__header{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;cursor:pointer;transition:background .2s ease;position:relative;min-height:160px;overflow:hidden}.research-project__header:hover{background:transparent}.research-project__header-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1.5rem;min-width:0;position:relative;z-index:1;grid-column:1}.research-project__title-container{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;flex-wrap:wrap}.research-project__header-image{position:relative;grid-column:2;width:100%;height:100%;overflow:hidden;background:#1a1a1a;z-index:0}.research-project__header-image:after{content:"";position:absolute;top:0;left:0;bottom:0;width:30%;background:linear-gradient(to left,transparent 0%,rgba(17,17,17,.7) 40%,rgba(17,17,17,1) 100%);pointer-events:none}.research-project__header-image img{width:100%;height:100%;object-fit:cover;display:block}.research-project__header-text{width:100%;max-width:100%;position:relative;z-index:1;text-align:left}.research-project__title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:var(--fg);transition:color .2s ease;word-wrap:break-word;overflow-wrap:break-word}.research-project__title--featured{color:var(--accent)}.research-project__featured-badge{display:inline-block;font-size:.68rem;font-weight:600;font-style:italic;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .45rem;background:#ffc46826;color:#ffc468;border:1px solid rgba(255,196,104,.3);border-radius:3px;white-space:nowrap;flex-shrink:0}.research-project__date{font-size:.9rem;margin:.25rem 0 0;color:var(--muted);font-style:italic}.research-project__description-preview{font-size:.95rem;margin:.75rem 0 0;line-height:1.6;color:var(--muted);max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.research-project__toggle{position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);width:40px;height:40px;border-radius:50%;border:1px solid #333;background:#111;color:var(--fg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.research-project__toggle:hover{background:#1a1a1a;border-color:var(--accent);transform:translate(-50%,50%) scale(1.05)}.research-project--expanded .research-project__toggle svg{transform:rotate(180deg)}.research-project__toggle svg{transition:transform .3s ease}.research-project__body{padding:1.5rem 1.5rem 2rem;border-top:1px solid #222;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.research-project__description{margin:1.5rem 0;line-height:1.7;color:var(--fg)}.research-project__description p{margin:0}.research-project__content{margin:1.5rem 0;line-height:1.7}.research-project__content h3{margin:1.5rem 0 .75rem}.research-project__content p{margin:.75rem 0}.research-project__gallery{margin:2rem 0}.research-project__gallery h3{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.research-gallery{display:grid;grid-template-columns:1fr;gap:1rem}.research-gallery__item{margin:0;border-radius:8px;overflow:hidden;background:#1a1a1a;border:1px solid #2a2a2a}.research-gallery__item img{width:100%;height:auto;display:block}.research-gallery__item figcaption{padding:.75rem;font-size:.9rem;line-height:1.4}.research-project__videos{margin:2rem 0}.research-project__videos h3{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.research-videos{display:flex;flex-direction:column;gap:1.5rem}.research-video h4{margin:0 0 .5rem;font-size:1rem;color:var(--fg)}.research-video p{margin:0 0 .75rem}.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:#1a1a1a;border:1px solid #2a2a2a}.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.research-project__documentation{margin:2rem 0}.research-project__documentation h3{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.research-docs{display:grid;gap:.75rem}.research-doc{display:flex;align-items:center;gap:1rem;padding:1rem;background:#111;border:1px solid #2a2a2a;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s ease}.research-doc:hover{background:#161616;border-color:var(--accent);transform:translate(4px)}.research-doc__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#1a1a1a;border-radius:6px}.research-doc__info{flex:1;min-width:0}.research-doc__info h4{margin:0 0 .25rem;font-size:1rem;font-weight:500;color:var(--fg)}.research-doc__info p{margin:0;font-size:.85rem;line-height:1.4}.research-project__collaborators{margin:2rem 0}.research-project__collaborators h3{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.research-collaborators{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.research-collaborator{all:unset;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#0f0f0f;border:1px solid #222;border-radius:8px;transition:all .2s ease;cursor:pointer}.research-collaborator:hover,.research-collaborator:focus-visible{background:#161616;border-color:#333;outline:2px solid var(--accent);outline-offset:2px}.research-collaborator__image{flex-shrink:0;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#1a1a1a;border:1px solid #222}.research-collaborator__image img{width:100%;height:100%;object-fit:cover;display:block}.research-collaborator__info{flex:1;min-width:0}.research-collaborator__info h4{margin:0 0 .25rem;font-size:.9rem;font-weight:500;color:var(--fg)}.research-collaborator__info p{margin:0;font-size:.8rem}.research-project__links{margin:2rem 0}.research-project__links h3{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.research-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.research-linked-project{display:flex;flex-direction:column;background:#111;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s ease}.research-linked-project:hover{border-color:var(--accent);background:#151515;transform:translateY(-2px)}.research-linked-project__image{width:100%;height:160px;overflow:hidden;background:#1a1a1a}.research-linked-project__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.research-linked-project:hover .research-linked-project__image img{transform:scale(1.05)}.research-linked-project__info{padding:1rem;flex:1;display:flex;flex-direction:column}.research-linked-project__info h4{margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--fg)}.research-linked-project__info p{margin:0;font-size:.85rem;line-height:1.4;flex:1}.research-linked-project__type{margin-top:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);font-weight:600}@media(max-width:768px){.research-project__header{grid-template-columns:1fr;min-height:auto}.research-project__header-content{padding:1.25rem;order:2}.research-project__header-image{grid-column:1;height:180px;order:1}.research-project__header-image:after{display:none}.research-project__title{font-size:1.25rem}.research-project__date{font-size:.85rem}.research-project__body{padding:1.25rem}.research-gallery,.research-collaborators,.research-links{grid-template-columns:1fr}}@media(max-width:480px){.research-project{margin-bottom:1.5rem}.research-project__header-content{padding:1rem}.research-project__title{font-size:1.1rem}.research-project__date{font-size:.8rem}.research-project__body{padding:1rem}.research-project__toggle{width:36px;height:36px}}@media(min-width:640px){.research-gallery{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.research-gallery{grid-template-columns:repeat(3,1fr)}.research-project__title{font-size:1.75rem}}.research-project__toggle:focus{outline:2px solid var(--accent);outline-offset:2px}.research-project__header:focus-within{outline:2px solid var(--accent);outline-offset:-2px;border-radius:12px 12px 0 0}.research-projects-container:empty:after{content:"Loading research projects...";display:block;text-align:center;padding:3rem;color:var(--muted)}.project-cards{display:grid;gap:1rem}.project-card{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.25rem;border:1px solid #2a2a2a;border-radius:12px;background:#111;transition:border-color .2s ease,background .2s ease}.project-card:hover{border-color:#3a3a3a;background:#151515}.project-card__image{width:100px;height:75px;border-radius:8px;overflow:hidden;background:#1a1a1a;flex-shrink:0}.project-card__image img{width:100%;height:100%;object-fit:cover;display:block}.project-card__content{display:grid;gap:.4rem;min-width:0}.project-card__content h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--fg);word-break:break-word}.project-card__content>p{margin:0;font-size:.9rem;color:var(--muted)}.project-card__badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-copy{text-transform:none}.badge-success{background:#23863633;color:#7ee787;border:1px solid rgba(63,185,80,.3)}.badge-muted{background:#80808026;color:#b0b0b0;border:1px solid rgba(128,128,128,.25)}.badge-gold{background:#ffc46826;color:#ffc468;border:1px solid rgba(255,196,104,.3)}.project-card__actions{display:flex;gap:.5rem;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000080}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;z-index:10;transition:color .2s ease}.modal-close:hover,.modal-close:focus{color:#fff;outline:none}.modal-body{padding:2rem 1.5rem}.collaborator-modal__image{margin-bottom:1.5rem;border-radius:8px;overflow:hidden}.collaborator-modal__image img{width:100%;height:auto;display:block}.collaborator-modal__info h2{margin:0 0 .5rem;font-size:1.5rem}.collaborator-modal__role{font-style:italic;margin:.5rem 0 1rem}.collaborator-modal__bio{line-height:1.6;margin:1rem 0;color:#ccc}@media(max-width:768px){.project-card{grid-template-columns:1fr;gap:.85rem}.project-card__image{width:100%;height:120px}.project-card__actions{justify-content:flex-start}}
