:root{--black:#111315;--ink-soft:#555b64;--line:#d9dcde;--page:#fcfcfa;--surface:#f1f2ee;--yellow:#f5f0df;--rose:#f5e9e6;--blue:#e8eef5;--green:#e5efea;--accent:#155c4f;--shell:min(100% - 80px, 1160px);--body-font:"Inter", Arial, sans-serif;--heading-font:"Manrope", Arial, sans-serif;--type-hero:clamp(3rem, 2rem + 4vw, 5.75rem);--type-case-title:clamp(2.5rem, 1.6rem + 3vw, 4.5rem);--type-section:clamp(1.75rem, 1.2rem + 1.7vw, 2.65rem);--type-subheading:clamp(1.3125rem, 1.2rem + .5625vw, 1.5rem);--type-intro:clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--type-body:1.0625rem;--type-ui:1rem;--type-caption:.875rem;--leading-hero:1.1;--leading-case-title:1.15;--leading-section:1.25;--leading-subheading:1.3;--leading-intro:1.6;--leading-body:1.65;--leading-ui:1.4;--leading-caption:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page);color:var(--black);font-family:var(--body-font);font-optical-sizing:auto;font-size:var(--type-body);font-style:normal;font-weight:400;line-height:var(--leading-body);letter-spacing:normal;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}[id]{scroll-margin-top:100px}.skip-link{z-index:100;background:var(--black);color:#fff;border-radius:8px;padding:12px 20px;position:fixed;top:8px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}:focus-visible{outline-offset:4px;outline:3px solid #176dff}.section-shell{width:var(--shell);margin-inline:auto}p{max-width:65ch}h1,h2,h3{font-family:var(--heading-font);font-optical-sizing:auto;font-style:normal;font-weight:600}h1,h2{text-wrap:balance;overflow-wrap:break-word;letter-spacing:-.025em}h3{font-size:var(--type-subheading);line-height:var(--leading-subheading);letter-spacing:-.01em}.eyebrow{color:var(--accent);font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px}.site-header-wrap{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;width:100%;position:sticky;top:0}.site-header{width:var(--shell);grid-template-columns:150px 1fr 160px;align-items:center;margin:0 auto;padding:18px 0;display:grid}.brand img{width:38px}.primary-nav{font-size:var(--type-ui);font-weight:500;line-height:var(--leading-ui);justify-content:center;gap:34px;display:flex}.primary-nav a,.mobile-nav a{border-bottom:2px solid #0000}.primary-nav a:hover,.primary-nav a.active,.mobile-nav a:hover,.mobile-nav a.active{border-color:var(--black)}.header-cta{justify-self:end}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.menu-toggle span{background:var(--black);border-radius:999px;width:22px;height:2px;transition:opacity .18s,transform .22s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px)rotate(-45deg)}.mobile-menu{z-index:19;opacity:0;pointer-events:none;background:#fff;flex-direction:column;width:100%;min-height:calc(100dvh - 76px);padding:32px;transition:opacity .22s,transform .22s;display:flex;position:absolute;top:100%;left:0;transform:translateY(-6px)}.mobile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav{font-size:var(--type-subheading);font-weight:600;line-height:var(--leading-subheading);flex-direction:column;gap:22px;display:flex}.mobile-nav a{width:fit-content}.mobile-menu-cta{width:100%;margin-top:auto}.outline-button,.solid-button{border:1.5px solid var(--black);min-height:42px;font-size:var(--type-ui);font-weight:500;line-height:var(--leading-ui);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 18px;display:inline-flex}.solid-button{background:var(--black);color:#fff}.outline-button img,.solid-button img{width:18px;height:18px;transition:transform .18s}.solid-button img{filter:invert()}.outline-button:hover img,.solid-button:hover img{transform:translate(4px)}.text-link{font-size:var(--type-ui);font-weight:500;line-height:var(--leading-ui);border-bottom:1px solid;padding:10px 4px}.hero{text-align:left;border-bottom:1px solid var(--line);padding:100px 0 66px}.hero h1 span{color:var(--accent)}.hero-role{color:var(--ink-soft);font-size:var(--type-ui);margin:0 0 22px}.hero-domain{color:var(--ink-soft);font-size:var(--type-caption);flex-wrap:wrap;gap:12px 28px;margin-top:56px;display:flex}.hero-kicker{color:var(--accent);font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);letter-spacing:.06em;text-transform:uppercase;margin:0 0 18px}.hero h1{max-width:820px;font-size:var(--type-hero);line-height:var(--leading-hero);margin:0}.hero .hero-lede{max-width:56ch;color:var(--ink-soft);font-size:var(--type-intro);font-weight:400;line-height:var(--leading-intro);margin:30px 0 0}.hero-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;margin-top:34px;display:flex}.work-section,.approach-section,.capability-section,.experience-summary{padding-top:96px}.section-heading{max-width:65ch}.section-heading h2,.capability-intro h2,.experience-summary h2{font-size:var(--type-section);line-height:var(--leading-section);margin:0}.section-heading>p:last-child,.capability-intro>p:last-child,.experience-summary>div>p:last-child{color:var(--ink-soft);font-size:var(--type-body);line-height:var(--leading-body)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:42px;display:grid}.project-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.tone-rose{background:var(--rose)}.tone-yellow{background:var(--yellow)}.tone-blue{background:var(--blue)}.tone-green{background:var(--green)}.project-card-copy{padding:28px;position:relative}.project-visual{background:var(--surface);order:-1;place-items:center;height:300px;padding:28px;display:grid;overflow:hidden}.project-card.tone-green .project-visual{background:var(--green)}.project-card.tone-rose .project-visual{background:var(--rose)}.project-card.tone-blue .project-visual{background:var(--blue)}.project-card.tone-yellow .project-visual{background:var(--yellow)}.project-card h3{max-width:620px;font-size:var(--type-subheading);line-height:var(--leading-subheading);margin:0 0 14px}.project-description{max-width:65ch;color:var(--ink-soft);line-height:var(--leading-body);margin:0 0 20px}.project-meta{gap:8px;min-height:60px;margin:0 0 24px;display:grid}.project-meta div{grid-template-columns:64px 1fr;gap:12px;display:grid}.project-meta dt{color:var(--ink-soft);font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);text-transform:uppercase}.project-meta dd{font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);margin:0}.project-image{object-fit:contain;filter:drop-shadow(0 12px 16px #11131514);width:100%;height:100%;transition:transform .24s}.project-card:hover .project-image{transform:scale(1.025)}.grid-preview{background:#ffffff73;border:1px solid #0e101326;border-radius:14px;flex-wrap:wrap;align-self:end;gap:10px;margin-top:46px;padding:34px 22px;display:flex}.grid-preview span{font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);background:#fff;border-radius:999px;padding:10px 12px}.evidence-grid,.state-grid{border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:42px;display:grid;overflow:hidden}.evidence-grid article,.state-grid article{background:#fff;min-height:220px;padding:28px}.evidence-grid span,.decision-list>article>span,.workflow-list>article>span{color:var(--accent);font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);letter-spacing:.06em}.evidence-grid h3,.state-grid h3,.decision-list h3,.workflow-list h3{font-size:var(--type-subheading);line-height:var(--leading-subheading);margin:28px 0 10px}.evidence-grid p,.state-grid p,.decision-list p,.workflow-list p{color:var(--ink-soft);margin:0}.capability-section{grid-template-columns:.9fr 1.4fr;gap:64px;display:grid}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;align-content:start;gap:18px;display:grid}.capability-section .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-subsection .skills-grid{margin-top:24px}.skill-card{border-radius:14px;align-self:stretch;height:auto;padding:24px}.skill-card h3{font-size:var(--type-subheading);line-height:var(--leading-subheading);margin:0}.skill-card ul{font-size:var(--type-caption);gap:8px;margin:18px 0 0;padding:0;line-height:1.65;list-style:none;display:grid}.experience-summary{padding-bottom:100px}.experience-highlight{border-block:1px solid var(--line);grid-template-columns:142px 1fr;gap:30px;margin:38px 0 24px;padding:30px 0;display:grid}.experience-highlight>span{font-family:var(--heading-font);font-size:var(--type-section);font-weight:600;line-height:var(--leading-section);letter-spacing:-.02em}.experience-highlight h3,.experience-highlight p{margin:0 0 5px}.summary-list,.timeline{border-top:1px solid var(--line);margin-top:28px}.summary-list article,.timeline-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.summary-list h3,.timeline-row h3{font-size:var(--type-subheading);line-height:var(--leading-subheading);margin:0}.summary-list p,.timeline-row p{color:var(--ink-soft);margin:6px 0 0}.timeline-row strong{background:var(--surface);font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);border-radius:999px;flex:none;padding:7px 12px}.functional-title{color:var(--ink-soft);margin-bottom:4px!important}.about-hero{grid-template-columns:1.25fr .75fr;align-items:end;gap:60px;padding-top:90px;display:grid}.about-hero h1{font-size:var(--type-hero);line-height:var(--leading-hero);margin:0}.about-hero img{object-fit:cover;border-radius:16px;width:100%;height:520px}.about-lede{color:var(--ink-soft);font-size:var(--type-intro);line-height:var(--leading-intro)}.about-copy{max-width:65ch;margin-left:calc((100% - var(--shell)) / 2);padding-top:76px}.about-copy h2,.education-experience h2{font-size:var(--type-section);line-height:var(--leading-section);margin:0}.about-copy p{color:var(--ink-soft);font-size:var(--type-body);line-height:var(--leading-body)}.education-experience{padding:90px 0 100px}.about-subsection{margin-top:72px;scroll-margin-top:100px}.case-hero{padding-top:86px}.case-hero h1{max-width:960px;font-size:var(--type-case-title);line-height:var(--leading-case-title);margin:0}.case-hero-summary{max-width:65ch;color:var(--ink-soft);font-size:var(--type-intro);line-height:var(--leading-intro);margin:22px 0 0}.case-facts{border-block:1px solid var(--line);grid-template-columns:1.1fr .7fr .7fr 1fr;gap:28px;margin:38px 0 54px;padding:24px 0;display:grid}.case-facts p{font-size:var(--type-caption);line-height:var(--leading-caption);margin:0}.case-facts strong{font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;display:block}.case-image-frame{border-radius:18px;overflow:hidden}.case-image-frame img{object-fit:contain;width:100%;max-height:680px}.case-back{color:var(--ink-soft);font-size:var(--type-caption);margin-bottom:32px;display:inline-block}.case-back:hover{color:var(--accent);text-decoration:underline}.case-nav{z-index:6;border-block:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;gap:24px;margin-top:18px;padding-block:14px;display:flex;position:sticky;top:76px;overflow-x:auto}.case-nav a:hover{color:var(--accent);text-underline-offset:5px;text-decoration:underline}.case-nav a{font-size:var(--type-ui);font-weight:500;line-height:var(--leading-ui);flex:none}.case-overview{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px;padding:28px;display:grid}.case-overview h2{color:var(--accent);font-family:var(--body-font);font-size:var(--type-caption);letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px;line-height:1.5}.case-overview p{font-size:var(--type-ui);margin:0;line-height:1.65}.case-content,.case-nav{scroll-margin-top:130px}.case-content{padding-top:76px}.case-content h2,.next-project h2{font-family:var(--heading-font);font-size:var(--type-section);line-height:var(--leading-section);margin:0 0 22px}.case-content>p:not(.eyebrow),.case-content>blockquote{max-width:65ch;color:var(--ink-soft);font-size:var(--type-body);line-height:var(--leading-body)}.case-content ul{margin:18px 0;padding-left:20px}.case-content li{margin-top:8px}.case-grid{gap:20px;margin-top:28px;display:grid}.case-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.case-card{border-radius:14px;padding:28px}.case-card h3{font-size:var(--type-subheading);line-height:var(--leading-subheading);margin:0 0 14px}.case-card p{color:var(--ink-soft)}.case-image-full{border:1px solid #0e101314;border-radius:14px;width:100%;margin-top:32px}.workflow-list,.decision-list{border-top:1px solid var(--line);margin-top:32px}.workflow-list article,.decision-list article{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;gap:24px;padding:26px 0;display:grid}.workflow-list h3,.decision-list h3{margin-top:0}.state-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.state-grid article{min-height:180px}.split-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;display:grid}.adu-screen-grid{background:var(--surface);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:32px;margin-top:32px;padding:34px;display:grid}.adu-screen-grid img{object-fit:contain;width:100%;max-height:620px}blockquote{border-left:4px solid var(--accent);background:var(--surface);margin:24px 0;padding:20px 24px;font-style:normal}.grid-hero{background:linear-gradient(135deg,#dceeff,#d9f5f0);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;min-height:360px;padding:50px;display:flex}.grid-hero span{background:#fff;border:1px solid #0e101324;border-radius:999px;padding:14px 18px;font-weight:600}.next-project{border-top:1px solid var(--line);margin-top:80px;padding:52px 0 80px}.contact-footer{background:var(--black);color:#fff;margin-top:30px;padding-top:80px}.contact-footer h2{font-family:var(--heading-font);font-size:var(--type-section);line-height:var(--leading-section);margin:0}.contact-footer>.footer-shell>p{color:#c7c9cc;max-width:660px}.contact-grid{grid-template-columns:1fr 1.4fr 1fr;gap:14px;margin:34px 0 70px;display:grid}.contact-card{border:1px solid #3c3f43;border-radius:12px;align-items:center;gap:14px;min-width:0;padding:18px;display:flex}.contact-card>img{filter:invert();width:28px}.contact-card span{overflow-wrap:anywhere;min-width:0}.contact-card small{color:#b4b7bb;font-size:var(--type-caption);font-weight:500;line-height:var(--leading-caption);text-transform:uppercase;display:block}.contact-action{margin-left:auto}.contact-action img{filter:invert();width:20px}.copyright-wrap{border-top:1px solid #33363a}.copyright{color:#bfc2c6;font-size:var(--type-caption);line-height:var(--leading-caption);justify-content:space-between;align-items:center;padding:22px 0;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:980px){.section-shell,.site-header{width:min(100% - 64px,760px)}.site-header{grid-template-columns:56px 1fr}.primary-nav,.header-cta{display:none}.menu-toggle{display:inline-flex}.project-grid,.case-grid.two,.split-section,.adu-screen-grid,.case-overview{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-section,.about-hero,.evidence-grid{grid-template-columns:1fr}.capability-section{gap:28px}.about-copy{width:min(100% - 64px,760px);margin-inline:auto}.about-hero img{height:440px}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}}@media (max-width:640px){:root{--shell:min(100% - 40px,992px);--type-hero:2.5rem;--type-case-title:2rem;--type-section:1.625rem;--type-subheading:1.3125rem;--type-intro:1.125rem;--type-body:1rem}.site-header{width:var(--shell);grid-template-columns:1fr auto}.mobile-menu{padding:24px}.skills-grid,.capability-section .skills-grid{grid-template-columns:1fr}.hero{padding:72px 0 54px}.hero h1{font-size:var(--type-hero)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .outline-button,.hero-actions .solid-button{width:100%}.text-link{text-align:center}.work-section,.approach-section,.capability-section,.experience-summary{padding-top:68px}.project-card-copy{padding:22px}.project-visual{height:auto;padding:20px}.project-image{width:100%}.experience-highlight{grid-template-columns:1fr}.timeline-row{flex-direction:column;align-items:flex-start}.about-hero{padding-top:58px}.about-hero img{height:360px}.about-copy{width:var(--shell)}.case-hero{padding-top:58px}.case-facts{grid-template-columns:1fr}.case-nav{top:64px}.workflow-list article,.decision-list article{grid-template-columns:42px 1fr;gap:12px}.grid-hero{flex-direction:column;align-items:stretch;padding:28px 20px}.grid-hero b{text-align:center;transform:rotate(90deg)}.copyright{flex-direction:column;align-items:flex-start;gap:8px}}
