
:root{--p-ink:#211d27;--p-paper:#fffaf3;--p-muted:#625d65;--p-purple:#6a4c93;--p-blue:#116fa9;--p-yellow:#ffca3a;--p-green:#8ac926;--p-coral:#ff595e;--p-line:#dcd5d9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}.portfolio-page{margin:0;background:var(--p-paper);color:var(--p-ink);font:16px/1.65 Inter,Arial,sans-serif}.portfolio-page img{display:block;max-width:100%;height:auto}.portfolio-page a{color:inherit}.portfolio-page button{font:inherit}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{font-family:Sora,Arial,sans-serif;letter-spacing:-.05em;line-height:1.12;margin:0}.portfolio-page h1{font-size:clamp(40px,5.5vw,72px)}.portfolio-page h2{font-size:clamp(30px,3.4vw,46px)}.portfolio-page h3{font-size:24px}.portfolio-page p{margin:0 0 16px}.portfolio-page figure{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #116fa9;outline-offset:5px}.p-shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.p-section{padding:64px 0}.p-section.tint{background:#fff3d5}.p-eyebrow{font:700 11px/1.6 Sora,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--p-purple);margin:0 0 14px!important}.p-intro{font-size:18px;line-height:1.65;color:var(--p-muted);max-width:64ch;margin-top:24px!important}.p-section-heading{display:flex;gap:28px;justify-content:space-between;align-items:end;margin-bottom:30px}.p-section-heading>p{font-size:15px;color:var(--p-muted);max-width:42ch;margin-bottom:0}.p-box{display:inline-block;padding:.04em .13em .1em;border:2px solid var(--p-ink);box-shadow:4px 4px 0 var(--p-ink);background:var(--p-yellow);line-height:1.02;transform:rotate(-1deg);margin-right:.1em}.p-box.green{background:var(--p-green)}.p-box.coral{background:var(--p-coral);transform:rotate(1deg);color:var(--p-ink)}.p-box.purple{background:var(--p-purple);color:#fff}.p-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 19px;border:2px solid var(--p-ink);border-radius:7px;background:var(--p-blue);color:white!important;font:700 13px/1.5 Sora,Arial,sans-serif;text-decoration:none;box-shadow:4px 4px 0 var(--p-yellow);transition:transform .15s,box-shadow .15s}.p-button:hover{transform:translate(-1px,-2px);box-shadow:5px 6px 0 var(--p-yellow)}.p-button.alt{box-shadow:none;background:transparent;color:var(--p-ink)!important}.p-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-top:24px}.p-text-link{font:700 13px/1.6 Sora,Arial,sans-serif;color:var(--p-blue)!important;text-underline-offset:4px}.p-small{font-size:13px;color:var(--p-muted);line-height:1.6}.p-tag{display:inline-block;padding:4px 9px;border:1px solid var(--p-line);border-radius:4px;background:#fff;font:600 10px/1.6 Inter,Arial,sans-serif;color:var(--p-muted)}.p-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.p-note{border-left:3px solid var(--p-purple);background:#f0ebf5;padding:16px 20px;font-size:14px;line-height:1.65;color:#43334f}.p-note p:last-child{margin-bottom:0}.p-line{border:0;border-top:1px solid var(--p-line);margin:0}
.site-header{background:var(--p-paper);color:var(--p-ink);font-family:Inter,Arial,sans-serif}.site-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px;border-bottom:2px solid var(--p-ink);position:relative}.site-wordmark{display:inline-block;white-space:nowrap;font:800 17px/1.2 Sora,Arial,sans-serif;text-decoration:none!important;letter-spacing:-.04em;color:var(--p-ink)!important;flex-shrink:0}.site-wordmark span{color:var(--p-purple)}.site-wordmark small{display:inline-block;font:400 11px/1.5 Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 0 10px;vertical-align:baseline;color:var(--p-muted)}#site-navigation{display:flex;gap:22px;align-items:center}#site-navigation a{font:700 11px/1.5 Sora,Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;text-decoration:none;color:var(--p-ink)}#site-navigation a:hover,#site-navigation a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}#site-navigation a.site-nav-contact{padding:11px 14px;background:var(--p-blue);color:#fff;border:2px solid var(--p-ink);border-radius:6px;box-shadow:3px 3px 0 var(--p-yellow)}.site-menu-button{display:none;align-items:center;gap:9px;padding:10px 12px;background:white;border:2px solid var(--p-ink);border-radius:6px;color:var(--p-ink);font:700 12px/1.5 Sora,Arial,sans-serif}.site-skip{position:absolute;left:-9999px;top:8px;z-index:99999;background:var(--p-blue);color:#fff;padding:10px 16px}.site-skip:focus{left:10px}.site-footer{padding:30px 0!important;background:var(--p-purple)!important;color:#fff!important;font:13px/1.65 Inter,Arial,sans-serif}.site-footer-inner{display:flex;justify-content:space-between;gap:24px}.site-footer small{color:#eee8f5}.site-footer nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-footer a{color:#fff!important;text-underline-offset:4px}.p-contact{background:#eee7f4;padding:36px 0;border-top:1px solid #dcd1e6}.p-contact-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.p-contact h2{font-size:26px;letter-spacing:-.04em}.p-contact p{color:var(--p-muted);font-size:14px;margin:10px 0 0;max-width:60ch}.p-contact .p-button{flex-shrink:0}
.p-hero{padding:52px 0 32px}.p-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:65px;align-items:center}.p-hero h1{max-width:10.5ch;font-size:clamp(48px,5.9vw,80px);line-height:1.14}.p-hero-last{white-space:nowrap}.p-hero .p-intro{max-width:45ch;font-size:17px;margin:25px 0 12px!important}.p-availability{font-size:13px;color:var(--p-muted);max-width:52ch}.p-portrait{border:2px solid var(--p-ink);box-shadow:10px 10px 0 var(--p-yellow);position:relative}.p-portrait img{width:100%;aspect-ratio:1;object-fit:cover}.p-portrait figcaption{position:absolute;right:12px;bottom:12px;background:var(--p-yellow);border:2px solid var(--p-ink);padding:7px 10px;font:700 9px/1.5 Sora,Arial,sans-serif;letter-spacing:.06em;transform:rotate(-2deg);color:var(--p-ink)}.p-proof{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:22px}.p-proof span{font-size:11px;color:var(--p-muted)}.p-proof strong{display:block;color:var(--p-ink);font:700 15px/1.4 Sora,Arial,sans-serif}.p-company-wall{margin-top:44px;padding-top:21px;border-top:1px solid var(--p-line)}.p-company-wall>p{font:600 11px/1.5 Inter,Arial,sans-serif;color:var(--p-muted);margin-bottom:18px}.p-company-logos{display:grid;grid-template-columns:repeat(8,1fr);gap:28px;align-items:center}.p-company-logos img{width:100%;height:40px;object-fit:contain}.p-company-logos img:nth-child(1){height:38px}.p-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.p-case-card{border:2px solid var(--p-ink);background:white;box-shadow:5px 5px 0 var(--accent,var(--p-yellow));display:flex;flex-direction:column;min-width:0}.p-case-cover{display:block;height:210px;background:#f0edf2;border-bottom:2px solid var(--p-ink);overflow:hidden}.p-case-cover img{height:100%;width:100%;object-fit:contain}.p-case-cover.screen img{object-fit:cover;object-position:top}.p-case-content{padding:23px 22px;display:flex;flex-direction:column;flex:1}.p-case-content .p-eyebrow{font-size:10px;margin-bottom:12px!important;letter-spacing:.07em}.p-case-content h3{font-size:25px;margin-bottom:16px;line-height:1.2}.p-case-content>p{font-size:14px;color:var(--p-muted)}.p-case-metrics{display:flex;gap:23px;flex-wrap:wrap;margin-top:auto;padding-top:18px;padding-bottom:20px}.p-case-metrics strong{font:800 23px/1.3 Sora,Arial,sans-serif;color:var(--p-purple);display:block}.p-case-metrics span{font-size:10px;color:var(--p-muted)}.p-project-strip{display:grid;grid-template-columns:.32fr 1fr auto;gap:28px;align-items:center;margin-top:36px;border-top:1px solid var(--p-line);padding-top:24px}.p-project-strip h3{font-size:20px;line-height:1.25}.p-project-strip p{font-size:14px;color:var(--p-muted);margin:6px 0 0}.p-project-strip .p-eyebrow{margin:0!important}.p-build-teaser{border-block:1px solid var(--p-line);background:#f0ebf5}.p-build-teaser-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}.p-build-teaser h2{max-width:12ch}.p-build-links{display:grid;gap:0}.p-build-links a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;text-decoration:none;border-bottom:1px solid #cfc3da}.p-build-links a:first-child{padding-top:0}.p-build-links strong{font:700 16px/1.4 Sora,Arial,sans-serif;display:block}.p-build-links small{font-size:12px;color:var(--p-muted)}.p-build-links a>span:last-child{color:var(--p-purple);font-size:24px}.p-selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.p-sample{display:block;text-decoration:none}.p-sample-media{display:block;border:1px solid var(--p-line);background:#fff;overflow:hidden;height:200px}.p-sample img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .2s}.p-sample:hover img{transform:scale(1.025)}.p-sample strong{font:700 13px/1.5 Sora,Arial,sans-serif;display:block;margin-top:11px}.p-sample small{color:var(--p-muted);font-size:11px;display:block;margin-top:2px}
.p-page-hero{padding:58px 0 44px}.p-page-hero h1{max-width:16ch}.p-page-hero .p-intro{max-width:66ch}.p-page-hero .p-note{margin-top:25px;max-width:78ch}.p-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.p-tool-card{display:flex;flex-direction:column;border:2px solid var(--p-ink);background:#fff;box-shadow:5px 5px 0 var(--accent,var(--p-yellow));overflow:hidden;min-width:0}.p-tool-header{min-height:154px;padding:26px;display:flex;gap:25px;justify-content:space-between;align-items:flex-start;background:var(--shade,#fff0c4);border-bottom:2px solid var(--p-ink)}.p-tool-header h3{font-size:31px;max-width:14ch;line-height:1.16}.p-tool-number{font:800 42px/1 Sora,Arial,sans-serif;opacity:.27;letter-spacing:-.07em}.p-tool-category{font:600 10px/1.5 Sora,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:10px}.p-tool-body{padding:26px;display:flex;flex-direction:column;flex:1}.p-tool-body dl{margin:0 0 20px}.p-tool-body dt{font:700 11px/1.5 Sora,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;color:var(--p-purple)}.p-tool-body dd{margin:0 0 16px;font-size:14px;color:var(--p-muted)}.p-tool-body .p-actions{margin-top:auto}.p-tool-body .p-small{margin-top:16px;margin-bottom:0;font-size:11px}.p-tool-screenshot{border-bottom:1px solid var(--p-line);height:232px;background:#eef2f0}.p-tool-screenshot img{width:100%;height:100%;object-fit:cover;object-position:top}.p-lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.p-lab-card{padding:24px;border:1px solid var(--p-line);border-top:4px solid var(--accent,var(--p-green));background:white}.p-lab-card h3{font-size:22px;margin-bottom:12px}.p-lab-card p{font-size:14px;color:var(--p-muted);max-width:52ch}.p-lab-card a{font-size:12px}.p-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.p-method-grid div{padding:20px 0;border-top:2px solid var(--p-purple)}.p-method-grid strong{font:700 16px/1.5 Sora,Arial,sans-serif;display:block;margin-bottom:12px}.p-method-grid p{font-size:14px;color:var(--p-muted)}
.p-filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}.p-filter-bar button{padding:9px 16px;border:1px solid #aca4b3;background:#fff;border-radius:4px;color:var(--p-ink);cursor:pointer;font:600 12px/1.6 Inter,Arial,sans-serif;min-height:42px}.p-filter-bar button[aria-pressed=true]{background:var(--p-purple);color:#fff;border-color:var(--p-purple)}.p-filter-bar[hidden]{display:none}.p-gallery-group[hidden]{display:none!important}.p-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.p-gallery-item{min-width:0;background:white;border:1px solid var(--p-line)}.p-gallery-item>a{display:block;text-decoration:none}.p-gallery-img{display:block;height:290px;overflow:hidden;background:#efebf0}.p-gallery-img img{width:100%;height:100%;object-fit:cover;object-position:top}.p-gallery-img.contain img{object-fit:contain;padding:10px}.p-gallery-caption{padding:15px 16px}.p-gallery-caption strong{display:block;font:700 14px/1.5 Sora,Arial,sans-serif}.p-gallery-caption span{display:block;font-size:12px;color:var(--p-muted);margin-top:5px}.p-gallery-caption .p-open{display:block;font-size:11px;color:var(--p-blue);font-weight:600;margin-top:8px}.p-gallery-item video{display:block;width:100%;height:310px;background:#30243b;object-fit:contain}.p-carousel{margin-top:34px;border:1px solid var(--p-line);padding:23px;background:#fff}.p-carousel-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:18px}.p-carousel-heading h3{font-size:23px}.p-carousel-heading p{font-size:13px;color:var(--p-muted);margin:8px 0 0}.p-carousel-controls{display:flex;gap:8px;flex-shrink:0}.p-carousel-controls button{width:42px;height:42px;border:1px solid var(--p-purple);border-radius:5px;background:white;color:var(--p-purple);font-size:22px;cursor:pointer}.p-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:var(--p-purple) #eee;scroll-behavior:smooth}.p-carousel-track>a{flex:0 0 30%;scroll-snap-align:start;text-decoration:none;min-width:0}.p-carousel-track img{width:100%;height:auto}.p-carousel-track span{display:block;font-size:10px;margin-top:8px;color:var(--p-muted)}.p-lightbox{width:min(1100px,calc(100% - 28px));max-height:92vh;padding:0;border:0;border-radius:8px;background:var(--p-paper);box-shadow:0 18px 90px #0006}.p-lightbox::backdrop{background:#17131ade}.p-lightbox-bar{position:sticky;top:0;display:flex;gap:16px;align-items:center;justify-content:space-between;background:var(--p-paper);padding:14px 18px;border-bottom:1px solid var(--p-line);z-index:2}.p-lightbox-bar p{font-size:14px;margin:0}.p-lightbox-bar button{padding:8px 12px;background:#fff;border:1px solid var(--p-ink);border-radius:4px;cursor:pointer;flex-shrink:0}.p-lightbox img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}.p-lightbox-inner{padding:16px}.p-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.p-case-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.p-case-hero h1{font-size:clamp(38px,4.3vw,58px);max-width:14ch}.p-case-hero figure{border:2px solid var(--p-ink);background:#fff;box-shadow:7px 7px 0 var(--p-green)}.p-case-hero figure img{aspect-ratio:1.3;object-fit:cover;object-position:top;width:100%}.p-case-hero figcaption{font-size:11px;color:var(--p-muted);padding:10px 13px}.p-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px 0;border-block:1px solid var(--p-line)}.p-summary-grid strong{display:block;font:700 12px/1.5 Sora,Arial,sans-serif;color:var(--p-purple);margin-bottom:6px}.p-summary-grid p{font-size:14px;margin:0;color:var(--p-muted)}.p-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.p-decision{background:#fff;border:1px solid var(--p-line);padding:26px}.p-decision h3{font-size:21px;line-height:1.3;margin-bottom:15px}.p-decision p{font-size:14px;color:var(--p-muted);margin:0}.p-case-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.p-case-evidence article{background:#fff;padding:25px;border:1px solid var(--p-line);display:flex;flex-direction:column}.p-case-evidence h3{font-size:22px;margin-bottom:13px}.p-case-evidence p{font-size:14px;color:var(--p-muted)}.p-case-evidence a{margin-top:auto}.p-case-evidence .p-small{font-size:11px;margin-top:13px}.p-proof-details{border-top:1px solid var(--p-line);margin-top:18px;padding-top:13px;font:13px/1.7 Inter,Arial,sans-serif;color:#5c5265}.p-proof-details summary{cursor:pointer;color:#4b375c;font-weight:700;padding:7px 0}.p-proof-details p{margin:10px 0 0}.p-evidence-note{padding:18px 0;font:12px/1.65 Inter,Arial,sans-serif;color:#625869}.p-evidence-note .p-shell{max-width:1160px}.p-strategy-story{margin:28px 0 0;padding:24px;border:1px solid #d3c7df;border-left:4px solid #6a4c93;background:#fbf8ff;font:14px/1.7 Inter,Arial,sans-serif;color:#554b5c}.p-strategy-story h3{font:700 24px/1.25 Sora,Arial,sans-serif;letter-spacing:-.035em;color:#211d27;margin:0 0 20px}.p-strategy-story dl{display:grid;grid-template-columns:110px 1fr;gap:10px 18px;margin:0}.p-strategy-story dt{font-weight:700;color:#4f3767}.p-strategy-story dd{margin:0}.p-strategy-story .p-small{margin:15px 0 0;font-size:12px}.resume-compact-cta{padding:30px 0!important;background:#efe8f5!important;color:var(--p-ink)!important}.resume-compact-cta .p-shell{display:flex;align-items:center;justify-content:space-between;gap:25px}.resume-compact-cta h2{font:700 26px/1.25 Sora,Arial,sans-serif!important;letter-spacing:-.04em!important;max-width:none!important;margin:0!important}.resume-compact-cta p{font:14px/1.65 Inter,Arial,sans-serif;color:var(--p-muted);margin:9px 0 0!important}.resume-compact-cta .p-actions{margin:0!important;flex-shrink:0}
@media(min-width:1550px){.p-hero h1{font-size:80px}}
@media(max-width:1000px){.p-shell{width:calc(100% - 44px)}#site-navigation{gap:15px}.p-hero-grid{gap:34px}.p-hero h1{font-size:clamp(44px,6.3vw,66px)}.p-case-content{padding:21px 18px}.p-case-content h3{font-size:22px}.p-case-cover{height:180px}.p-project-strip{grid-template-columns:1fr 2fr}.p-project-strip>a{grid-column:2}.p-company-logos{gap:18px}.p-gallery-img{height:250px}.p-case-hero{gap:28px}}
@media(max-width:800px){.site-nav{min-height:74px;flex-wrap:wrap;gap:0;padding-block:16px}.site-menu-button:not([hidden]){display:flex}#site-navigation{width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:18px;padding-top:8px;border-top:1px solid var(--p-line)}#site-navigation a{padding:13px 8px}#site-navigation a.site-nav-contact{margin-top:10px;text-align:center}.js-ready #site-navigation{display:none}.js-ready #site-navigation.is-open{display:flex}.p-hero{padding-top:35px}.p-hero-grid{grid-template-columns:1.1fr .9fr;gap:26px}.p-hero h1{font-size:45px}.p-hero .p-intro{font-size:15px}.p-portrait figcaption{font-size:8px;padding:5px 7px;right:8px;bottom:8px}.p-case-grid{grid-template-columns:1fr}.p-case-card{display:grid;grid-template-columns:.8fr 1.2fr}.p-case-cover{height:100%;min-height:310px;border-bottom:0;border-right:2px solid var(--p-ink)}.p-case-content h3{font-size:25px}.p-case-metrics{padding-top:8px}.p-build-teaser-grid{gap:28px}.p-company-logos{grid-template-columns:repeat(4,1fr);gap:22px}.p-company-logos img{height:36px}.p-project-grid{gap:22px}.p-tool-header{padding:21px}.p-tool-header h3{font-size:25px}.p-tool-number{font-size:34px}.p-tool-body{padding:21px}.p-case-hero{grid-template-columns:1fr}.p-case-hero figure{max-width:680px}.p-case-hero figure img{aspect-ratio:1.65}.p-case-evidence{grid-template-columns:1fr}.p-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-selected-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.p-sample-media{height:170px}.p-contact-inner,.resume-compact-cta .p-shell{align-items:flex-start;flex-direction:column}.site-footer-inner{flex-direction:column}.p-section{padding:48px 0}}
@media(max-width:600px){.p-shell{width:calc(100% - 36px)}.p-section-heading{display:block}.p-section-heading>p{margin-top:20px}.p-hero-grid{grid-template-columns:1fr;gap:30px}.p-hero h1{font-size:clamp(44px,11.4vw,62px)}.p-hero .p-intro{font-size:16px;max-width:42ch}.p-portrait{max-width:370px;width:calc(100% - 8px)}.p-proof{gap:12px 23px}.p-company-wall{margin-top:33px}.p-company-logos{gap:20px 12px}.p-company-logos img{height:31px}.p-case-card{display:flex}.p-case-cover{height:210px;min-height:0;border-right:0;border-bottom:2px solid var(--p-ink)}.p-case-content{padding:24px}.p-case-content h3{font-size:26px}.p-case-metrics{margin-top:0}.p-project-strip{grid-template-columns:1fr;gap:14px}.p-project-strip>a{grid-column:auto}.p-build-teaser-grid{grid-template-columns:1fr;gap:28px}.p-build-teaser h2{max-width:15ch}.p-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.p-sample-media{height:165px}.p-sample strong{font-size:12px}.p-page-hero{padding:38px 0 30px}.p-page-hero h1{font-size:43px}.p-page-hero .p-intro{font-size:16px}.p-project-grid,.p-lab-grid,.p-method-grid,.p-decision-grid{grid-template-columns:1fr}.p-tool-header h3{font-size:29px;max-width:15ch}.p-tool-header{min-height:140px}.p-tool-body{padding:24px}.p-lab-card{padding:22px}.p-note{font-size:13px;padding:14px 16px}.p-gallery-grid{gap:18px 14px}.p-gallery-img{height:245px}.p-gallery-caption{padding:12px}.p-gallery-caption strong{font-size:12px}.p-gallery-caption span{font-size:11px}.p-gallery-item video{height:275px}.p-carousel{padding:17px}.p-carousel-heading{align-items:flex-start}.p-carousel-heading h3{font-size:22px}.p-carousel-track>a{flex-basis:80%}.p-summary-grid{grid-template-columns:1fr;gap:20px}.p-strategy-story{padding:19px}.p-strategy-story dl{grid-template-columns:1fr;gap:4px}.p-strategy-story dd{margin-bottom:13px}.p-contact h2,.resume-compact-cta h2{font-size:25px!important}.p-contact .p-button{align-self:flex-start}.site-footer nav{gap:13px}.p-section-heading .p-button{margin-top:20px}.p-lightbox-bar p{font-size:12px}.p-lightbox-inner{padding:8px}}
@media(max-width:370px){.p-shell{width:calc(100% - 28px)}.p-hero h1{font-size:42px}.p-gallery-grid{grid-template-columns:1fr}.p-sample-media{height:150px}.p-tool-header h3{font-size:26px}.p-tool-number{font-size:30px}.p-carousel-heading{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.p-contact,.resume-compact-cta,.p-filter-bar,.p-actions{display:none!important}.portfolio-page{background:white;color:black}.p-section{padding:20px 0}.p-case-grid,.p-project-grid{display:block}.p-case-card,.p-tool-card{break-inside:avoid;margin-bottom:20px;box-shadow:none}.p-shell{width:100%}}

/* Shared-page isolation from legacy résumé/case-study selectors. */
.site-footer .site-footer-inner{max-width:1160px}.site-footer nav{height:auto;border:0;min-height:0}.site-header a,.site-footer a{font-family:Inter,Arial,sans-serif}.site-header .site-wordmark{font-family:Sora,Arial,sans-serif}.site-menu-button[hidden]{display:none!important}.p-gallery-group .p-gallery-grid{align-items:start}

/* Keep résumé content readable without scroll animations or JavaScript. */
.reveal,.job{opacity:1!important;transform:none!important}

/* Keep the name and pronunciation together, with room for the mobile menu. */
@media(max-width:480px){
  .site-header .site-wordmark{font-size:clamp(14px,3.9vw,17px)}
  .site-header .site-wordmark small{font-size:10px;margin-left:7px}
  .site-header .site-menu-button{padding:9px 8px;gap:6px;font-size:11px}
}
