@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.113htgw8u-emy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.08.c8psu~gif9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_fed1534a-module__F9WnGq__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_fed1534a-module__F9WnGq__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
:root{--ink:#14213d;--ink-soft:#45506b;--muted:#7a849b;--bg:#fff;--bg-soft:#f4f7fc;--blue:#3a6fd8;--blue-deep:#1f3a73;--blue-bright:#5b8def;--purple:#6a2fb5;--orange:#f6a623;--green:#7fd0a0;--navy:#1b2a4a;--border:#14213d1f;--edge:4.5rem;--corner:.9375rem;--font-display:var(--font-playfair), Georgia, "Times New Roman", serif;--font-body:var(--font-inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{font-size:16px}@media (min-width:769px){html{font-size:clamp(11px,.833333vw,16px)}}@media (min-width:769px) and (max-width:1024px){html{font-size:13px}}html,body{height:100%;margin:0;padding:0;overflow:hidden}html{background:var(--bg-soft)}body{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.placeholder{width:100%;height:100dvh;padding:4.5rem;padding-left:var(--edge);flex-direction:column;display:flex;position:relative;overflow:hidden auto}.placeholder:not(.placeholder--page)>.content{margin-top:clamp(1rem,7vh,5rem);margin-bottom:auto}.placeholder:not(.placeholder--page) .page-brand{margin-top:-2.25rem}.placeholder:not(.placeholder--page) .page-brand-logo img{height:5rem}@media (min-width:769px){.placeholder:not(.placeholder--page){padding-bottom:var(--corner)}}.topbar{z-index:5;padding-top:var(--corner);padding-right:var(--corner);padding-bottom:0;padding-left:var(--edge);justify-content:flex-end;align-items:center;gap:.875rem;display:flex;position:absolute;top:0;left:0;right:0}.topbar-left{align-items:center;gap:1.25rem;display:inline-flex}.brand-logo{align-items:center;transition:transform .2s;display:inline-flex}.brand-logo:hover{transform:translateY(-2px)}.brand-logo img{width:auto;height:6rem}.lang-flag{border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;transition:transform .2s,box-shadow .2s;display:inline-flex;overflow:hidden;box-shadow:0 .375rem 1.125rem #14213d1f}.lang-flag:hover{transform:translateY(-2px);box-shadow:0 .625rem 1.5rem #14213d2e}.lang-flag .flag{object-fit:cover;border-radius:.25rem;width:1.875rem;height:1.875rem;display:block}.linkedin{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 .75rem 1.75rem #3a6fd852}.linkedin:hover{transform:translateY(-2px);box-shadow:0 1rem 2.25rem #3a6fd86b}.linkedin svg{width:1.25rem;height:1.25rem}.content{z-index:3;flex-direction:column;gap:4rem;max-width:47.5rem;display:flex;position:relative}.badge{color:var(--blue-deep);letter-spacing:.06em;text-transform:uppercase;background:#3a6fd81a;border-radius:999px;align-items:center;gap:.625rem;padding:.4375rem 1rem;font-size:.82rem;font-weight:600;display:inline-flex}.badge .dot{background:var(--blue);border-radius:50%;width:.5rem;height:.5rem;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #3a6fd880}70%{box-shadow:0 0 0 .75rem #3a6fd800}to{box-shadow:0 0 #3a6fd800}}.content h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:5.6rem;font-weight:700;line-height:1.12}.content h1 .accent{color:var(--blue);font-style:italic}.content .lead{color:var(--ink-soft);max-width:38.75rem;margin:0;font-size:1.4rem}.content .brand{font-family:var(--font-display);color:var(--ink);font-size:1.5rem}.content .brand .lab{color:var(--blue);margin-left:.1875rem;font-style:italic}.footer{z-index:5;width:100vw;padding:2.75rem var(--edge) 1.75rem;border-top:1px solid var(--border);background:var(--bg-soft);color:var(--muted);margin-top:4rem;margin-left:50%;font-size:.95rem;position:relative;transform:translate(-50%)}.footer a{color:var(--ink-soft);font-weight:500;transition:color .2s}.footer a:hover{color:var(--blue)}.footer .footer-sep{color:var(--border)}.footer-grid{grid-template-columns:1.6fr 1fr 1.2fr;gap:2.5rem;width:100%;max-width:72rem;margin:0 auto;padding-bottom:2rem;display:grid}.footer-col{flex-direction:column;gap:.55rem;display:flex}.footer-heading{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 .35rem;font-size:.8rem;font-weight:600}.footer-brand{gap:.85rem}.footer-logo{width:3.25rem;height:auto}.footer-tagline{max-width:22rem;color:var(--ink-soft);margin:0;line-height:1.5}.footer-fhd{width:fit-content;display:inline-block}.footer-fhd-logo{width:auto;height:2.1rem}.footer-nav{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.footer-contact{flex-direction:column;gap:.4rem;font-style:normal;line-height:1.5;display:flex}.footer-social-row{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.footer-social{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.footer-social svg{width:1.15rem;height:1.15rem}.footer-social:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.footer-bar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;width:100%;max-width:72rem;margin:0 auto;padding-top:1.5rem;display:flex}.footer-copy{margin-right:auto}.footer-legal{align-items:center;gap:.6rem;display:inline-flex}.footer-top{border:1px solid var(--border);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.footer-top svg{width:1rem;height:1rem}.footer-top:hover{color:var(--blue);border-color:var(--blue)}.footer-top--social{display:none}.page-brand{z-index:2;align-self:flex-start;align-items:center;gap:.75rem;margin-bottom:2.75rem;display:inline-flex;position:relative}.page-brand-logo{align-items:center;transition:transform .2s;display:inline-flex}.page-brand-logo:hover{transform:translateY(-2px)}.page-brand-logo img{width:auto;height:5rem;display:block}.placeholder--page{justify-content:flex-start;height:100dvh;padding-top:2.25rem;padding-bottom:4.5rem;overflow-y:auto}.content--legal{gap:1.75rem;max-width:47.5rem}.content--legal h1{font-family:var(--font-display);margin:0;font-size:3.4rem;font-weight:700;line-height:1.1}.content--legal h2{font-family:var(--font-body);color:var(--ink);margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.legal-block{flex-direction:column;gap:.75rem;display:flex}.legal-block p{color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.7}.legal-block a{color:var(--blue);text-underline-offset:.2em;text-decoration:underline}.back-link{color:var(--blue);align-self:flex-start;margin-top:.5rem;font-weight:600;transition:transform .2s}.back-link:hover{transform:translate(-3px)}.bg-visual{z-index:0;pointer-events:none;width:min(45vw,36.25rem);height:min(45vw,36.25rem);position:absolute;top:50%;right:clamp(6rem,16vw,18rem);transform:translateY(-50%)}.mobile-orbs{z-index:0;pointer-events:none;width:11rem;height:11rem;display:none;position:absolute}.mobile-orb{filter:drop-shadow(0 .5rem 1.25rem #14213d29);border-radius:50%;position:absolute}.mobile-orb.purple{background:radial-gradient(circle at 32% 28%, #b98cff, var(--purple));width:6.5rem;height:6.5rem;top:0;right:0}.mobile-orb.orange{background:radial-gradient(circle at 32% 28%, #ffd98a, var(--orange));width:3.75rem;height:3.75rem;top:5.25rem;right:4.5rem}.mobile-orb.blue{background:radial-gradient(circle at 32% 28%, var(--blue-bright), var(--blue-deep));width:2.75rem;height:2.75rem;top:6.25rem;right:.75rem}@media (min-width:769px){.placeholder--page .bg-visual{display:none}.placeholder--page .mobile-orbs{display:block;top:2.5rem;right:2.5rem}.placeholder--page .mobile-orb{will-change:transform;animation:7s ease-in-out infinite orb-float}.placeholder--page .mobile-orb.orange{animation-duration:6s;animation-delay:-2s}.placeholder--page .mobile-orb.blue{animation-duration:5.5s;animation-delay:-3.5s}}@keyframes orb-float{0%,to{transform:translate(0)}50%{transform:translate(.07rem,-.28rem)}}.blob{filter:drop-shadow(0 1.25rem 2.75rem #14213d2e);will-change:transform;border-radius:50%;animation:14s ease-in-out infinite morph;position:absolute}.blob.purple{background:radial-gradient(circle at 32% 28%, #b98cff, var(--purple));width:56%;height:56%;top:6%;right:8%}.blob.blue{background:radial-gradient(circle at 32% 28%, var(--blue-bright), var(--blue-deep));width:40%;height:40%;animation-delay:-4s;bottom:2%;left:6%}.blob.orange{background:radial-gradient(circle at 32% 28%, #ffd98a, var(--orange));width:24%;height:24%;animation-delay:-7s;bottom:14%;right:2%}.blob.green{background:radial-gradient(circle at 32% 28%, #b8ecca, var(--green));width:19%;height:19%;animation-delay:-10s;top:2%;left:24%}.ring{will-change:transform;border:.125rem dashed #3a6fd840;border-radius:50%;animation:40s linear infinite spin;position:absolute;inset:12%}@keyframes morph{0%,to{transform:translate(0)rotate(0)}50%{transform:translateY(-1rem)rotate(8deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:860px){.bg-visual{opacity:.5;width:70vw;height:70vw;top:auto;bottom:-3.75rem;right:-5rem;transform:none}.content{max-width:100%}}@media (prefers-reduced-motion:reduce){.blob,.ring,.badge .dot,.section-orb,.mobile-orb{animation:none}.sidebar-label,.sidebar-icon{transition:none}}.section-orbs{display:none}.section-orb{filter:drop-shadow(0 .75rem 1.75rem #14213d29);border-radius:50%;animation:16s ease-in-out infinite morph;position:absolute}.section-orb.blue{background:radial-gradient(circle at 32% 28%, var(--blue-bright), var(--blue-deep))}.section-orb.green{background:radial-gradient(circle at 32% 28%, #b8ecca, var(--green));animation-delay:-5s}.section-orb.orange{background:radial-gradient(circle at 32% 28%, #ffd98a, var(--orange));animation-delay:-9s}@media (min-width:1200px){.section-orbs--team{z-index:0;pointer-events:none;width:15rem;height:13rem;display:block;position:absolute;top:1.75rem;left:clamp(-15rem,-12vw,-23rem)}.section-orbs--team .section-orb.blue{width:9rem;height:9rem;top:0;left:2.5rem}.section-orbs--team .section-orb.green{width:5rem;height:5rem;top:7rem;left:0}.section-orbs--team .section-orb.orange{width:3.75rem;height:3.75rem;top:6rem;left:8.5rem}}.content-group{flex-direction:column;align-items:flex-start;gap:2rem;display:flex}.cta{background:var(--blue);color:#fff;border-radius:999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:1.02rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 .75rem 1.75rem #3a6fd852}.cta:hover{transform:translateY(-2px);box-shadow:0 1rem 2.25rem #3a6fd86b}.sidebar{z-index:20;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);background:#ffffffb8;border-radius:1.4rem;flex-direction:column;padding:.6rem;display:flex;position:fixed;top:50%;right:.9rem;transform:translateY(-50%);box-shadow:0 .75rem 2rem #14213d24}.sidebar-list,.sidebar-extra{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-divider{background:var(--border);height:1px;margin:.4rem .45rem}.sidebar-item{width:100%;color:var(--ink-soft);text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:.95rem;align-items:center;gap:.6rem;padding:0;transition:color .2s,background .2s;display:flex;position:relative}.sidebar-item:active .sidebar-icon{transform:scale(.92)}.sidebar-item:hover{color:var(--blue);background:#3a6fd814}.sidebar-item.is-active{color:var(--blue);background:#3a6fd81f}.sidebar-item.is-active:before{content:"";background:var(--blue);border-radius:999px;width:.2rem;height:1.4rem;position:absolute;top:50%;right:-.6rem;transform:translateY(-50%)}.sidebar-icon{flex:none;justify-content:center;align-items:center;width:3rem;height:3rem;transition:transform .12s;display:inline-flex}.sidebar-icon svg{width:1.5rem;height:1.5rem}.sidebar-icon--flag img{object-fit:cover;border-radius:.35rem;width:1.9rem;height:1.9rem;display:block}.sidebar-label{border:1px solid var(--border);white-space:nowrap;color:var(--ink-soft);opacity:0;pointer-events:none;background:#fffffff2;border-radius:999px;margin-right:.5rem;padding:.3rem .7rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;top:50%;right:100%;transform:translateY(-50%)translate(.4rem);box-shadow:0 .5rem 1.25rem #14213d29}.sidebar-item:hover .sidebar-label,.sidebar-item:focus-visible .sidebar-label{opacity:1;transform:translateY(-50%)translate(0)}.placeholder--page{padding-right:6rem}.placeholder--page>:has(+.footer){margin-bottom:auto}.page-column{flex-direction:column;align-self:center;width:100%;max-width:72rem;display:flex}.page-head{gap:1rem;max-width:47.5rem;margin-bottom:3.5rem}.page-head h1,.contact h1{font-family:var(--font-display);margin:0;font-size:3.4rem;font-weight:700;line-height:1.1}.project-grid{z-index:2;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.75rem;width:100%;display:grid;position:relative}.project-card{border:1px solid var(--border);border-radius:var(--corner);background:#ffffffe0;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 .5rem 1.5rem #14213d14}.project-card:hover{transform:translateY(-4px);box-shadow:0 1rem 2.25rem #14213d29}.project-card-cover{aspect-ratio:16/10;background:var(--bg-soft);position:relative}.project-card-cover img{object-fit:cover}.project-card-body{flex-direction:column;gap:.6rem;padding:1.2rem 1.3rem 1.4rem;display:flex}.project-card-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem;font-weight:700}.project-card-tagline{color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.55}.project-card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{color:var(--blue-deep);letter-spacing:.04em;text-transform:uppercase;background:#3a6fd81a;border-radius:999px;align-items:center;padding:.25rem .7rem;font-size:.72rem;font-weight:600;display:inline-flex}.tag--status{color:var(--ink-soft);background:#7a849b29}.tag--year{color:#9a6a05;background:#f6a6232e}.project-detail{z-index:3;flex-direction:column;align-self:center;gap:1.5rem;width:100%;max-width:55rem;display:flex;position:relative}.project-hero{flex-direction:column;gap:1.1rem;display:flex}.project-hero h1{font-family:var(--font-display);margin:0;font-size:3.4rem;font-weight:700;line-height:1.1}.project-hero-cover{aspect-ratio:16/9;border-radius:var(--corner);background:var(--bg-soft);width:100%;margin-top:.5rem;position:relative;overflow:hidden}.project-hero-cover img{object-fit:cover}.project-hero .cta{align-self:center}.project-body{flex-direction:column;gap:1.4rem;display:flex}.block-heading{font-family:var(--font-display);color:var(--ink);margin:1rem 0 0;font-size:1.9rem;font-weight:700}.block-text{color:var(--ink-soft);margin:0;font-size:1.1rem;line-height:1.75}.block-list{color:var(--ink-soft);flex-direction:column;gap:.5rem;margin:0;padding-left:1.3rem;font-size:1.1rem;line-height:1.6;display:flex}.block-list li{padding-left:.25rem}.block-image{margin:.6rem 0}.block-image img{border-radius:var(--corner);width:auto;max-width:100%;height:auto;max-height:34rem;margin-inline:auto;display:block}.gallery-item img{border-radius:var(--corner);width:100%;height:auto;display:block}.block-image figcaption,.gallery-item figcaption{color:var(--muted);margin-top:.5rem;font-size:.9rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin:.6rem 0;display:grid}.gallery-item{margin:0}.embed{aspect-ratio:16/9;border-radius:var(--corner);background:#000;width:100%;margin:.6rem 0;position:relative;overflow:hidden}.embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.block-quote{border-left:.25rem solid var(--blue);border-radius:0 var(--corner) var(--corner) 0;background:#3a6fd80f;margin:.6rem 0;padding:1.1rem 1.4rem}.block-quote p{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.3rem;font-style:italic}.block-quote cite{color:var(--muted);margin-top:.6rem;font-size:.9rem;font-style:normal;display:block}.funding-bar{border-top:1px solid var(--border);flex-direction:column;gap:.9rem;margin-top:1.5rem;padding-top:1.4rem;display:flex}.funding-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.funding-logos{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.funding-logo{display:block}.project-byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;margin:0;font-size:.9rem;display:flex}.project-byline-item{position:relative}.project-byline-item+.project-byline-item:before{content:"·";position:absolute;left:-.65rem}.contributor-section,.partner-section,.facts-section{border-top:1px solid var(--border);flex-direction:column;gap:.9rem;margin-top:1.5rem;padding-top:1.4rem;display:flex}.facts-list{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0;display:grid}.facts-label{color:var(--ink);font-size:.95rem;font-weight:700}.facts-value{color:var(--ink-soft);margin:0;font-size:.95rem}.project-facts-inline{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--corner);flex-wrap:wrap;gap:.6rem 1.8rem;margin:0;padding:.85rem 1.1rem;display:flex}.project-facts-inline-item{flex-direction:column;gap:.1rem;min-width:0;margin:0;display:flex}.project-facts-inline-item dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.project-facts-inline-item dd{color:var(--ink);margin:0;font-size:.95rem;font-weight:600}.contributor-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));align-items:start;gap:1rem;display:grid}.contributor-card{border:1px solid var(--border);border-radius:var(--corner);background:#ffffffe0;align-items:center;gap:.75rem;margin:0;padding:.6rem .8rem;display:flex;box-shadow:0 .4rem 1.1rem #14213d0f}.contributor-photo{background:var(--bg-soft);border-radius:999px;flex:none;width:3rem;height:3rem;position:relative;overflow:hidden}.contributor-photo img{object-fit:cover}.contributor-caption{overflow-wrap:break-word;word-break:break-word;flex-direction:column;gap:.1rem;min-width:0;display:flex}.contributor-name{color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.2}.contributor-role{color:var(--ink-soft);font-size:.82rem;line-height:1.25}.partner-grid{flex-wrap:wrap;gap:1rem;display:flex}.partner-card{border:1px solid var(--border);border-radius:var(--corner);color:inherit;background:#ffffffe0;align-items:center;gap:.75rem;padding:.55rem .95rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 .4rem 1.1rem #14213d0f}a.partner-card:hover{transform:translateY(-2px);box-shadow:0 .8rem 1.8rem #14213d24}.partner-logo{align-items:center;display:inline-flex}.partner-name{color:var(--ink);font-size:.95rem;font-weight:600}.team-section{z-index:2;flex-direction:column;gap:1.2rem;width:100%;max-width:72rem;margin-bottom:2.5rem;display:flex;position:relative}.team-section+.team-section{margin-top:2.5rem}.team-section-title{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:1.05rem;font-weight:700}.team-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));align-items:start;gap:1.5rem;display:grid}@media (min-width:769px){.team-grid-current{grid-template-columns:repeat(4,1fr)}}.team-card{text-align:left;border:1px solid var(--border);border-radius:var(--corner);background:#ffffffe0;flex-direction:column;margin:0;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 .5rem 1.5rem #14213d14}.team-card:hover{transform:translateY(-4px);box-shadow:0 1rem 2.25rem #14213d29}.team-photo{aspect-ratio:1;background:var(--bg-soft);width:100%;position:relative}.team-photo img{object-fit:cover}.team-caption{flex-direction:column;gap:.25rem;padding:.9rem 1.05rem 1.1rem;display:flex}.team-name{color:var(--ink);font-size:1.05rem;font-weight:700}.team-role{color:var(--ink-soft);font-size:.95rem}.team-specialty{color:var(--ink-soft);margin-top:.15rem;font-size:.85rem;font-style:italic;line-height:1.35}.team-tags{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.team-bio-toggle{font-family:var(--font-body);color:var(--blue);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.6rem;padding:0;font-size:.85rem;font-weight:600;transition:opacity .2s}.team-bio-toggle:hover{opacity:.7}.team-bio{color:var(--ink-soft);margin:.5rem 0 0;font-size:.88rem;line-height:1.45}.team-contact{gap:.6rem;margin-top:.75rem;display:flex}.team-contact-link{width:1.85rem;height:1.85rem;color:var(--ink-soft);border-radius:.5rem;justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex}.team-contact-link:hover{color:var(--ink);background:var(--bg-soft)}.team-contact-link svg{width:1.1rem;height:1.1rem}.contact{gap:1.6rem}.contact-card{border:1px solid var(--border);border-radius:var(--corner);background:#ffffffb8;flex-direction:column;gap:.3rem;max-width:30rem;padding:1.6rem 1.8rem;display:flex;box-shadow:0 .5rem 1.5rem #14213d14}.contact-name{font-family:var(--font-display);color:var(--ink);font-size:1.5rem;font-weight:700}.contact-role{color:var(--ink-soft);font-size:1rem}.contact-email{color:var(--blue);text-underline-offset:.2em;margin-top:.5rem;font-weight:600;text-decoration:underline}.pillars{z-index:3;flex-direction:column;align-self:center;gap:5.5rem;width:100%;max-width:72rem;padding-top:12rem;padding-bottom:3rem;display:flex;position:relative}.pillars-intro{text-align:center;flex-direction:column;align-items:center;gap:2.25rem;display:flex}.pillars-heading{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:3.4rem;font-weight:700;line-height:1.12}.pillars-lead{max-width:46rem;color:var(--ink-soft);margin:0;font-size:1.3rem;line-height:1.7}.pillars-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1.75rem;display:grid}.pillar-card{border:1px solid var(--border);border-radius:var(--corner);background:#ffffffc7;flex-direction:column;gap:1.4rem;padding:3.25rem 2.5rem 3rem;transition:transform .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden;box-shadow:0 .75rem 2.5rem #14213d17}.pillar-card:hover{transform:translateY(-8px);box-shadow:0 2rem 4.5rem #14213d2e}.pillar-card:before{content:"";border-radius:var(--corner) var(--corner) 0 0;height:.3rem;position:absolute;top:0;left:0;right:0}.pillar-card--blue:before{background:linear-gradient(90deg, var(--blue-deep), var(--blue-bright))}.pillar-card--purple:before{background:linear-gradient(90deg, var(--purple), #9b5de5)}.pillar-card--orange:before{background:linear-gradient(90deg, var(--orange), #ffcf6b)}.pillar-shape{opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none;width:11.5rem;height:11.5rem;position:absolute;bottom:-2rem;right:-2rem}.pillar-shape svg{width:100%;height:100%;display:block}.pillar-card--blue .pillar-shape{color:var(--blue)}.pillar-card--purple .pillar-shape{color:var(--purple)}.pillar-card--orange .pillar-shape{color:var(--orange);opacity:.24}.pillar-title{font-family:var(--font-display);z-index:1;margin:0;font-size:2.4rem;font-weight:700;line-height:1.1;position:relative}.pillar-card--blue .pillar-title{color:var(--blue-deep)}.pillar-card--purple .pillar-title{color:var(--purple)}.pillar-card--orange .pillar-title{color:#7a5202}.pillar-body{color:var(--ink-soft);z-index:1;margin:0;font-size:1.1rem;line-height:1.78;position:relative}.home-projects{z-index:3;flex-direction:column;align-self:center;gap:5.5rem;width:100%;max-width:72rem;padding-top:9rem;padding-bottom:3rem;display:flex;position:relative}.home-projects-body{flex-direction:column;gap:1.75rem;display:flex}.home-projects-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.home-project-tile{aspect-ratio:4/5;border-radius:var(--corner);flex-direction:column;justify-content:flex-end;transition:transform .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden;box-shadow:0 .75rem 2.5rem #14213d1f}.home-project-tile:hover{transform:translateY(-8px);box-shadow:0 2rem 4.5rem #14213d33}.home-project-tile-img{object-fit:cover;transition:transform .4s}.home-project-tile:hover .home-project-tile-img{transform:scale(1.04)}.home-project-tile:after{content:"";z-index:0;background:linear-gradient(#0b122600 32%,#0b122659 58%,#0b1226e0 100%);position:absolute;inset:0}.home-project-tile-content{z-index:1;padding:1.6rem 1.6rem 1.5rem;position:relative}.home-project-tile-title{font-family:var(--font-display);color:#fff;font-size:1.85rem;font-weight:700;line-height:1.15}.home-projects-more{color:var(--blue);align-self:flex-end;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;transition:gap .2s,color .2s;display:inline-flex}.home-projects-more:hover{color:var(--blue-deep);gap:.85rem}.home-projects-more svg{width:1.25rem;height:1.25rem}.home-team{z-index:3;flex-direction:column;align-self:center;gap:1.75rem;width:100%;max-width:72rem;padding-top:11rem;padding-bottom:0;display:flex;position:relative}.home-team+.home-events{padding-top:5rem}.home-team-inner{grid-template-columns:1fr auto;align-items:center;gap:clamp(3rem,6vw,6rem);display:grid}.home-team-copy{text-align:left;flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex}.home-team-cluster{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.home-team-faces{align-items:center;display:flex}.home-team-face{aspect-ratio:1;border:.25rem solid #fff;border-radius:999px;flex:none;width:clamp(5.5rem,8vw,7.5rem);transition:transform .28s,box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 .75rem 2.5rem #14213d29}.home-team-face+.home-team-face{margin-left:-1.4rem}.home-team-face:nth-child(2n){transform:translateY(-.9rem)}.home-team-face img{object-fit:cover}.home-team-faces:hover .home-team-face:hover,.home-team-faces:hover .home-team-face:nth-child(2n):hover{z-index:1;transform:translateY(-1.6rem)scale(1.04);box-shadow:0 1.75rem 4rem #14213d3d}.home-team-count{letter-spacing:.04em;color:var(--muted);font-size:.95rem;font-weight:600}.home-events{z-index:3;flex-direction:column;align-self:center;gap:3.5rem;width:100%;max-width:72rem;padding-top:9rem;padding-bottom:3rem;display:flex;position:relative}.event-strip-wrap{position:relative}.event-nav{z-index:2;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:2.75rem;height:2.75rem;color:var(--ink-soft);background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;transition:color .2s,background .2s,border-color .2s,transform .2s;display:inline-flex;position:absolute;top:calc(50% - .375rem);transform:translateY(-50%);box-shadow:0 .4rem 1rem #14213d2e}.event-nav svg{width:1.15rem;height:1.15rem}.event-nav:hover{color:#fff;background:var(--blue);border-color:var(--blue);transform:translateY(-50%)scale(1.06)}.event-nav:active{transform:translateY(-50%)scale(.94)}.event-nav:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 .1875rem #3a6fd826}.event-nav--prev{left:-3.75rem}.event-nav--next{right:-3.75rem}.event-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:1.5rem;margin:0;padding:.5rem 0 1.25rem;list-style:none;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000 100%);mask-image:linear-gradient(90deg,#000 92%,#0000 100%)}.event-card{aspect-ratio:4/3;scroll-snap-align:start;border-radius:var(--corner);flex:0 0 clamp(20rem,30vw,26rem);transition:transform .28s,box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 .75rem 2.5rem #14213d1f}.event-card:hover{transform:translateY(-6px);box-shadow:0 1.75rem 4rem #14213d33}.event-card-img{object-fit:cover;transition:transform .4s}.event-card:hover .event-card-img{transform:scale(1.04)}.event-card:after{content:"";z-index:0;background:linear-gradient(#0b122600 30%,#0b122673 62%,#0b1226e6 100%);position:absolute;inset:0}.event-card-date{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.01em;color:var(--ink);white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:600;position:absolute;top:.9rem;right:.9rem;box-shadow:0 .4rem 1rem #14213d2e}.event-card-caption{z-index:1;color:#fff;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem 1.5rem;display:flex;position:absolute;inset:auto 0 0}.event-card-title{font-size:1.05rem;font-weight:600;line-height:1.35}.event-card-blurb{color:#ffffffe0;opacity:0;max-height:0;font-size:.92rem;line-height:1.5;transition:max-height .35s,opacity .25s;overflow:hidden}.event-card:hover .event-card-blurb,.event-card:focus-within .event-card-blurb{opacity:1;max-height:9rem}.home-contact{z-index:3;flex-direction:column;align-self:center;gap:3.5rem;width:100%;max-width:72rem;padding-top:11rem;padding-bottom:2rem;display:flex;position:relative}.home-contact--standalone{padding-top:0}.contact-spotlight{z-index:3;border:1px solid var(--border);border-radius:var(--corner);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.5rem clamp(1.5rem,3vw,2.75rem);padding:clamp(1.75rem,3vw,2.75rem);display:grid;position:relative;box-shadow:0 .75rem 2.5rem #14213d14}.contact-spotlight-photo{aspect-ratio:1;background:var(--border);border-radius:1.25rem;grid-area:1/1/span 3;align-self:center;width:clamp(7.5rem,13vw,11rem);position:relative;overflow:hidden}.contact-spotlight-photo img{object-fit:cover}.contact-spotlight-text{flex-direction:column;grid-area:2/2;gap:.45rem;display:flex}.contact-spotlight-role{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);grid-area:1/2;font-size:.85rem;font-weight:600}.contact-spotlight-name{font-family:var(--font-display);color:var(--ink);font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:700;line-height:1.15}.contact-spotlight-title{color:var(--muted);font-size:1rem;line-height:1.45}.contact-spotlight-bio{color:var(--ink-soft);grid-area:3/2;margin-top:.35rem;font-size:1.08rem;line-height:1.65}.home-contact-panel{background:linear-gradient(135deg, var(--blue-deep) 0%, var(--blue) 46%, var(--purple) 100%);border-radius:1.75rem;grid-template-columns:.85fr 1.25fr;align-items:start;gap:clamp(2.5rem,4vw,4.5rem);padding:clamp(2.5rem,4vw,4rem);display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #14213d47}.home-contact-panel:before,.home-contact-panel:after{content:"";pointer-events:none;border-radius:2rem;position:absolute}.home-contact-panel:before{background:linear-gradient(135deg, var(--orange), #ffcf6b);opacity:.22;width:15rem;height:15rem;top:-4.5rem;right:-3.5rem;transform:rotate(18deg)}.home-contact-panel:after{background:linear-gradient(135deg, var(--green), #b8ecca);opacity:.2;width:11rem;height:11rem;bottom:-3.5rem;left:-2.5rem;transform:rotate(-12deg)}.home-contact-info{z-index:1;color:#fff;flex-direction:column;gap:1.6rem;display:flex;position:relative}.home-contact-block{color:#ffffffeb;flex-direction:column;gap:.22rem;font-size:1.18rem;line-height:1.6;display:flex}.home-contact-block strong{font-family:var(--font-display);color:#fff;margin-bottom:.25rem;font-size:1.7rem;font-weight:700}.home-contact-block strong.home-contact-person{color:#fff;margin-bottom:.1rem;font-family:inherit;font-size:1.3rem;font-weight:700}.home-contact-block-label{letter-spacing:.06em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.4rem;font-size:.9rem;font-weight:600}.home-contact-link{color:#fff;text-underline-offset:.2em;width:fit-content;font-weight:600;text-decoration:underline;transition:opacity .2s}.home-contact-link:hover{opacity:.8}.home-contact-form{z-index:1;border-radius:var(--corner);background:#fffffff7;flex-direction:column;gap:1.05rem;padding:clamp(1.75rem,2.5vw,2.5rem);display:flex;position:relative;box-shadow:0 1rem 2.75rem #14213d38}.home-contact-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.home-contact-field label{color:var(--ink-soft);font-size:1rem;font-weight:600}.home-contact-field input,.home-contact-field textarea{color:var(--ink);box-sizing:border-box;border:1px solid var(--border);background:#fff;border-radius:.6rem;width:100%;min-width:0;padding:.85rem 1rem;font-family:inherit;font-size:1.12rem;transition:border-color .2s,box-shadow .2s}.home-contact-field input::placeholder,.home-contact-field textarea::placeholder{color:var(--muted)}.home-contact-field input:focus,.home-contact-field textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 .1875rem #3a6fd826}.home-contact-field textarea{resize:vertical;min-height:7rem}.home-contact-submit{border:none;margin-top:.4rem}.home-contact-submit:disabled{opacity:.6;cursor:progress}.home-contact-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.home-contact-status{margin:.2rem 0 0;font-size:1rem;font-weight:600}.home-contact-status--ok{color:#1f8a4c}.home-contact-status--err{color:#c0392b}@media (max-width:860px) and (min-width:769px){.placeholder--page{padding-right:5rem}.project-hero h1,.page-head h1,.contact h1{font-size:2.6rem}.pillars-grid{grid-template-columns:1fr;gap:1.4rem}.pillars-heading{font-size:2.6rem}.pillar-card{padding:2.75rem 2.25rem 2.5rem}.home-contact-panel{grid-template-columns:1fr}}@media (max-width:768px){:root{--edge:1.25rem}.bg-visual{display:none}.badge .dot{animation:none}.mobile-orbs{display:block;top:-1.5rem;right:-1.25rem}html,body{height:auto;overflow:clip visible}.placeholder{justify-content:flex-start;height:auto;min-height:100dvh;padding:5rem 1.25rem 7rem;overflow:visible}.placeholder--page{height:auto;padding:1.75rem 1.25rem 7rem;overflow:visible}.page-brand{margin-bottom:1.75rem}.content{gap:2rem;max-width:100%}.placeholder:not(.placeholder--page)>.content{margin-top:1rem}.placeholder:not(.placeholder--page) .cta{margin-top:2.5rem}.content h1{font-size:2.4rem;line-height:1.15}.content .lead{font-size:1.05rem}.content .brand{font-size:1.2rem}.content-group{gap:1.5rem}.badge{font-size:.72rem}.cta{padding:.8rem 1.4rem;font-size:.95rem}.page-head{margin-bottom:2rem}.page-head h1,.contact h1,.project-hero h1,.content--legal h1{font-size:2rem;line-height:1.18}.page-head h1{font-size:2.2rem}.block-heading{font-size:1.5rem}.block-text,.legal-block p{font-size:1rem}.project-grid{grid-template-columns:1fr;gap:1.25rem}.team-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.gallery{grid-template-columns:1fr}.project-detail{gap:1.25rem}.pillars{gap:2.5rem;padding-top:3.5rem}.pillars-intro{gap:1.3rem}.pillars-heading{font-size:2.2rem}.pillars-lead{font-size:1.05rem}.pillars-grid{grid-template-columns:1fr;gap:1.25rem}.pillar-card{padding:2.5rem 1.75rem 2.25rem}.pillar-title{font-size:1.9rem}.pillar-shape{width:8.5rem;height:8.5rem;bottom:-1.25rem;right:-1.25rem}.home-projects{gap:2.5rem;padding-top:3.5rem}.home-projects-grid{grid-template-columns:1fr;gap:1.25rem}.home-project-tile{aspect-ratio:16/10}.home-project-tile-title{font-size:1.6rem}.home-team{padding-top:3.5rem;padding-bottom:3rem}.home-team-inner{grid-template-columns:1fr;gap:2.5rem}.home-team-copy{text-align:center;align-items:center;gap:1.3rem}.home-team-cluster{align-items:center}.home-team-face{width:4.5rem}.home-team-face+.home-team-face{margin-left:-1rem}.home-events{gap:2.5rem;padding-top:3.5rem}.home-team+.home-events{padding-top:3.5rem}.event-card{aspect-ratio:4/3;flex-basis:80vw}.event-card-blurb{opacity:1;max-height:none}.event-nav{display:none}.home-contact{gap:2.5rem;padding-top:3.5rem}.home-contact--standalone .pillars-intro{text-align:left;align-items:flex-start}.home-contact--standalone{padding-top:0}.home-contact-panel{border-radius:1.25rem;grid-template-columns:1fr;gap:2.25rem;padding:1.5rem}.home-contact-form{order:-1;gap:.85rem;padding:1.25rem}.home-contact-field textarea{min-height:5rem}.home-contact-block{font-size:1rem}.home-contact-block strong{font-size:1.35rem}.home-contact-block strong.home-contact-person{font-size:1.15rem}.contact-spotlight{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem 1.25rem}.contact-spotlight-role{grid-area:1/1/auto/-1}.contact-spotlight-text{grid-area:2/1}.contact-spotlight-photo{grid-area:2/2}.contact-spotlight-bio{grid-area:3/1/auto/-1;margin-top:0}.placeholder .footer{margin-top:2.5rem;padding:2.25rem 1.25rem 1.75rem}.footer-grid{grid-template-columns:1fr;gap:1.75rem;padding-bottom:1.75rem}.footer-bar{gap:.6rem 1rem}.footer-copy{flex-basis:100%;margin-right:0}.footer-top--bar{display:none}.footer-top--social{margin-left:auto;padding:.5rem 1rem;display:inline-flex}.sidebar{background:#fff;border-radius:999px;flex-direction:row;align-items:center;padding:.35rem;inset:auto auto .9rem 50%;transform:translate(-50%)}.sidebar-list,.sidebar-extra{flex-direction:row;gap:.1rem}.sidebar-divider{align-self:center;width:1px;height:1.6rem;margin:0 .3rem}.sidebar-icon{width:2.9rem;height:2.9rem}.sidebar-label,.sidebar-item:hover .sidebar-label,.sidebar-item:focus-visible .sidebar-label,.sidebar-item.is-active:before{display:none}.page-brand{gap:.5rem}.page-brand-logo img{height:3.5rem}}
