.page-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.9rem var(--gutter);background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border)}.page-nav__back{display:inline-flex;align-items:center;gap:.4em;font-size:var(--fs-sm);color:var(--c-text-mid);transition:color var(--t-fast) var(--ease-out)}.page-nav__back:before{content:"←"}.page-nav__back:hover{color:var(--c-text)}.placeholder-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(4rem + var(--sp-2xl)) var(--gutter) var(--sp-2xl);text-align:center;gap:var(--sp-lg)}.placeholder-page__label{font-size:var(--fs-sm);font-weight:600;color:var(--c-accent);letter-spacing:.08em;text-transform:uppercase}.placeholder-page__title{font-family:var(--f-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;color:var(--c-text);letter-spacing:-.02em;max-width:20ch;line-height:1.1}.placeholder-page__body{font-size:var(--fs-md);color:var(--c-text-mid);max-width:42ch;line-height:1.6}.placeholder-page__back{margin-top:var(--sp-sm)}.cv-page{padding-top:calc(3.5rem + var(--sp-2xl));padding-bottom:var(--sp-section);padding-inline:var(--gutter);max-width:860px;margin-inline:auto}.cv-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);margin-bottom:var(--sp-2xl);flex-wrap:wrap}.cv-page__name{font-family:var(--f-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--c-text);letter-spacing:-.02em;line-height:1}.cv-page__title{font-size:var(--fs-lg);color:var(--c-text-mid);margin-top:.5rem}.cv-section{margin-bottom:var(--sp-2xl)}.cv-section__heading{font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;color:var(--c-accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--sp-md);padding-bottom:.5rem;border-bottom:1px solid var(--c-border)}.cv-entry{display:grid;grid-template-columns:1fr auto;gap:.25rem var(--sp-lg);margin-bottom:var(--sp-lg)}.cv-entry__company{font-size:var(--fs-md);font-weight:600;color:var(--c-text);grid-column:1}.cv-entry__dates{font-size:var(--fs-sm);color:var(--c-text-light);white-space:nowrap;grid-column:2;grid-row:1}.cv-entry__role{font-size:var(--fs-sm);color:var(--c-text-mid);grid-column:1;font-style:italic}.cv-entry__desc{font-size:var(--fs-sm);color:var(--c-text-mid);line-height:1.6;grid-column:1 / -1;margin-top:.25rem}.case-study{padding-top:calc(3.5rem + var(--sp-2xl));padding-bottom:var(--sp-section)}.case-study__hero{padding-inline:var(--gutter);max-width:var(--max-w);margin-inline:auto;margin-bottom:120px}.case-study__label{font-size:var(--fs-sm);font-weight:600;color:var(--c-accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-md)}.case-study__title{font-family:var(--f-display);font-size:clamp(2rem,5vw,3.75rem);font-weight:400;color:var(--c-text);letter-spacing:-.02em;line-height:1.1;max-width:32ch;margin-bottom:var(--sp-md)}.case-study__subtitle{font-size:var(--fs-lg);color:var(--c-text-mid);max-width:56ch;line-height:1.6;margin-bottom:var(--sp-lg)}.case-study__tags{display:flex;flex-wrap:wrap;gap:.6rem}.case-study__tag{font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;color:var(--c-accent-dark);background:var(--c-accent-mint);padding:.4em 1em;border-radius:8px}.case-study__meta{display:grid;grid-template-columns:4fr 2fr;gap:var(--sp-lg);margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:1px solid var(--c-border)}.case-study__meta-item{display:flex;flex-direction:column;gap:.25rem}.case-study__meta-label{font-size:var(--fs-xs);color:var(--c-text-light);text-transform:uppercase;letter-spacing:.06em}.case-study__meta-value{font-size:var(--fs-base);color:var(--c-text);font-weight:500}.case-study__section{padding-inline:var(--gutter);max-width:var(--max-w);margin-inline:auto;margin-bottom:var(--sp-section-lg)}.case-study__section:not(.case-study__section--wide):not(.case-study__section--prose)>*:not(.case-study__pullquote){max-width:780px}.case-study__section--prose{display:grid;grid-template-columns:repeat(6,1fr);row-gap:var(--sp-md)}.case-study__section--prose>*{grid-column:1 / span 4}.case-study__section-label{font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;color:var(--c-accent);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--sp-sm)}.case-study__heading{font-family:var(--f-display);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;color:var(--c-green-dark);line-height:1.2;letter-spacing:-.01em;margin-bottom:var(--sp-md)}.case-study__body p{font-size:var(--fs-md);color:var(--c-text-mid);line-height:1.7;margin-bottom:var(--sp-sm)}.case-study__body p:last-child{margin-bottom:0}.case-study__body ul{list-style:disc;padding-left:1.4em;margin-top:var(--sp-sm)}.case-study__body ul li{font-size:var(--fs-md);color:var(--c-text-mid);line-height:1.7;margin-bottom:var(--sp-sm)}.case-study__body ul li:last-child{margin-bottom:0}.case-study__constraints{background:var(--c-surface);border-radius:var(--r-md);padding:var(--sp-lg);margin-top:var(--sp-section)}.case-study__constraints h3{font-size:var(--fs-sm);font-weight:600;color:var(--c-accent-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.case-study__constraints p{font-size:var(--fs-base);color:var(--c-text-mid);line-height:1.6}.case-study__pullquote{font-family:var(--f-display);font-size:clamp(2rem,6vw,4.5rem);font-weight:400;color:var(--c-text);line-height:1.15;letter-spacing:-.02em;text-align:center;margin-inline:auto}.case-study__pullquote+.case-study__pullquote{margin-top:var(--sp-lg)}.case-study__problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}.case-study__problem-card{background:var(--c-surface);border-radius:var(--r-md);padding:var(--sp-lg)}.case-study__problem-card h3{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:400;color:var(--c-green-dark);margin-bottom:var(--sp-sm)}.case-study__problem-card p{font-size:var(--fs-base);color:var(--c-text-mid);line-height:1.6}.case-study__image{width:100%;height:auto;display:block;border-radius:var(--r-md);background:none}.case-study__flipbook{position:relative;overflow:hidden;border-radius:var(--r-md);line-height:0}.case-study__flipbook__img{display:block;width:100%;height:auto;border-radius:var(--r-md)}.case-study__flipbook__img--next{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s ease}.case-study__image-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);margin-top:var(--sp-image)}.case-study__image-row--triple{grid-template-columns:repeat(3,1fr)}.case-study__image-grid--feature{display:grid;grid-template-columns:repeat(6,1fr);column-gap:var(--sp-md);row-gap:calc(var(--sp-md) + 80px);margin-top:var(--sp-image)}.case-study__image-grid--feature>:nth-child(1){grid-column:1 / span 2;grid-row:3}.case-study__image-grid--feature>:nth-child(2){grid-column:3 / span 2;grid-row:3}.case-study__image-grid--feature>:nth-child(3){grid-column:5 / span 2;grid-row:3}.case-study__image-grid--feature>:nth-child(4){grid-column:1 / span 6;grid-row:2}.case-study__image-grid--feature>:nth-child(5){grid-column:1 / span 3;grid-row:1}.case-study__image-grid--feature>:nth-child(6){grid-column:4 / span 3;grid-row:1}.case-study__image-row--wide{grid-template-columns:4fr 2fr}.case-study__col-4{max-width:calc(100% * 4 / 6)}.case-study__note-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:var(--sp-md)}.case-study__note-grid__text{grid-column:4 / span 3;font-size:var(--fs-md);color:var(--c-text-mid);line-height:1.7}.case-study__figure{display:flex;flex-direction:column;gap:1rem}.case-study__caption{font-size:var(--fs-sm);color:var(--c-text-light);text-align:center}.case-study__banner{margin-top:var(--sp-image)}.case-study__composite{position:relative;line-height:0;border-radius:var(--r-md);overflow:hidden}.case-study__composite__overlay{position:absolute;top:8%;left:50%;transform:translate(-50%);width:68%;border-radius:0;box-shadow:0 8px 32px #00000059}.case-study__outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);margin-top:var(--sp-image)}.case-study__outcome{display:flex;flex-direction:column;gap:var(--sp-md);align-items:center;background:var(--c-surface);border-radius:var(--r-md);padding:var(--sp-lg) var(--sp-lg) calc(var(--sp-lg) * 2) var(--sp-lg)}.case-study__outcome-img{width:100%;height:auto;display:block}.case-study__outcome-stat{display:block;width:100%;font-family:var(--f-display);font-size:clamp(2.5rem,10vw,6.5rem);color:#00dac8;text-align:center;line-height:1;margin-bottom:calc(var(--sp-md) * -.5)}.case-study__outcome-stat__sup{font-size:.33em;font-weight:500;display:inline-block;vertical-align:bottom;margin-left:.1em}.case-study__outcome-icon{flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--c-accent);color:var(--c-white);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:500}.case-study__outcome p{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:var(--fs-base);color:var(--c-text-mid);line-height:1.6;text-align:center}.case-study__cta{text-align:center;margin-top:var(--sp-2xl)}.explore-context-problem{display:none}@media (max-width: 768px){.case-study__problem-grid,.case-study__image-row,.case-study__image-row--triple,.case-study__image-row--wide,.case-study__outcomes{grid-template-columns:1fr}.case-study__image-row,.case-study__image-row--triple,.case-study__image-row--wide,.case-study__image-grid--feature{row-gap:var(--sp-image)}.case-study__image-grid--feature{grid-template-columns:1fr}.case-study__image-grid--feature>*{grid-column:auto!important;grid-row:auto!important}.case-study__col-4{max-width:100%}.case-study__note-grid{display:block}.case-study__meta{grid-template-columns:1fr;gap:var(--sp-lg)}.case-study__section--prose{grid-template-columns:1fr}.case-study__outcome-stat{font-size:clamp(5rem,20vw,13rem)}.explore-hero-right{display:none!important}.explore-context-problem{display:flex;flex-direction:column;gap:var(--sp-xl);margin-bottom:var(--sp-xl)}.explore-solution-grid{grid-template-columns:1fr!important}.explore-solution-grid .case-study__figure{grid-column:auto!important;margin-left:0!important}.explore-solution-pullquote{margin-bottom:100px!important}.explore-solution-grid .explore-competitors-figure{margin-left:40px!important;margin-right:40px!important;margin-top:30px}.explore-impact-grid{grid-template-columns:1fr!important}.explore-impact-grid .case-study__figure{grid-column:auto!important;margin-left:40px!important;margin-right:40px!important;margin-top:30px}.explore-solution-pullquote{font-size:clamp(2.5rem,12vw,4.5rem)}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000eb;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out)}.lightbox.is-open{opacity:1;pointer-events:all}.lightbox__img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 24px 80px #00000080}.lightbox__close{position:fixed;top:var(--sp-lg);right:var(--sp-lg);width:3rem;height:3rem;border-radius:50%;background:#ffffff1f;color:#fff;font-size:1.5rem;line-height:3rem;text-align:center;cursor:pointer;transition:background .18s}.lightbox__close:hover{background:#ffffff38}.case-study__image--zoomable{cursor:zoom-in}
