:root{--ww-bg:#f5f5f5;--ww-surface:#fff;--ww-surface-2:#efefef;--ww-border:#d4d4d4;--ww-ink:#111;--ww-muted:#505050;--ww-subtle:#6b6b6b;--ww-blue:#1e40af;--ww-blue-2:#3b82f6;--ww-focus:#1e40af;--ww-dark:#111;--ww-shadow:0 20px 60px #00000014;--ww-radius:18px;--ww-radius-sm:11px;--ww-max:1200px;--color-global-bg:var(--ww-bg);--color-global-text:var(--ww-ink);--color-surface-bg:var(--ww-surface);--color-surface-bg-elevated:var(--ww-surface-2);--color-surface-bg-hover:var(--ww-surface);--color-surface-border:var(--ww-border);--color-surface-border-hover:#b9c7eb;--color-text-primary:var(--ww-ink);--color-text-secondary:var(--ww-muted);--color-text-muted:var(--ww-subtle);--color-text-subtle:#8a8a8a;--color-link:var(--ww-blue);--color-link-hover:#16358f;--color-link-visited:var(--ww-blue);--color-accent-400:var(--ww-blue-2);--color-accent-500:var(--ww-blue);--color-accent-600:var(--ww-blue);--color-accent-700:#17358f;--color-nav-bg:transparent;--color-nav-border:transparent;--color-nav-link:var(--ww-muted);--color-nav-link-hover:var(--ww-ink);--color-nav-link-active:var(--ww-ink);--color-footer-bg:var(--ww-dark);--color-footer-text:#a7a7a7;--color-footer-border:#2d2d2d;--color-badge-neutral-bg:var(--ww-surface-2);--color-badge-neutral-border:var(--ww-border);--color-badge-neutral-text:#444;--color-button-primary-bg:var(--ww-blue);--color-button-primary-bg-hover:#17358f;--color-button-primary-bg-active:#142e7e;--color-button-primary-text:#fff;--color-button-secondary-bg:var(--ww-surface);--color-button-secondary-border:var(--ww-border);--color-focus-ring:var(--ww-focus);--font-family-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-family-heading:var(--font-family-body);--font-sans:var(--font-family-body);--font-display:var(--font-family-body);--text-xs:.72rem;--text-sm:.86rem;--text-base:1rem;--text-lg:1.16rem;--text-xl:1.35rem;--text-2xl:1.75rem;--text-3xl:2.4rem;--text-4xl:4.8rem;--text-5xl:6rem;--leading-tight:.98;--leading-normal:1.55;--leading-relaxed:1.65;--tracking-tight:-.045em;--tracking-wide:.09em;--radius-lg:var(--ww-radius-sm);--radius-xl:var(--ww-radius);--radius-2xl:var(--ww-radius);--radius-3xl:24px;--shadow-soft:var(--ww-shadow);--shadow-soft-lg:var(--ww-shadow);--shadow-lg:var(--ww-shadow);--container-max-override:var(--ww-max);--container-px-override:20px;--simple-layout-max-width:900px;--footer-py-override:35px}@media (prefers-color-scheme:dark){:root{--ww-bg:#0e1012;--ww-surface:#17191c;--ww-surface-2:#202328;--ww-border:#34383f;--ww-ink:#f4f5f6;--ww-muted:#b5bac1;--ww-subtle:#9299a2;--ww-blue:#7db0ff;--ww-blue-2:#60a5fa;--ww-focus:#93c5fd;--ww-dark:#050607;--ww-shadow:0 20px 60px #00000057;--color-button-primary-text:#07101e;--color-link-hover:#a8c9ff;--color-link-plain:var(--ww-blue);--color-link-plain-hover:#a8c9ff;--color-accent-700:#a8c9ff;--color-badge-neutral-text:#d1d5db;--color-surface-border-hover:#53647f}}html{background:var(--ww-bg);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ww-bg);color:var(--ww-ink);font-family:var(--font-family-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}.app-shell{background:var(--ww-bg);min-height:100vh;color:var(--ww-ink)}.app-background{display:none!important}.container{max-width:var(--ww-max);padding-left:20px;padding-right:20px}@media (width<=760px){.container{padding-left:14px;padding-right:14px}}.app-main h1,.app-main h2,.app-main h3,.app-main h4{font-family:var(--font-family-body);color:var(--ww-ink)}.app-main p,.app-main li,.app-main dd{color:var(--ww-muted)}.app-main p a,.app-main li a{color:var(--ww-blue);text-underline-offset:3px}.simple-layout{padding:clamp(70px,8vw,115px) 0 clamp(92px,10vw,145px)}.simple-layout__header{max-width:900px}.simple-layout__title,.work-title{letter-spacing:-.07em;margin:0;font-size:clamp(3.4rem,8vw,7rem);font-weight:800;line-height:.9}.simple-layout__intro,.work-subtitle{max-width:760px;color:var(--ww-muted);margin:20px 0 0;font-size:1.08rem;line-height:1.6}.simple-layout__content{margin-top:clamp(58px,7vw,90px)}.work-section{margin-top:0;padding:0 0 clamp(70px,8vw,110px)}.work-section+.work-section{border-top:1px solid var(--ww-border);margin-top:0;padding-top:clamp(70px,8vw,110px)}.work-clients{gap:32px}.work-clients__intro{gap:10px;max-width:780px}.work-clients__eyebrow{color:var(--ww-blue);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.work-clients__title{letter-spacing:-.06em;margin:0;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:800;line-height:.96}.work-clients__lead{max-width:760px;color:var(--ww-muted);margin:0;font-size:1.02rem}.home-featured__item{gap:clamp(34px,6vw,72px);padding:clamp(42px,6vw,78px) 0}.home-featured__item+.home-featured__item{border-top:1px solid var(--ww-border)}.home-featured__media{border:1px solid var(--ww-border);border-radius:var(--ww-radius);background:var(--ww-surface);box-shadow:var(--ww-shadow)}.home-featured__media:before{background:var(--ww-surface-2);border-color:var(--ww-border)}.home-featured__media img{background:var(--ww-surface)}.home-featured__content{gap:18px}.home-featured__meta{gap:8px}.home-featured__eyebrow{color:var(--ww-blue);letter-spacing:.1em;font-size:.72rem;font-weight:800}.home-featured__title{font-family:var(--font-family-body);letter-spacing:-.045em;font-size:clamp(1.55rem,3vw,2.35rem);font-weight:760;line-height:1.02}.home-featured__description{color:var(--ww-muted);font-size:.96rem;line-height:1.6}.home-featured__tag,.case-study-tag{border:1px solid var(--ww-border);background:var(--ww-surface);color:var(--ww-muted);border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:700}.home-featured__cta-link--primary,.about-cta--primary{border:1px solid var(--ww-blue);background:var(--ww-blue);color:#fff;width:max-content;max-width:100%;min-height:44px;box-shadow:none;border-radius:10px;padding:.65rem .95rem;font-size:.86rem;font-weight:750}.home-featured__cta-link--primary:hover,.about-cta--primary:hover{background:var(--ww-blue);color:#fff;transform:translateY(-1px)}@media (prefers-color-scheme:dark){.home-featured__cta-link--primary,.about-cta--primary,.home-featured__cta-link--primary:hover,.about-cta--primary:hover{color:#07101e}}.home-featured--compact{gap:18px}.home-featured--compact .home-featured__item{background:var(--ww-surface);border-radius:15px;padding:24px;border:1px solid var(--ww-border)!important}.home-featured--compact .home-featured__title{font-size:1.35rem}.work-layout{padding:clamp(66px,7vw,105px) 0 clamp(90px,10vw,145px)}.work-layout__header{max-width:1050px}.work-layout__back-link{color:var(--ww-muted);margin-bottom:30px;font-size:.82rem;font-weight:750}.work-layout__back-link:hover{color:var(--ww-blue)}.work-layout__title{max-width:1000px;font-family:var(--font-family-body);letter-spacing:-.07em;color:var(--ww-ink);margin:0;font-size:clamp(3.2rem,7.3vw,6.7rem);font-weight:800;line-height:.9}.work-layout__description{max-width:800px;color:var(--ww-muted);margin:24px 0 0;font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.55}.work-layout__header .case-study-summary,.case-study-summary{border:1px solid var(--ww-border);border-radius:var(--ww-radius);background:var(--ww-surface);max-width:none;box-shadow:none;margin:42px 0 0;padding:0;overflow:hidden}.case-study-summary__grid{gap:0;padding:0}.case-study-summary__item{border:0;border-right:1px solid var(--ww-border);border-bottom:1px solid var(--ww-border);margin:0;padding:19px 20px}.case-study-summary__label{color:var(--ww-blue);letter-spacing:.1em;font-size:.68rem;font-weight:800}.case-study-summary__value{color:var(--ww-ink);text-transform:none;margin-top:7px;font-size:.9rem;line-height:1.45}.case-study-summary__list{gap:5px 12px}.case-study-summary__list li{color:var(--ww-muted);font-size:.86rem}.work-layout__content{margin-top:clamp(60px,7vw,90px)}.case-study-body{margin-top:0}.case-study-body>section{border-top:1px solid var(--ww-border);padding:clamp(40px,5vw,68px) 0}.case-study-body>section:first-child{border-top:0;padding-top:0}.case-study-body h2,.work-layout__content h2{letter-spacing:-.055em;max-width:48rem;margin:0 auto 18px;font-size:clamp(2rem,4.3vw,3.6rem);font-weight:800;line-height:.98}.case-study-body h3,.work-layout__content h3{letter-spacing:-.035em;max-width:48rem;margin:32px auto 12px;font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:760;line-height:1.08}.case-study-body p,.case-study-body ul,.case-study-body ol,.work-layout__content>p,.work-layout__content>ul,.work-layout__content>ol{max-width:48rem;margin-left:auto;margin-right:auto}.case-study-body p,.case-study-body li{color:var(--ww-muted);font-size:1rem;line-height:1.68}.case-study-body strong{color:var(--ww-ink)}.case-study-decision,.case-study-note{border:1px solid var(--ww-border);border-left:4px solid var(--ww-blue);background:var(--ww-surface);border-radius:14px;max-width:48rem;margin:28px auto;padding:20px 22px}.case-study-decision__label{color:var(--ww-blue);letter-spacing:.1em;font-size:.68rem;font-weight:800}.case-study-flow{max-width:var(--ww-max);gap:12px;margin:28px auto 36px}.case-study-flow li,.case-study-system-list>div{border:1px solid var(--ww-border);background:var(--ww-surface);border-radius:15px;padding:20px}.case-study-flow li:before{color:var(--ww-blue);font-weight:800}.case-study-flow span,.case-study-system-list dd{color:var(--ww-muted)}.case-study-table-wrap{max-width:var(--ww-max);border:1px solid var(--ww-border);background:var(--ww-surface);border-radius:15px;margin:30px auto 38px}.case-study-table-wrap:focus-visible{outline:3px solid var(--ww-focus);outline-offset:3px}.case-study-comparison{color:var(--ww-muted);font-size:.86rem}.case-study-comparison th{background:var(--ww-surface-2);color:var(--ww-ink)}.case-study-comparison th,.case-study-comparison td{border-color:var(--ww-border)}.case-study-comparison__chosen td{background:color-mix(in srgb,var(--ww-blue) 6%,var(--ww-surface))}.case-study-media-grid{gap:18px;margin:32px 0}.case-study-figure{gap:10px}.case-study-figure figcaption{color:var(--ww-subtle);font-size:.78rem}.lightbox__thumbnail,.case-study-figure img,.diagram-board__trigger{border-radius:var(--ww-radius);border-color:var(--ww-border);box-shadow:0 14px 45px #00000014}.lightbox__trigger{position:relative}.lightbox__label{z-index:2;color:#fff;pointer-events:none;background:#050607e6;border:1px solid #ffffff4d;border-radius:999px;align-items:center;min-height:32px;padding:6px 10px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 18px #00000040}.lightbox__trigger:focus-visible .lightbox__label{outline-offset:2px;outline:2px solid #fff}@media (prefers-color-scheme:dark){.lightbox__thumbnail,.case-study-figure img{box-shadow:0 14px 45px #00000038}}.diagram-board__pill{background:var(--ww-surface);border-color:var(--ww-border);color:var(--ww-ink);box-shadow:none}.about-section{padding:clamp(72px,9vw,125px) 0}.about-section--hero{padding-top:clamp(66px,8vw,110px)}.about-heading{align-items:flex-end;gap:clamp(34px,6vw,72px)}.about-title{max-width:950px;font-family:var(--font-family-body);letter-spacing:-.072em;z-index:1000;margin:0;font-size:clamp(3.4rem,8vw,7rem);font-weight:800;line-height:.89;position:relative}.about-title span{display:block}.about-title span+span{color:var(--ww-muted);margin-top:12px;font-weight:430}.about-subtitle{max-width:760px;color:var(--ww-muted);margin:24px 0 0;font-size:1.12rem;line-height:1.55}.about-subtitle span{display:block}.about-hero__actions{gap:12px;margin-top:28px}.about-hero__divider{background:var(--ww-border)}.social-link{border:1px solid var(--ww-border);background:var(--ww-surface);min-height:44px;color:var(--ww-ink);border-radius:10px;padding:.6rem .8rem}.social-link:hover{background:var(--ww-surface-2);border-color:var(--ww-border)}.about-heading__media{align-items:center}.about-avatar{width:clamp(240px,27vw,360px);height:clamp(240px,27vw,360px)}.about-avatar img{box-shadow:var(--ww-shadow);transform:rotate(4deg)}.about-avatar-shape{opacity:.8;filter:saturate(.45)}.about-body{border-top:1px solid var(--ww-border)}.about-section-title{font-family:var(--font-family-body);letter-spacing:-.055em;margin:0 0 16px;font-size:clamp(2rem,4.5vw,3.7rem);font-weight:800;line-height:.98}.about-section-subtitle,.about-prose p{color:var(--ww-muted);font-size:1rem;line-height:1.65}.highlight-grid,.skills-grid{gap:12px}.highlight-card,.skills-card{border:1px solid var(--ww-border);background:var(--ww-surface);box-shadow:none;border-radius:15px}.highlight-card{padding:20px}.highlight-icon{color:var(--ww-blue);border:1px solid var(--ww-border);background:0 0}.highlight-title{font-family:var(--font-family-body);letter-spacing:-.025em;color:var(--ww-ink)}.about-section--work,.about-section--capabilities,.about-section--personal{border-top:1px solid var(--ww-border)}.about-cta--ghost{border:1px solid var(--ww-border);background:var(--ww-surface);min-height:44px;color:var(--ww-ink);border-radius:10px;padding:.65rem .95rem;font-size:.86rem;font-weight:750}.about-cta--ghost:hover{background:var(--ww-surface-2);border-color:var(--ww-border)}@media (width<=960px){.about-heading{align-items:flex-start}.about-heading__media{align-items:flex-start;width:100%}.home-featured--compact .home-featured__item{padding:20px}}@media (width<=760px){.simple-layout__title,.work-title,.work-layout__title,.about-title{font-size:clamp(3rem,15vw,5rem)}.home-featured__item{gap:26px;padding:40px 0}.case-study-summary__item{border-right:0}.case-study-body>section{padding:40px 0}}.case-study-figure--browser .lightbox__thumbnail,.case-study-media-grid--dense .lightbox__thumbnail{width:100%;height:auto;display:block}