.project-deployment{display:inline-flex;float:right;align-items:center;gap:28px;max-width:calc(100% - 64px);margin:0 28px 24px 24px;padding:13px 15px 13px 20px;border:1px solid #59a3ff;border-radius:16px;background:linear-gradient(135deg,#1587ff,#0758df);color:#fff;text-decoration:none;box-shadow:0 5px #063b97,0 12px 24px #0758df24;transition:transform .16s ease,box-shadow .16s ease}.project-deployment[hidden]{display:none}.project-deployment-copy{display:grid;gap:2px}.project-deployment-copy small{font:500 var(--text-sm)/1.4 var(--font-sans);color:#e0efff}.project-deployment-copy strong{font:600 var(--text-lead)/1.4 var(--font-sans)}.project-deployment-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ffffff21}.project-deployment-arrow svg{width:21px;height:21px}.project-deployment:hover{transform:translateY(-2px);box-shadow:0 7px #063b97,0 15px 28px #0758df30}.project-deployment:active{transform:translateY(4px);box-shadow:0 1px #063b97,0 3px 8px #0758df20}.project-deployment:focus-visible{outline:3px solid #193743;outline-offset:6px}@media(prefers-reduced-motion:reduce){.project-deployment{transition:none}}@media(max-width:650px){.project-deployment{gap:10px;margin-left:12px;padding:10px 12px}.project-deployment-copy strong{font-size:var(--text-body)}.project-deployment-arrow{width:32px;height:32px}#project-dialog .project-deployment:not([hidden])~h2{clear:both;padding-top:12px}}#project-dialog.has-bento{width:calc(100% - 48px);max-width:1360px;max-height:90svh;padding:40px;border-radius:24px;background:#f5f4ef;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.project-bento-grid.bento-without-images>.bento-overview{grid-column:span 3}#project-dialog .bento-contribution+.bento-contribution,#project-dialog .bento-scope p+p{margin-top:14px}.bento-scope .institution-brand{max-width:100%}#project-dialog.has-bento>h2{font-family:"Station DM Sans",var(--font-sans);font-size:clamp(42px,5vw,72px);line-height:1;margin-top:18px}#project-dialog.has-bento>.dialog-subtitle{margin-bottom:30px}#project-dialog.has-bento>.dialog-close{position:sticky;top:0;float:right;margin:-16px -16px 0 16px;z-index:5;background:#faf9f5f2;border:1px solid #1937431a;border-radius:50%;box-shadow:0 4px 18px #142c3710}.project-story{display:grid;grid-template-columns:2fr 3fr 2fr;gap:16px;margin-bottom:24px}.project-story-card{padding:26px}.project-story-card:nth-child(2){background:#eaf0ee}#project-dialog .project-story .project-story-card h3{font-size:26px;line-height:1.2;margin:12px 0}#project-dialog .project-story p{line-height:1.6}@media(max-width:800px){.project-story{grid-template-columns:1fr;gap:12px}.project-story-card{padding:24px}}.project-bento-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:16px;margin-bottom:28px}.project-bento-grid>.bento-card{order:1000}.project-bento-grid>.bento-scope{order:1001}.project-bento-grid>.bento-shot{grid-column:span var(--bento-span, 3);order:var(--bento-order, 10)}.project-bento-grid>.bento-overview{order:0;grid-column:span 2}.project-bento-grid>.bento-shot-1{order:1}.project-bento-grid>.bento-stack{order:2;grid-column:span 3}.project-bento-grid>.bento-shot-2{order:3;grid-column:span 2}.project-bento-grid>.bento-shot-3{order:4}.project-bento-grid>.bento-shot-4{order:5}.project-bento-grid>.bento-shot-5{order:6}.project-bento-grid>.bento-shot-6{order:7}.project-bento-grid.bento-without-images>.bento-stack{grid-column:span 2}.bento-card{min-width:0;margin:0;overflow:hidden;border-radius:20px;background:#fffefb;border:1px solid #1635400c;box-shadow:0 2px 4px #102d3504,0 12px 30px #102d3507}.bento-overview,.bento-approach{grid-column:span 3;padding:30px}.bento-stack,.bento-scope{grid-column:span 2;padding:30px}#project-dialog .bento-card h3{color:#183741;font:500 34px/1.18 "Station DM Sans",var(--font-sans);letter-spacing:-.035em;text-transform:none;margin:16px 0}#project-dialog .bento-card p{color:#52676c;font:400 var(--text-body)/1.7 var(--font-sans);margin:0;max-width:60ch}.bento-eyebrow{font:500 var(--text-xs)/1.5 var(--font-mono);letter-spacing:.1em;color:#836044}.bento-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.bento-tags span{border-radius:30px;padding:7px 11px;color:#42606a;background:#eaf0ee;font:500 var(--text-sm)/1.3 var(--font-sans)}.bento-stack .technology-list{gap:10px}.bento-stack .technology-chip{font-size:var(--text-base);padding:10px 16px 10px 12px;min-height:54px;gap:10px;border-radius:999px;background:#fff;border-color:#19374324;box-shadow:0 2px 5px #19374306}.bento-stack .technology-mark{width:30px;height:30px;flex-basis:30px;background:transparent}.bento-stack .technology-mark :is(img,svg){width:27px;height:27px}#project-dialog .bento-stack p.bento-stack-extra{margin-top:14px;font-size:var(--text-sm)}.bento-shot{position:relative;display:block;width:100%;min-height:300px;padding:0;border:0;box-shadow:none;background:transparent;cursor:zoom-in;text-align:left;-webkit-tap-highlight-color:transparent}.bento-shot-1,.bento-shot-4,.bento-shot-5{grid-column:span 3}.bento-shot-2,.bento-shot-3,.bento-shot-6{grid-column:span 2}.tone-blue{background:#1473ee}.tone-cream{background:#e4f2fb}.tone-mint{background:#bcefe1}.tone-peach{background:#ffe0bc}.tone-lavender{background:#d7dcff}.tone-yellow{background:#ffe36d}.bento-shot>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s cubic-bezier(.23,1,.32,1)}.bento-shot-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:52px 18px 16px;border:0;border-radius:0;background:linear-gradient(to bottom,transparent,#04141c80 45%,#04141ce6);color:#fffef8;text-shadow:0 1px 5px #0009}.bento-shot-caption strong{display:block;font:500 var(--text-body)/1.3 "Station DM Sans",var(--font-sans);letter-spacing:-.015em}.bento-shot-caption>span>span{display:block;margin-top:3px;color:#f0f4f3;font:400 var(--text-sm)/1.4 var(--font-sans)}.bento-expand{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#ffffff12}.bento-expand .icon{width:17px;height:17px}.bento-approach small{display:block;margin-top:18px;font:400 var(--text-sm)/1.7 var(--font-mono);color:#6a7b7b}.bento-scope{background:#e9efeb}.project-image-dialog{width:calc(100% - 40px);max-width:1440px;max-height:94svh;padding:20px;border-radius:20px;background:#f8f7f2;overflow:auto;overscroll-behavior:contain}.project-image-dialog::backdrop{background:#04111de6;backdrop-filter:blur(14px)}.project-image-dialog>img{display:block;width:100%;max-height:72svh;object-fit:contain;border-radius:12px}.project-image-dialog>h2{font:500 26px/1.2 "Station DM Sans",var(--font-sans);letter-spacing:-.03em;margin:20px 0 8px}.project-image-dialog>p{font-size:var(--text-body);line-height:1.65;margin:0;max-width:95ch}.image-close{position:sticky;top:0;float:right;z-index:2;width:44px;height:44px;margin:0 0 -44px;border-radius:50%;border:1px solid #19374330;background:#f8f7f2f5;color:var(--ink);cursor:pointer;font:400 26px/1 var(--font-sans)}@media(hover:hover)and (pointer:fine){.bento-shot:hover .bento-expand{background:#ffffff30}}@media(max-width:1000px){.project-bento-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.bento-overview,.bento-stack,.bento-approach,.bento-scope{padding:24px}}@media(max-width:650px){.project-bento-grid.bento-without-images>.bento-overview{grid-column:1}.project-bento-grid>.bento-card{grid-column:1}#project-dialog.has-bento{width:calc(100% - 16px);max-height:94svh;padding:24px 14px;border-radius:18px}#project-dialog.has-bento>.dialog-close{margin:-12px -4px 0 10px}#project-dialog.has-bento>.section-kicker{font-size:var(--text-sm)}#project-dialog.has-bento>.dialog-subtitle{font-size:var(--text-body)!important;margin-bottom:22px}.project-bento-grid{display:flex;flex-direction:column;grid-template-columns:minmax(0,1fr);gap:12px}.bento-card{width:100%;grid-column:1;border-radius:16px}.bento-shot{min-height:0}.bento-shot>img{position:static;height:auto}#project-dialog .bento-card h3{font-size:30px}.project-image-dialog{width:calc(100% - 16px);padding:12px}}@media(prefers-reduced-motion:reduce){.bento-shot>img{transition:none}.bento-shot:hover>img{transform:none}}
