:root{--black:#09090b;--ink:#17121f;--paper:#f4f1eb;--white:#fff;--violet:#7c3aed;--violet-dark:#4c1d95;--lavender:#ddd1ff;--muted:#655e6e;--line:rgba(23,18,31,.2);--gutter:clamp(1.25rem,4vw,4.5rem);--radius:1.1rem;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--white);color:var(--black);padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{height:5.4rem;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(9,9,11,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px)}.wordmark{font-size:1.8rem;font-weight:800;letter-spacing:-.08em}.wordmark span{color:#a78bfa}.site-header nav{display:flex;align-items:center;gap:clamp(.85rem,2.6vw,2.3rem)}.site-header nav a{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e9e7ec;transition:color .2s}.site-header nav a:hover,.site-header nav a:focus-visible{color:#c4b5fd}.site-header .work-button{padding:.72rem 1.05rem;border:1px solid #8b5cf6;border-radius:999px;background:#7c3aed;color:#fff}.site-header .work-button:hover{background:#8b5cf6;color:#fff}.hero{min-height:calc(100svh - 5.4rem);padding:clamp(4rem,8vw,7.5rem) var(--gutter) 2rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);grid-template-rows:1fr auto;gap:3rem 6vw;background:var(--black);color:#fff;overflow:hidden}.hero-copy{align-self:center;position:relative;z-index:2}.kicker,.eyebrow{margin:0 0 1.5rem;font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.kicker{color:#bcb5c7}.hero h1{margin:0;font-size:clamp(4.3rem,10.5vw,10rem);line-height:.78;letter-spacing:-.085em;font-weight:500}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#a78bfa}.hero-intro{max-width:42rem;margin:clamp(2rem,4vw,3.6rem) 0 0;font-size:clamp(1rem,1.55vw,1.35rem);color:#d4cedb}.hero-intro strong{color:#fff}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.2rem;border:1px solid currentColor;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button-primary{background:var(--violet);border-color:var(--violet);color:#fff}.button-primary:hover{background:#8b5cf6}.text-link{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #77717e;padding-bottom:.25rem}.hero-visual{align-self:center;justify-self:end;position:relative;width:min(35vw,32rem);aspect-ratio:4/5}.portrait-frame{position:absolute;inset:0;overflow:hidden;border-radius:50% 50% 1.5rem 1.5rem;background:#302b36}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 23%;filter:grayscale(1) contrast(1.06);display:block}.portrait-shape{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;right:-12%;top:10%;background:rgba(124,58,237,.82);mix-blend-mode:screen}.portrait-tag{position:absolute;right:-1rem;bottom:1.25rem;writing-mode:vertical-rl;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#d8d2de}.hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #332f38;padding-top:1.2rem;color:#aaa3b0;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase}.statement{padding:clamp(5rem,10vw,10rem) var(--gutter);background:#fff}.statement p{max-width:72rem;margin:0;font-size:clamp(2.5rem,6.2vw,6rem);line-height:.98;letter-spacing:-.055em}.statement em{font-family:Georgia,serif;font-weight:400;color:var(--violet-dark)}.work,.capabilities,.experience,.foundation{padding:clamp(5rem,9vw,9rem) var(--gutter)}.section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.46fr);align-items:end;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--ink)}.eyebrow{color:var(--violet-dark)}.section-intro h2,.about h2,.foundation h2{margin:0;font-size:clamp(3.2rem,7.5vw,7.5rem);line-height:.87;letter-spacing:-.07em;font-weight:500}.section-intro>p{margin:0;max-width:31rem;color:var(--muted);font-size:1.05rem}.category-index{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);position:sticky;top:5.4rem;z-index:20;background:rgba(244,241,235,.95);backdrop-filter:blur(16px)}.category-index a{min-height:6.5rem;padding:1rem .9rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;font-size:.76rem;font-weight:700;line-height:1.15}.category-index a:last-child{border-right:0}.category-index a:hover,.category-index a:focus-visible{background:var(--lavender)}.category-index span{color:var(--violet-dark);font-size:.61rem;letter-spacing:.1em}.category-index sup{align-self:flex-end;color:var(--muted);font-weight:400}.work-category{padding:clamp(4.5rem,8vw,8rem) 0;border-bottom:1px solid var(--ink)}.category-heading{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;gap:2rem;align-items:start;margin-bottom:3rem}.category-number{margin:0;color:var(--violet-dark);font-size:.72rem;font-weight:700}.category-heading h3{margin:0 0 .7rem;font-size:clamp(2.2rem,4.5vw,4.5rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.category-heading div p{max-width:40rem;margin:0;color:var(--muted);font-size:1rem}.category-heading>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.8rem)}.category-card-wrap{grid-column:span 4}.category-card-wrap:has(.is-wide){grid-column:span 8}.category-card-wrap.is-collapsed{display:none}.category-card-wrap.is-collapsed.is-visible{display:block;animation:fade-in .4s var(--ease)}.work-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.work-thumb{position:relative;overflow:hidden;background:#ded9e6;aspect-ratio:1/1;border-radius:.3rem}.work-card.is-wide .work-thumb{aspect-ratio:16/9}.work-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s var(--ease)}.work-open:hover .work-thumb img{transform:scale(1.03)}.work-badge{position:absolute;right:.7rem;top:.7rem;padding:.5rem .65rem;border-radius:999px;background:rgba(9,9,11,.88);color:#fff;font-size:.58rem;letter-spacing:.11em;text-transform:uppercase}.work-caption{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0 2.4rem}.work-caption h3{margin:0 0 .25rem;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.1;font-weight:600;letter-spacing:-.025em}.work-caption div span{font-size:.62rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.work-caption>span{color:var(--violet-dark)}.pdf-cover{height:100%;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--violet-dark);color:#fff}.pdf-cover span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#ddd1ff}.pdf-cover strong{max-width:90%;font-size:clamp(1.8rem,4vw,4rem);line-height:.88;letter-spacing:-.06em}.show-all{width:100%;margin-top:1rem;padding:1.25rem 0;display:flex;justify-content:space-between;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.show-all:hover{color:var(--violet-dark)}.archive-summary{display:flex;align-items:flex-end;gap:2rem;padding-top:5rem}.archive-summary span{font-size:clamp(6rem,18vw,17rem);line-height:.7;letter-spacing:-.09em;color:var(--violet)}.archive-summary p{margin:0;font-size:clamp(1rem,2vw,1.6rem);font-weight:600}.about{padding:clamp(5rem,9vw,9rem) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);background:var(--black);color:#fff}.about .eyebrow{color:#a78bfa}.about h2 em{font-family:Georgia,serif;font-weight:400;color:#a78bfa}.about-copy{align-self:end;max-width:40rem}.about-copy .lead{font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.15;letter-spacing:-.035em;color:#fff}.about-copy>p:not(.lead){color:#bcb5c7;font-size:1.04rem}.role-card{margin-top:3rem;padding:1.5rem;border:1px solid #49434f;border-radius:var(--radius);background:#16131a}.role-card span{display:block;margin-bottom:2rem;color:#a78bfa;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.role-card strong{font-size:1.35rem}.role-card p{margin:.2rem 0 0;color:#aaa3b0}.capabilities{background:#dcd0fb}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr)}.capability-grid article{min-height:24rem;padding:1.35rem;border-right:1px solid rgba(23,18,31,.25);display:flex;flex-direction:column}.capability-grid article:first-child{border-left:1px solid rgba(23,18,31,.25)}.capability-grid span{font-size:.65rem;color:var(--violet-dark)}.capability-grid h3{margin:auto 0 1rem;font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1;letter-spacing:-.045em}.capability-grid p{margin:0;color:#514959}.tools{margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.experience{background:#fff}.timeline{margin-top:4.5rem}.timeline-item{display:grid;grid-template-columns:minmax(9rem,.32fr) 1fr;gap:3rem;padding:2.5rem 0;border-top:1px solid var(--line)}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-item .year{margin:0;font-size:.75rem;color:var(--muted);font-weight:700}.timeline-item>div{max-width:48rem}.company{margin:0 0 .35rem;color:var(--violet-dark);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.timeline-item h3{margin:0 0 1rem;font-size:clamp(1.8rem,3.5vw,3.4rem);line-height:1;letter-spacing:-.045em;font-weight:500}.timeline-item>div>p:not(.company){color:var(--muted)}.timeline-item.is-current{margin:0 calc(var(--gutter)*-.35);padding:2.5rem calc(var(--gutter)*.35);background:#eee8ff;border-color:transparent}.status{display:inline-block;margin-top:1rem;padding:.5rem .7rem;border:1px solid var(--violet);border-radius:999px;color:var(--violet-dark);font-size:.6rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.award{padding-left:1rem;border-left:3px solid var(--violet)}.foundation{background:var(--paper)}.foundation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.foundation-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:4rem;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.foundation-grid article{min-height:13rem;padding:1.4rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column}.foundation-grid span{font-size:.63rem;color:var(--violet-dark);letter-spacing:.1em;text-transform:uppercase}.foundation-grid h3{margin:auto 0 .25rem;font-size:clamp(1.3rem,2.2vw,2.1rem);line-height:1.05;letter-spacing:-.035em}.foundation-grid p{margin:0;color:var(--muted)}.contact{padding:clamp(5rem,10vw,9rem) var(--gutter) 2rem;background:var(--violet-dark);color:#fff}.contact .eyebrow{color:#ddd1ff}.contact h2{margin:4rem 0 6rem;font-size:clamp(3.5rem,9vw,9rem);line-height:.87;letter-spacing:-.075em;font-weight:500}.contact h2 a{font-family:Georgia,serif;font-weight:400;color:#ddd1ff}.contact h2 a:hover{color:#fff}.contact-meta{display:flex;gap:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.35);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.contact-meta a:hover{text-decoration:underline}footer{padding:1.4rem var(--gutter);display:flex;justify-content:space-between;gap:2rem;background:var(--black);color:#aaa3b0;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}footer p{margin:0}.gallery-loading{padding:4rem 0;border-bottom:1px solid var(--ink)}.lightbox{width:min(96vw,1450px);height:min(94vh,960px);padding:0;border:0;background:var(--black);color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(10px)}.lightbox-close{position:absolute;z-index:3;right:1rem;top:1rem;padding:.7rem 1rem;border:0;border-radius:999px;background:#fff;color:#09090b;cursor:pointer}.lightbox-stage{height:calc(100% - 6rem);display:grid;place-items:center;background:#050506}.lightbox-stage img,.lightbox-stage video,.lightbox-stage iframe{max-width:100%;max-height:100%;width:auto;height:auto;border:0}.lightbox-stage iframe{width:100%;height:100%}.lightbox-caption{height:6rem;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.lightbox-caption span{font-size:.62rem;color:#c4b5fd;letter-spacing:.1em;text-transform:uppercase}.lightbox-caption p{margin:.15rem 0 0;color:#8f8896;font-size:.65rem}.lightbox-caption h3{margin:0;text-align:right;font-size:1.2rem;font-weight:500}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.in-view{opacity:1;transform:none}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.hero{grid-template-columns:1fr .72fr}.category-index{overflow:auto;grid-template-columns:repeat(7,minmax(8.5rem,1fr))}.category-card-wrap,.category-card-wrap:has(.is-wide){grid-column:span 6}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article:nth-child(3){border-left:1px solid rgba(23,18,31,.25)}.about{grid-template-columns:1fr}.about-copy{max-width:46rem}.section-intro{grid-template-columns:1fr}.section-intro>p{max-width:44rem}}
@media(max-width:700px){.site-header{height:4.6rem}.site-header nav{gap:.6rem}.site-header nav a:not(.work-button){display:none}.site-header .work-button{padding:.65rem .9rem}.hero{min-height:auto;padding-top:4.5rem;grid-template-columns:1fr;grid-template-rows:auto auto auto}.hero h1{font-size:clamp(4.2rem,22vw,7rem)}.hero-visual{width:min(78vw,27rem);justify-self:center;grid-row:2}.hero-meta{grid-column:1;flex-direction:column;gap:.55rem}.statement p{font-size:clamp(2.4rem,12vw,4rem)}.category-heading{grid-template-columns:2rem 1fr}.category-heading>span{grid-column:2}.category-card-wrap,.category-card-wrap:has(.is-wide){grid-column:1/-1}.work-card.is-wide .work-thumb,.work-thumb{aspect-ratio:4/3}.archive-summary{align-items:flex-start;flex-direction:column}.about,.capabilities,.experience,.foundation,.work{padding-top:4.5rem;padding-bottom:4.5rem}.about h2,.section-intro h2,.foundation h2{font-size:clamp(3rem,15vw,5rem)}.capability-grid{grid-template-columns:1fr}.capability-grid article,.capability-grid article:nth-child(3){min-height:16rem;border-left:1px solid rgba(23,18,31,.25);border-bottom:1px solid rgba(23,18,31,.25)}.timeline-item{grid-template-columns:1fr;gap:.75rem}.foundation-heading{display:block}.foundation-grid{grid-template-columns:1fr}.foundation-grid article{min-height:10rem}.contact h2{margin:3rem 0 4rem}.contact-meta,footer{flex-direction:column;gap:.8rem}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none}.lightbox-caption h3{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.work-thumb img{transition:none}}

/* Editorial work archive — informed by the supplied case-study reference. */
.work{background:#fff}.work .section-intro{padding-bottom:4.5rem}.work .section-intro h2{font-family:Georgia,serif;font-weight:400}.category-index{background:rgba(255,255,255,.96);border-top:1px solid var(--line)}.category-index a{min-height:5.5rem;justify-content:flex-start;gap:.45rem}.category-index a sup{margin-top:auto}.work-category{padding-top:clamp(5rem,9vw,9rem)}.category-heading{grid-template-columns:3rem minmax(0,1fr) auto;margin-bottom:2.5rem}.category-heading h3{font-family:Georgia,serif;font-weight:400}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.category-card-wrap,.category-card-wrap:has(.is-wide){grid-column:auto}.work-thumb,.work-card.is-wide .work-thumb{aspect-ratio:4/3;border-radius:0;background:#eceaf0}.work-open{position:relative;overflow:hidden}.work-caption{position:absolute;inset:auto 0 0;padding:5rem 1.4rem 1.25rem;align-items:flex-end;color:#fff;background:linear-gradient(transparent,rgba(9,9,11,.86));opacity:0;transform:translateY(.75rem);transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}.work-caption h3{font-size:clamp(1.2rem,2vw,2rem);font-weight:500}.work-caption div span{color:#d6d0dc}.work-caption>span{color:#c4b5fd;font-size:1.2rem}.work-open:hover .work-caption,.work-open:focus-visible .work-caption{opacity:1;transform:none}.show-all{margin-top:2.5rem}.pdf-cover{background:#0b0b0d;justify-content:center;align-items:center;text-align:center}.pdf-cover span{position:absolute;left:1.5rem;top:1.5rem}.pdf-cover strong{font-family:Georgia,serif;font-weight:400}.lightbox{width:min(96vw,1500px);height:94vh;max-width:none;max-height:none;background:#fff;color:var(--ink);overflow:auto}.lightbox::backdrop{background:rgba(9,9,11,.88)}.case-toolbar{position:sticky;top:0;z-index:5;min-height:4.5rem;padding:0 clamp(1.2rem,3vw,3rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.case-toolbar p{margin:0;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.lightbox-close{position:static;padding:.65rem .9rem;background:var(--black);color:#fff}.case-header{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,7rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);gap:3rem;align-items:end}.case-header span{display:block;margin-bottom:1.5rem;color:var(--violet-dark);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.case-header h2{margin:0;font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);line-height:.9;font-weight:400;letter-spacing:-.055em}.case-header>div:last-child>p:first-child{font-size:clamp(1rem,1.6vw,1.3rem);color:var(--muted)}.case-collection{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-dark)}.lightbox-stage{height:auto;min-height:55vh;padding:0 clamp(1.2rem,6vw,7rem) 5rem;background:#fff}.lightbox-stage img,.lightbox-stage video{display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;background:#f0edf3}.lightbox-stage iframe{width:100%;height:70vh;background:#f0edf3}.case-navigation{padding:1.5rem clamp(1.2rem,6vw,7rem) 3rem;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.case-navigation button{padding:.8rem 0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.case-navigation button:hover{color:var(--violet)}
@media(max-width:700px){.work .section-intro{padding-bottom:3rem}.category-heading{grid-template-columns:2rem 1fr}.category-grid{grid-template-columns:1fr;gap:.65rem}.work-caption{position:static;opacity:1;transform:none;padding:.9rem 0 2.2rem;background:transparent;color:var(--ink)}.work-caption div span{color:var(--muted)}.work-caption>span{color:var(--violet-dark)}.case-header{grid-template-columns:1fr;padding-top:3rem}.case-header h2{font-size:clamp(2.8rem,15vw,5rem)}.lightbox{width:100vw;height:100vh}.lightbox-stage{min-height:35vh;padding-bottom:3rem}.lightbox-stage iframe{height:60vh}}
.category-index{scrollbar-width:none}.category-index::-webkit-scrollbar{display:none}.work-category{scroll-margin-top:11.5rem}
