@font-face{font-family:Inter;src:url('/portfolio-assets/inter-latin-400-normal.dd05e326cf8e.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/portfolio-assets/inter-latin-600-normal.62553d159189.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/portfolio-assets/inter-latin-700-normal.aac638f7503c.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('/portfolio-assets/inter-latin-800-normal.e4a6db93190c.woff2') format('woff2');font-weight:800;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#191d18;background:#f8f9f6;font-synthesis:none;--ink:#191d18;--muted:#586052;--orange:#be431d;--line:#d7ddd2;--body:#fa6a3b;--rest:#233bc0;--mind:#d9edb0;--spirit:#ddd6f9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}a:focus-visible{outline:3px solid #234ac6;outline-offset:6px}::selection{color:white;background:#b14421}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;background:var(--ink);color:white;padding:16px;z-index:10;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:24px;border-bottom:1px solid var(--line);gap:24px}.identity{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:700}.identity img{width:42px;height:42px;object-fit:cover;border-radius:50%}.site-header nav{display:flex;gap:32px;font-size:.875rem;font-weight:600}.site-header nav a{padding-block:10px}.site-header nav a:hover,.site-footer a:hover{color:var(--orange)}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:56px;align-items:center;padding-block:80px 96px}.eyebrow{font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin:0 0 24px}.hero h1{font-size:clamp(3rem,4.95vw,4.55rem);letter-spacing:-.065em;font-weight:700;line-height:1.04;margin:0 0 28px}.hero h1 span{color:var(--orange)}.hero-intro{font-size:1.063rem;line-height:1.7;max-width:470px;margin:0 0 13px;color:#50574b}.button{display:inline-flex;gap:42px;align-items:center;justify-content:space-between;min-height:54px;padding:16px 22px;font-size:.9375rem;font-weight:600;border-radius:5px;margin-top:20px;transition:background .2s,transform .2s}.button-dark{background:var(--ink);color:white}.button:hover{background:#333d2d;transform:translateY(-2px)}.button span{font-size:1.25rem}
.goal-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;transform:rotate(-2deg)}.goal-tile{aspect-ratio:1/1.14;border-radius:7px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;transition:transform .2s,box-shadow .2s;position:relative;min-width:0}.goal-tile:hover{transform:translateY(-5px) rotate(2deg);box-shadow:0 10px 22px #1c211717}.tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.tile-top>span:last-child{font-size:1.2rem}.goal-tile strong{font-size:clamp(1.7rem,2.55vw,2.5rem);line-height:1.08;letter-spacing:-.05em;font-weight:700;overflow-wrap:normal}.goal-tile i{font-family:Georgia,serif;font-weight:400}.tile-bottom{font-size:.75rem;font-weight:600;line-height:1.5}.tile-body{background:var(--body);color:#311609}.tile-body strong{text-transform:uppercase;font-weight:800;letter-spacing:-.065em}.tile-rest{background:var(--rest);color:#fff}.tile-mind{background:var(--mind);color:#233619}.tile-mind strong{font-weight:600}.tile-spirit{background:var(--spirit);color:#393049}
.projects{padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--ink)}.section-heading .eyebrow{margin-bottom:12px;color:var(--muted)}.section-heading h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.1;letter-spacing:-.05em;font-weight:600;margin:0}.section-heading>p{font-size:.9375rem;line-height:1.65;color:var(--muted);margin:0}.project{display:grid;grid-template-columns:.85fr 1.35fr 1fr;gap:48px;padding:44px 0;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:20px}.project-number{display:block;font-family:Georgia,serif;font-size:2.5rem;line-height:1;color:#787e73;font-style:italic;margin-bottom:25px}.project-goal p{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600;margin:0 0 9px;color:var(--muted)}.project-goal h3{font-size:1.375rem;line-height:1.3;letter-spacing:-.04em;margin:0;font-weight:600}.project-story h4{font-size:1.1875rem;letter-spacing:-.035em;margin:0 0 13px;font-weight:700}.project-story p{font-size:1rem;line-height:1.7;color:#51594c;margin:0 0 20px}.project-link{display:inline-flex;align-items:center;gap:16px;font-size:.875rem;font-weight:600;border-bottom:1px solid #919789;padding-block:8px;line-height:1.5}.project-link:hover{color:var(--orange);border-color:var(--orange)}.project-link>span[aria-hidden]{font-size:1.25rem}.project-detail{align-self:stretch;border-radius:6px;min-height:217px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}.detail-label{font-size:.75rem;line-height:1.4}.project-detail strong{font-size:clamp(1.6rem,2.1vw,2rem);letter-spacing:-.04em;line-height:1.15;font-weight:600}.project-detail strong i{font-family:Georgia,serif;font-weight:400}.project-detail>span:last-child{font-size:.75rem;line-height:1.5}.detail-body{background:#ffe0d3;color:#612b17}.detail-rest{background:#e5eafa;color:#253776}.detail-mind{background:#e6efda;color:#324426}.detail-spirit{background:#ede8f5;color:#463958}
.mission{background:#161d15;color:#fff;padding:88px 0 96px}.mission-layout{display:grid;grid-template-columns:.9fr 2.35fr;gap:48px}.mission-aside .eyebrow{color:#c4d2b8;max-width:220px}.mission-aside img{width:120px;height:120px;border-radius:50%;margin-top:20px}.mission-aside>p:last-child{font-size:1rem;line-height:1.8;font-weight:600}.mission-aside>p:last-child span{font-size:.875rem;color:#b7c1b0;font-weight:400}.mission-copy h2{font-size:clamp(2.8rem,5.7vw,5.125rem);line-height:1.03;letter-spacing:-.05em;font-weight:600;margin:0 0 36px}.mission-copy h2 i{font-family:Georgia,serif;color:#d1e7ab;font-weight:400}.mission-copy>p{font-size:1.125rem;line-height:1.8;color:#c2cbbb;max-width:590px;margin:0 0 20px}.mission-copy .mission-end{color:white;margin-top:28px;font-size:1rem}.site-footer{padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted);line-height:1.7}.site-footer a{font-weight:600;min-height:44px;display:inline-flex;gap:12px;align-items:center}
@media(min-width:1500px){.hero{gap:90px;padding-block:96px 120px}.goal-tile{padding:30px}.hero h1{font-size:5rem}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.goal-tile{padding:18px}.project{gap:28px;grid-template-columns:.8fr 1.2fr 1fr}.project-detail{padding:20px}.mission-layout{grid-template-columns:.85fr 1.8fr}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:52px;padding-top:55px;padding-bottom:68px}.hero h1{font-size:clamp(3rem,8.5vw,4.6rem)}.hero-intro{max-width:560px}.goal-board{transform:none;max-width:650px}.goal-tile{aspect-ratio:1.25;padding:25px}.goal-tile strong{font-size:2.25rem}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.desktop-break{display:none}.project{grid-template-columns:.9fr 1.5fr;gap:28px}.project-detail{display:none}.mission-layout{grid-template-columns:1fr;gap:32px}.mission-aside{display:grid;grid-template-columns:64px 1fr;gap:0 16px;align-items:center}.mission-aside .eyebrow{grid-column:1/-1;max-width:none;margin-bottom:24px}.mission-aside img{width:64px;height:64px;margin:0}.mission-aside>p:last-child{margin:0}.mission-copy h2{font-size:clamp(3rem,8vw,4.75rem)}.site-footer>span:nth-child(2){display:none}}
@media(max-width:480px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:18px;gap:16px}.identity{font-size:.875rem;gap:9px}.identity img{width:32px;height:32px}.site-header nav{gap:17px;font-size:.8125rem}.hero{padding-top:42px;gap:38px}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:23px}.hero h1{font-size:clamp(2.75rem,11vw,3.7rem);margin-bottom:24px}.hero-intro{font-size:1rem}.goal-board{gap:9px}.goal-tile{padding:17px 14px;aspect-ratio:1/1.2;gap:22px}.goal-tile strong{font-size:clamp(1.45rem,6vw,1.8rem)}.tile-top,.tile-bottom{font-size:.75rem}.section-heading h2{font-size:2.15rem}.section-heading{padding-bottom:28px}.project{grid-template-columns:1fr;gap:21px;padding-block:32px}.project-goal{display:grid;grid-template-columns:38px 1fr;column-gap:16px}.project-number{grid-row:1/3;font-size:2rem;margin:0;align-self:center}.project-goal p{margin-bottom:6px;font-size:.75rem}.project-goal h3{font-size:1.375rem}.project-story{padding-left:54px}.project-story h4{font-size:1.0625rem}.project-story p{font-size:1rem}.project-link{gap:10px}.projects{padding-bottom:55px}.mission{padding-block:48px 56px}.mission-copy h2{font-size:clamp(2.55rem,10.5vw,3.4rem)}.mission-copy>p{font-size:1.0625rem}.site-footer{padding-block:20px;align-items:center}.eyebrow{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.goal-tile:hover{transform:none}}
@media print{.site-header nav,.button,.goal-board,.project-detail,.skip-link{display:none}.wrap{width:100%}.hero{display:block;padding:24px 0}.hero h1{font-size:36pt}.projects{padding:0}.project{break-inside:avoid;grid-template-columns:1fr 2fr;padding:18px 0}.mission{background:white;color:black;padding:32px 0}.mission-copy h2{font-size:30pt}.mission-copy h2 i,.mission-copy>p,.mission-aside .eyebrow,.mission-copy .mission-end{color:black}.project-link:after{content:' (' attr(href) ')';font-size:9pt}}

/* Original generated illustrations and the apps' real brand assets. */
.goal-board{gap:14px;transform:rotate(-2deg)}
.goal-tile{display:block;padding:0;aspect-ratio:auto;overflow:hidden;gap:0}
.tile-top{position:absolute;inset:14px 18px auto;z-index:1}
.tile-art{display:block;position:relative;aspect-ratio:1.2;overflow:hidden}
.tile-art img{display:block;position:absolute;width:200%;max-width:none;height:auto;left:0;top:50%;transform:translateY(-25%)}
.art-rest img{left:-100%}.art-mind img{transform:translateY(-75%)}.art-spirit img{left:-100%;transform:translateY(-75%)}
.tile-caption{display:block;padding:17px 20px 20px}
.goal-tile strong{display:block;font-size:1.375rem;line-height:1.18;letter-spacing:-.045em;margin-bottom:7px;text-transform:none;font-weight:700}
.tile-bottom{display:block;font-size:.75rem;line-height:1.5}
.tile-body{background:#ff6e37}.tile-rest{background:#213fc3}.tile-mind{background:#d9edb0}.tile-spirit{background:#ddd6f9}
.app-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}
.app-heading img{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:11px;box-shadow:0 1px 5px #191d1815}
.project-story .app-heading h4{margin:0}
@media(max-width:800px){.goal-board{transform:none}.tile-art{aspect-ratio:1.45}.goal-tile strong{font-size:1.5rem}.tile-caption{padding:18px 22px 20px}}
@media(max-width:480px){.goal-board{gap:10px}.tile-art{aspect-ratio:1.05}.tile-caption{padding:13px 14px 16px}.goal-tile strong{font-size:1.0625rem;line-height:1.2;letter-spacing:-.045em}.tile-top{inset:10px 12px auto;font-size:.75rem}.tile-top>span:last-child{font-size:1rem}.tile-bottom{font-size:.75rem}.app-heading{gap:10px;margin-bottom:14px}.app-heading img{width:40px;height:40px;border-radius:9px}.project-story .app-heading h4{font-size:1rem}}

/* Citadel shares the board's illustration-above-caption treatment. */
.tile-focus{grid-column:1/-1;background:#e7c782;color:#3d301e}
.tile-focus .tile-art{aspect-ratio:2.4}
.tile-focus .tile-art img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transform:none}
.detail-focus{background:#eee7da;color:#554932}
@media(max-width:480px){.tile-focus .tile-art{aspect-ratio:2.1}}

/* Six projects share three rows of illustrated cards. */
.tile-focus{grid-column:auto}
.tile-learn{background:#a6ded5;color:#163e37}
.tile-focus .tile-art,.tile-learn .tile-art{aspect-ratio:1.2}
.tile-learn .tile-art img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transform:none}
.detail-learn{background:#e0f1ec;color:#234b42}
.app-heading .agentelm-icon{image-rendering:pixelated;background:#e9f7f3;padding:3px}
@media(max-width:800px){.tile-focus .tile-art,.tile-learn .tile-art{aspect-ratio:1.45}}
@media(max-width:480px){.tile-focus .tile-art,.tile-learn .tile-art{aspect-ratio:1.05}}
