.hero.svelte-tibptj{position:relative;display:grid;grid-template-columns:var(--content-columns);gap:clamp(1.6rem,3vw,2.4rem);align-items:start;isolation:isolate;padding-bottom:clamp(5rem,22vw,22rem);overflow:visible}.hero.svelte-tibptj:after{content:"";position:absolute;bottom:0;left:50%;width:100vw;aspect-ratio:3.2;background:url(../../../svgs/splash.svg) center top / 100% auto no-repeat;opacity:.8;transform:translate(-50%);z-index:0;pointer-events:none}.hero__intro.svelte-tibptj,.hero__about.svelte-tibptj{position:relative;z-index:1;align-items:center}.hero__about.svelte-tibptj{margin-top:.8rem}.hero__intro.svelte-tibptj h1:where(.svelte-tibptj){font-family:Fraunces,Times New Roman,serif;font-size:clamp(2.2rem,3vw + 1rem,3.4rem);font-weight:500;letter-spacing:-.01em;margin:.5rem 0 1rem}.hero__link.svelte-tibptj{font-family:IBM Plex Sans,sans-serif;font-weight:600}.hero__about.svelte-tibptj p:where(.svelte-tibptj){margin:0 0 1.1rem;color:#21201c}.hero__about.svelte-tibptj ul:where(.svelte-tibptj){padding-left:1.2rem;margin:0;display:grid;gap:.35rem;color:#21201c}.hero__about.svelte-tibptj li:where(.svelte-tibptj){list-style:square}@media(max-width:960px){.hero.svelte-tibptj{grid-template-columns:1fr;gap:2.1rem}}@media(max-width:600px){.hero.svelte-tibptj{gap:1.8rem}.hero.svelte-tibptj:after{background-position:center top}}.project-card.svelte-oviq8z{display:grid;grid-template-rows:auto auto;align-content:start;text-decoration:none;color:#edf1f4;cursor:pointer;transition:transform .14s ease,color .14s ease;position:relative;min-width:0}.project-card.is-disabled.svelte-oviq8z{pointer-events:none}.project-card.svelte-oviq8z:hover,.project-card.svelte-oviq8z:focus-visible{color:#edf1f4;transform:translateY(-2px)}.project-card.svelte-oviq8z:focus-visible{outline:2px solid rgba(230,236,242,.92);outline-offset:2px}.project-card__media-wrap.svelte-oviq8z{position:relative;overflow:hidden;line-height:0}.project-card__meta.svelte-oviq8z{padding:.68rem .05rem .2rem;display:grid;gap:.2rem}.project-card__meta.svelte-oviq8z h2:where(.svelte-oviq8z){margin:0;font-size:clamp(.95rem,.34vw + .87rem,1.1rem);font-weight:500;letter-spacing:.02em;font-family:IBM Plex Sans,sans-serif}.project-card__meta.svelte-oviq8z p:where(.svelte-oviq8z){margin:0;font-size:.71rem;letter-spacing:.14em;text-transform:uppercase;color:#eaf0f4b3;font-family:IBM Plex Mono,monospace;font-weight:500}.watson-collage.svelte-139sacl{display:grid;grid-template-columns:.88fr 1fr .78fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"morocco portrait portrait" "morocco tunisia stack";gap:0;height:100%;min-height:0;box-sizing:border-box}.watson-collage.svelte-139sacl img:where(.svelte-139sacl),.right-stack.svelte-139sacl{min-height:0;min-width:0}.watson-collage.svelte-139sacl img:where(.svelte-139sacl){width:100%;height:100%;object-fit:cover;object-position:center center}.morocco.svelte-139sacl{grid-area:morocco}.portrait.svelte-139sacl{grid-area:portrait}.tunisia.svelte-139sacl{grid-area:tunisia}.right-stack.svelte-139sacl{grid-area:stack;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:0}.right-stack.svelte-139sacl .tanzania:where(.svelte-139sacl){grid-row:1}.right-stack.svelte-139sacl .upstudio:where(.svelte-139sacl){grid-row:2}@media(max-width:640px){.watson-collage.svelte-139sacl{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-template-areas:"portrait portrait" "morocco tunisia" "morocco stack"}}.projects-page.svelte-10uh9r6{position:relative;isolation:isolate;padding:clamp(1.25rem,2vw + .6rem,2.1rem) clamp(.9rem,1.2vw + .55rem,1.55rem) clamp(1.4rem,2.6vw + .8rem,2.5rem);display:grid;gap:clamp(1rem,1.25vw,1.25rem);background:#1f2a33;color:#edf2f6}.projects-page.svelte-10uh9r6:before{content:"";position:absolute;inset:0 0 0 50%;width:100vw;transform:translate(-50%);background:#1f2a33;z-index:-1;pointer-events:none}.projects-page__header.svelte-10uh9r6{display:grid;gap:.2rem}.projects-page__eyebrow.svelte-10uh9r6{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:#9aa6b2;font-family:IBM Plex Mono,monospace}.projects-page__header.svelte-10uh9r6 h1:where(.svelte-10uh9r6){margin:0;font-size:clamp(1.38rem,.85vw + 1.12rem,1.9rem);line-height:1.15;font-weight:500;letter-spacing:-.01em;font-family:Fraunces,Times New Roman,serif;color:#edf2f6}.projects-layout.svelte-10uh9r6{display:grid;gap:clamp(1rem,1.2vw + .45rem,1.5rem)}.projects-row.svelte-10uh9r6{display:grid;gap:clamp(.85rem,1.05vw + .4rem,1.3rem);align-items:start}.projects-row--top.svelte-10uh9r6{grid-template-columns:minmax(0,1.72fr) minmax(0,1fr)}.projects-top-stack.svelte-10uh9r6{display:grid;gap:clamp(.72rem,.95vw + .35rem,1.18rem);align-content:start}.projects-row--megnifying.svelte-10uh9r6{grid-template-columns:minmax(0,1fr)}.projects-row--bottom.svelte-10uh9r6{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)}.projects-row--top.svelte-10uh9r6 .card--math{margin-top:clamp(.12rem,.34vw,.38rem)}.projects-row--top.svelte-10uh9r6 .card--cs{margin-top:clamp(.35rem,.78vw,.8rem)}.projects-row--megnifying.svelte-10uh9r6 .card--megnifying{margin-top:clamp(.2rem,.44vw,.54rem)}.projects-row--bottom.svelte-10uh9r6 .card--boston{margin-top:clamp(.16rem,.42vw,.44rem)}.projects-row--bottom.svelte-10uh9r6 .card--robotcycle{margin-top:clamp(.62rem,1.06vw,1.1rem)}.media-image.svelte-10uh9r6,.media-video.svelte-10uh9r6{width:100%;height:auto;display:block;background:transparent}.media-image.svelte-10uh9r6{object-fit:cover}.media-video.svelte-10uh9r6{aspect-ratio:16 / 9;object-fit:cover}.page-fade.svelte-10uh9r6{position:fixed;inset:0;z-index:500;pointer-events:none;background:var(--bg);opacity:0;transition:opacity .14s ease}.page-fade.is-active.svelte-10uh9r6{opacity:1}@media(max-width:960px){.projects-row--top.svelte-10uh9r6,.projects-row--bottom.svelte-10uh9r6{grid-template-columns:1fr}.projects-layout.svelte-10uh9r6 .card--math,.projects-layout.svelte-10uh9r6 .card--cs,.projects-layout.svelte-10uh9r6 .card--megnifying,.projects-layout.svelte-10uh9r6 .card--boston,.projects-layout.svelte-10uh9r6 .card--robotcycle{margin-top:0}}@media(max-width:640px){.projects-layout.svelte-10uh9r6,.projects-row.svelte-10uh9r6,.projects-top-stack.svelte-10uh9r6{gap:.8rem}}.footer-bar.svelte-jz8lnl{margin:3rem 0 1rem;padding:1.2rem;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 10px 30px #0000000f}.footer-bar__inner.svelte-jz8lnl{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(220px,.7fr) minmax(260px,.9fr);align-items:center;gap:1.25rem}.footer-meta.svelte-jz8lnl{display:flex;align-items:center;gap:.75rem;font-family:IBM Plex Mono,monospace;color:#2f2e2a}.version-pill.svelte-jz8lnl{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(0,84,180,.25);background:#0054b40f;color:#003f8a;font-weight:600;letter-spacing:.02em}.meta-copy.svelte-jz8lnl{display:flex;align-items:baseline;gap:.5rem;letter-spacing:.08em}.meta-label.svelte-jz8lnl{text-transform:uppercase;color:#5c5b56;font-weight:700}.meta-date.svelte-jz8lnl{color:#0d0c0a;font-weight:600}.footer-links.svelte-jz8lnl{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.6rem 1rem}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl){display:inline-flex;align-items:baseline;gap:.25rem;padding-bottom:.15rem;border-bottom:1px dashed rgba(0,0,0,.2);font-weight:600}.footer-links.svelte-jz8lnl sup:where(.svelte-jz8lnl){color:#b3730b;font-family:IBM Plex Mono,monospace;letter-spacing:.05em}.footer-contact.svelte-jz8lnl{display:grid;gap:.25rem}.footer-contact__headline.svelte-jz8lnl{margin:0;font-size:1.05rem;font-weight:600}.footer-contact__email.svelte-jz8lnl{display:inline-flex;align-items:baseline;gap:.25rem;font-family:IBM Plex Mono,monospace;font-weight:600;padding-bottom:.2rem;border-bottom:1px dashed rgba(0,0,0,.2)}.footer-contact__email.svelte-jz8lnl sup:where(.svelte-jz8lnl){color:#b3730b;font-family:IBM Plex Mono,monospace;letter-spacing:.05em}@media(max-width:960px){.footer-bar__inner.svelte-jz8lnl{grid-template-columns:1fr 1fr}.footer-contact.svelte-jz8lnl{grid-column:1 / -1}}@media(max-width:600px){.footer-bar.svelte-jz8lnl{padding:1rem}.footer-bar__inner.svelte-jz8lnl{grid-template-columns:1fr;gap:.9rem}.footer-links.svelte-jz8lnl{grid-template-columns:1fr 1fr}}
