@font-face{font-family:Archivo;src:url('/assets/archivo-variable.woff2') format("woff2"),url('/assets/archivo-variable.ttf') format("truetype");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;


  --pswp-root-z-index: 100000;

  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);

  /* defined via js:
  --pswp-transition-duration: 333ms; */

  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}


/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
	cursor: zoom-out;
}


/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}


/*

  PhotoSwipe UI

*/

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
  flex-direction: row;
  justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}


/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}


/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}


/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}


    :root{--graphite:#23211f;--flag:#161514;--seamless:#fff;--bone:#e8e4dc;--graycard:#9b978f;--tungsten:#d9a35c;--line:#48443e;--gutter:clamp(22px,3.5vw,80px);color-scheme:dark}
    *,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--graphite)}body{margin:0;background:var(--graphite);color:var(--bone);font:400 17px/1.55 "Archivo","Helvetica Neue",Arial,sans-serif;font-variation-settings:"wdth" 100}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--tungsten);outline-offset:6px}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%}::selection{background:var(--bone);color:var(--graphite)}.skip-link{position:fixed;top:15px;left:15px;z-index:200000;padding:10px 20px;background:var(--bone);color:var(--graphite);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:27px var(--gutter);gap:20px;pointer-events:none;font-size:14px;color:var(--bone)}.site-header[data-tone="light"]{color:#23211f}.site-header a{pointer-events:auto;padding:5px 0}.site-header a:hover{text-decoration:underline;text-underline-offset:5px}.header-name{font-weight:500;letter-spacing:-.02em}.header-contact{flex-shrink:0}.caption-type{font-size:15px;line-height:1.4;font-weight:500;font-variation-settings:"wdth" 75}.chapter{position:relative;height:400vh;background:#fff}.chapter-stage{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;background:#fff;isolation:isolate;--intro-opacity:0;--exit-opacity:0;--entry-opacity:1;--caption-bottom:28px}.stage-hit{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;cursor:zoom-in;z-index:0;overflow:hidden}.scene-layer{position:absolute;inset:0;pointer-events:none}.scene-layer img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none}.scene-product{z-index:0;opacity:var(--entry-opacity)}.chapter:first-child .scene-product img{animation:first-light 800ms ease-in-out}.scene-placed{z-index:1;opacity:0}.scene-story{z-index:2;opacity:0}.stage-blackout{position:absolute;inset:0;z-index:8;background:var(--flag);opacity:var(--exit-opacity);pointer-events:none;transition:opacity 200ms linear}.opening-copy{position:absolute;left:var(--gutter);bottom:88px;z-index:6;max-width:720px;font-size:clamp(28px,3.1vw,48px);font-weight:300;font-variation-settings:"wdth" 125;line-height:1.12;letter-spacing:-.025em;color:#23211f;opacity:var(--intro-opacity);pointer-events:none}.opening-copy span{display:block}.stage-caption{position:absolute;z-index:6;left:var(--gutter);bottom:var(--caption-bottom);max-width:calc(100% - 210px);background:rgb(22 21 20 / .8);color:#e8e4dc;border-radius:30px;padding:9px 16px;pointer-events:none;opacity:var(--caption-opacity,1)}.inspect-button{position:absolute;right:var(--gutter);bottom:28px;z-index:9;display:flex;align-items:center;gap:9px;background:rgb(22 21 20 / .8);color:#e8e4dc;border:1px solid rgb(232 228 220 / .22);border-radius:30px;padding:9px 16px;font-size:14px;line-height:1.4}.inspect-button svg{width:15px;height:15px}.inspect-button:hover{text-decoration:underline;text-underline-offset:4px}.scroll-hint{position:absolute;right:var(--gutter);bottom:87px;z-index:6;font-size:13px;line-height:1.4;color:#23211f;opacity:var(--intro-opacity);pointer-events:none}.sample-note{position:absolute;left:var(--gutter);top:76px;z-index:6;color:#5e5b55;font-size:12px;font-variation-settings:"wdth" 75;opacity:var(--sample-opacity,1);pointer-events:none}.product-rail{position:fixed;right:var(--gutter);top:50%;transform:translateY(-50%);z-index:15;color:var(--bone);opacity:1}.product-rail[hidden]{display:none}.product-rail[data-tone="light"]{color:#23211f}.product-rail ol{list-style:none;margin:0;padding:2px 18px 2px 0;border-right:1px solid currentColor}.product-rail li+li{margin-top:18px}.product-rail a{display:block;position:relative;text-align:right;font-size:13px;opacity:.58}.product-rail a[aria-current="true"]{opacity:1}.product-rail a[aria-current="true"]::after{content:"";position:absolute;right:-22px;top:calc(50% - 3px);width:7px;height:7px;border-radius:50%;background:var(--tungsten)}.product-rail a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}.all-frames{padding:110px var(--gutter) 96px;max-width:1960px;margin:auto;scroll-margin-top:70px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:45px;align-items:end}.section-title{font-size:clamp(34px,3.6vw,54px);font-weight:300;font-variation-settings:"wdth" 125;line-height:1.08;letter-spacing:-.025em}.section-heading p{max-width:48ch;color:var(--graycard);font-size:16px}.sheet-headings{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:12px;color:var(--graycard)}.contact-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.frame-card{min-width:0}.frame-open{padding:0;display:block;width:100%;text-align:left;cursor:zoom-in}.frame-art{display:block;aspect-ratio:16/9;background:var(--flag);overflow:hidden}.frame-art img{width:100%;height:100%;object-fit:contain}.frame-card figcaption{margin-top:12px;display:flex;justify-content:space-between;gap:12px;color:var(--bone);font-size:14px;line-height:1.4;font-variation-settings:"wdth" 75}.frame-status{color:var(--graycard);font-size:12px}.draft-note{color:var(--graycard);font-size:13px;margin-top:30px;max-width:70ch}.about,.tools-section{padding:90px var(--gutter);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:10vw;max-width:1960px;margin:auto}.about-intro,.tools-description{margin-top:25px;color:var(--graycard);max-width:37ch}.capabilities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.capabilities li{border-top:1px solid var(--line);padding:17px 0 28px;font-size:17px;line-height:1.45}.tools-table{width:100%;border-collapse:collapse;text-align:left}.tools-table th{font-size:14px;font-weight:400;color:var(--graycard);font-variation-settings:"wdth" 75;padding:0 0 14px}.tools-table td{padding:16px 0;border-top:1px solid var(--line);vertical-align:top;font-size:15px}.tools-table td+td{padding-left:24px;color:var(--graycard)}.contact{margin:0 var(--gutter);padding:80px 0;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:50px;scroll-margin-top:90px}.contact h2{font-size:clamp(38px,4.5vw,68px);font-weight:300;font-variation-settings:"wdth" 125;line-height:1.1;letter-spacing:-.025em;max-width:16ch}.contact p{margin-top:24px;color:var(--graycard);max-width:38ch}.contact-action{flex-shrink:0;text-align:right}.email-button{display:inline-flex;align-items:center;justify-content:center;background:var(--bone);color:var(--graphite);padding:16px 40px;font-size:16px;border:1px solid var(--bone)}.email-button:hover{text-decoration:underline;text-underline-offset:4px}.email-address{display:block;font-size:14px;color:var(--graycard);margin-top:15px}.site-footer{margin:0 var(--gutter);padding:24px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--graycard);font-size:13px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.pswp{--pswp-bg:#161514;--pswp-icon-color:#e8e4dc;--pswp-icon-color-secondary:#161514;font-family:"Archivo","Helvetica Neue",Arial,sans-serif}.pswp__caption-bar{position:absolute;bottom:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;background:#161514;color:#e8e4dc;font-size:14px;font-variation-settings:"wdth" 75;line-height:1.5}.pswp__caption-bar p{margin:0}.pswp__hint{color:#aaa59c;font-size:13px}.pswp__button--close{width:100px!important;display:flex!important;align-items:center;justify-content:center;gap:7px;font:inherit!important;font-size:14px!important;color:#e8e4dc!important}.pswp__button--close svg{position:static!important;width:22px!important;height:22px!important}.pswp__button--pixels{font-size:14px!important;width:70px!important;color:#e8e4dc!important;font-family:inherit!important}.pswp__button:focus-visible{outline:2px solid var(--tungsten);outline-offset:-5px}.noscript{padding:80px var(--gutter)}@keyframes first-light{from{opacity:0}to{opacity:1}}
    .stage-hit:focus-visible{outline-offset:-5px}.site-header[data-after="true"]{background:var(--graphite)}



    .scene-layer{transform-origin:50% 50%}
    .light-sweep{position:absolute;left:-60%;top:0;width:60%;height:100%;z-index:3;pointer-events:none;opacity:0;mix-blend-mode:screen;background:linear-gradient(90deg,transparent 0%,rgba(244,190,122,1) 50%,transparent 100%);transform:translate3d(0,0,0)}
    .chapter-stage[data-focus-mode="crossfade"] .scene-placed,.chapter-stage[data-focus-mode="crossfade"] .scene-story{transition:opacity 300ms linear}
    @media(min-width:2200px){.opening-copy{font-size:58px}.contact{max-width:1800px;margin:auto}.site-footer{max-width:1800px;margin:auto}}
    @media(max-width:1023px){.product-rail{display:none}.section-heading{gap:35px}.about,.tools-section{gap:6vw;grid-template-columns:1fr 1.5fr}.capabilities{column-gap:24px}.opening-copy{font-size:34px;max-width:610px}}
    @media(max-width:767px){:root{--gutter:20px}.site-header{padding-top:19px;font-size:12px;gap:18px}.header-name{font-size:12px}.chapter{height:300vh}.scene-layer img{position:absolute;left:0;top:50%;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transform:translateY(-50%)}.chapter-stage{--caption-bottom:24px}.product-rail{display:none}.opening-copy{bottom:130px;font-size:clamp(23px,6.5vw,34px);max-width:calc(100% - 40px);line-height:1.12}.scroll-hint{bottom:94px;font-size:12px}.stage-caption{left:var(--gutter);bottom:var(--caption-bottom);max-width:calc(100% - 40px);font-size:13px;padding:8px 13px;line-height:1.4}.inspect-button{right:var(--gutter);bottom:25px;font-size:12px;padding:8px 13px;gap:7px}.stage-caption{bottom:80px}.sample-note{top:65px;font-size:11px}.all-frames{padding-top:65px;padding-bottom:60px}.section-heading{display:block;margin-bottom:32px}.section-title{font-size:34px}.section-heading p{margin-top:23px;font-size:15px}.sheet-headings{gap:10px;font-size:12px;margin-bottom:10px}.contact-sheet{gap:24px 10px}.frame-card figcaption{display:block;font-size:12px;margin-top:9px}.frame-status{display:block;font-size:10px;margin-top:4px}.frame-card .frame-act{display:none}.draft-note{font-size:12px;margin-top:25px}.about,.tools-section{padding-top:60px;padding-bottom:60px;display:block}.about-intro,.tools-description{max-width:42ch;margin-top:22px;font-size:16px}.capabilities{margin-top:34px;column-gap:25px}.capabilities li{font-size:15px;padding-bottom:23px}.tools-table{margin-top:35px}.tools-table td{font-size:14px}.tools-table td+td{padding-left:16px}.contact{padding-top:50px;padding-bottom:55px;display:block}.contact h2{font-size:38px;max-width:15ch}.contact p{font-size:16px;margin-top:22px}.contact-action{margin-top:32px;text-align:left}.email-button{padding:14px 34px}.email-address{margin-top:13px}.site-footer{display:block;padding-top:22px;font-size:12px}.site-footer p+p{margin-top:8px}.site-footer a{display:inline-block;margin-top:8px}.pswp__caption-bar{padding:14px 16px;font-size:13px}.pswp__hint{display:none}.pswp__button--close{width:85px!important}.pswp__button--pixels{width:60px!important}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.scene-placed{transition:opacity 200ms ease-in-out}}

    .contact-sheet{display:block}.sheet-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.sheet-row+.sheet-row{margin-top:32px}.sheet-row-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.sheet-row-heading h3{font-size:15px;font-weight:500}.sheet-credit{color:var(--graycard);font-size:12px;line-height:1.45}.pswp__credit{color:var(--graycard);font-size:12px}.sample-note{color:#aaa59c;max-width:calc(100% - 2*var(--gutter));overflow-wrap:anywhere}
    @media(max-width:767px){.sheet-row{gap:10px}.sheet-row+.sheet-row{margin-top:28px}.sheet-row-heading{display:block}.sheet-credit{margin-top:4px;font-size:11px}.pswp__credit{font-size:11px}}
    .header-name{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.header-logo{width:38px;height:28px;flex:none;object-fit:contain}
    @media(max-width:767px){.header-name{gap:8px}.header-logo{width:32px;height:23px}}
    .opening-copy{text-wrap:balance}
/* Portfolio v3 — existing Archivo family, colors and spacing tokens. */
html{scroll-padding-top:110px}body.menu-open{overflow:hidden}[hidden]{display:none!important}.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}
.site-header{gap:28px}.header-actions,.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{font-size:13px;color:var(--graycard)}.main-nav a[aria-current="page"]{color:var(--bone)}.site-header[data-tone="light"] .main-nav a{color:inherit;opacity:.75}.site-header[data-tone="light"] .main-nav a[aria-current="page"]{opacity:1}.site-header .header-contact{border:1px solid currentColor;border-radius:30px;padding:8px 17px;font-size:13px}.site-header .header-name:hover{text-decoration:none}.site-header .header-name span:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle,.menu-close{pointer-events:auto;font-size:14px;padding:8px 0}.menu-toggle{display:none}.site-menu{position:fixed;inset:0;width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:24px var(--gutter);border:0;background:var(--graphite);color:var(--bone)}.site-menu::backdrop{background:var(--graphite)}.menu-heading{display:flex;align-items:center;justify-content:space-between}.site-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:25px;margin-top:12svh}.site-menu nav a{font-size:clamp(34px,9vw,56px);font-weight:400;font-variation-settings:"wdth" 125;line-height:1.15;color:var(--graycard)}.site-menu nav a[aria-current="page"]{color:var(--bone)}.menu-email{display:inline-block;margin-top:45px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:16px}.menu-note{color:var(--graycard);font-size:13px;margin-top:25px}
.hero-copy{position:absolute;left:var(--gutter);bottom:110px;z-index:6;max-width:min(760px,calc(100% - 220px));opacity:var(--intro-opacity);pointer-events:none}.hero-copy .opening-copy{position:static;max-width:none;opacity:1}.hero-subline{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:17px;color:#5e5b55;font-size:13px;line-height:1.5;font-variation-settings:"wdth" 85}.hero-subline span+span::before{content:"/";margin-right:18px}.hero-about{position:absolute;right:var(--gutter);bottom:122px;z-index:7;color:#23211f;font-size:13px;opacity:var(--intro-opacity);text-underline-offset:5px}.hero-about:hover{text-decoration:underline}.caption-group{position:absolute;left:var(--gutter);bottom:var(--caption-bottom);z-index:6;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:calc(100% - 210px);pointer-events:none}.caption-group .stage-caption{position:static;max-width:100%;opacity:var(--caption-opacity,1)}.method-tag{display:inline-flex;align-items:center;min-height:33px;padding:6px 13px;border:1px solid currentColor;border-radius:30px;color:var(--bone);font-size:12px;line-height:1.4;font-variation-settings:"wdth" 75}.chapter-stage[data-act="0"] .method-tag,.chapter-stage[data-act="1"] .method-tag{color:#23211f}.opening-copy{text-wrap:balance}#chapters{min-height:400vh;background:#fff}
.page-shell{max-width:1680px;margin:auto;padding:160px var(--gutter) 0}.page-title,.v3-title{font-size:56px;font-weight:400;font-variation-settings:"wdth" 125;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.page-subtitle{font-size:20px;color:var(--graycard);line-height:1.55;max-width:70ch;margin-top:22px}.eyebrow{display:block;font-size:12px;line-height:1.4;font-variation-settings:"wdth" 75;letter-spacing:.04em;color:var(--graycard);margin-bottom:22px}.dev-note{border-left:2px solid var(--tungsten);padding:6px 0 6px 18px;margin-top:30px;max-width:75ch;font-size:13px;color:var(--graycard)}.confirm{font-size:.9em;color:var(--bone)}.profile-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:6vw}.profile-index{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:18px;font-size:13px;color:var(--graycard);padding:10px 0}.profile-index a[aria-current="true"]{color:var(--bone)}.profile-index a:hover{color:var(--bone);text-decoration:underline;text-underline-offset:5px}.profile-section{padding:160px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.profile-section:first-child{padding-top:0}.profile-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:5vw}.profile-intro.without-impact{display:block}.profile-bio{max-width:65ch}.profile-bio p{font-size:19px;line-height:1.6;color:var(--graycard);margin-top:22px}.profile-bio p:first-of-type{color:var(--bone)}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-content:start;padding-top:12px}.impact-card{padding-top:18px;border-top:1px solid var(--line)}.impact-card strong{font-size:48px;font-weight:300;line-height:1.1;font-variation-settings:"wdth" 125}.impact-card span{display:block;font-size:14px;font-variation-settings:"wdth" 75;color:var(--graycard);margin-top:10px}
.pipeline-section,.roles-section{max-width:1680px;margin:auto;padding:160px var(--gutter);border-top:1px solid var(--line)}.strip-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:40px}.strip-heading h2{font-size:28px;font-weight:400;font-variation-settings:"wdth" 125}.strip-heading a,.inline-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.pipeline-diagram{width:100%;margin-top:35px;color:var(--graycard)}.pipeline-diagram svg{display:block;width:100%;height:auto;overflow:visible}.pipeline-diagram .pipeline-vertical{display:none}.pipeline-step rect{fill:none;stroke:var(--line);stroke-width:1}.pipeline-step:hover rect{stroke:var(--tungsten)}.pipeline-step text{font-family:Archivo,Arial,sans-serif;fill:var(--graycard);font-size:14px}.pipeline-step .step-title{font-weight:500;fill:var(--bone);font-size:18px}.pipeline-connector{stroke:var(--graycard);stroke-width:1;fill:none}.pipeline-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px}.pipeline-copy p{font-size:17px;line-height:1.6;color:var(--graycard);max-width:52ch}.quality-checklist{list-style:none;margin:40px 0 0;padding:0}.quality-checklist li{display:flex;gap:16px;padding:17px 0;border-top:1px solid var(--line)}.quality-checklist svg{width:18px;height:18px;flex:none;margin-top:3px;stroke:var(--bone);fill:none;stroke-width:1.5}.quality-checklist strong{font-size:16px;font-weight:500}.quality-checklist span{display:block;color:var(--graycard);font-size:14px;margin-top:3px}.section-footnote{color:var(--graycard);font-size:13px;line-height:1.6;max-width:75ch;margin-top:28px}.role-grid,.built-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}.role-card,.tool-card,.credential-card,.teaching-card{border:1px solid rgba(232,228,220,.12);border-radius:6px;padding:28px;min-width:0}.role-card{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.role-card h3,.tool-card h3{font-size:20px;font-weight:500;line-height:1.3;text-wrap:balance}.role-card p,.tool-card .result{color:var(--graycard);font-size:16px;line-height:1.5}.role-card .inline-link{margin-top:auto;padding-top:12px}.role-card:hover{border-color:var(--tungsten)}.tool-card .result{margin-top:15px;font-size:15px}.tool-card details{margin-top:18px}.tool-card summary{cursor:pointer;font-size:13px;color:var(--bone);text-decoration:underline;text-underline-offset:4px}.tool-card details p{margin-top:12px;font-size:14px;color:var(--graycard);line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.chip{display:inline-block;padding:4px 8px;border:1px solid rgba(232,228,220,.25);border-radius:6px;font-size:12px;font-variation-settings:"wdth" 75;line-height:1.4;color:var(--graycard)}
.timeline{margin-top:45px;border-left:1px solid rgba(155,151,143,.3);padding-left:28px}.timeline-entry+.timeline-entry{margin-top:52px}.timeline-entry h3{font-size:23px;font-weight:500;line-height:1.25}.job-meta{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:12px;color:var(--graycard);font-size:14px;font-variation-settings:"wdth" 75}.job-bullets{padding-left:18px;margin:22px 0 0;max-width:78ch}.job-bullets li{font-size:16px;line-height:1.55;padding-left:4px}.job-bullets li+li{margin-top:12px}.languages-line{font-size:14px;color:var(--graycard);display:flex;flex-wrap:wrap;gap:20px;margin-top:35px}.education-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.education-note h3{font-size:20px;font-weight:500}.education-note p{font-size:15px;color:var(--graycard);margin-top:12px}.credential-card{margin-top:40px;display:flex;align-items:center;gap:28px;border-color:var(--tungsten)}.credential-card img{width:112px;height:112px;object-fit:contain;flex:none}.credential-card h3{font-size:25px;line-height:1.3;font-weight:500;text-wrap:balance}.credential-card p{font-size:15px;line-height:1.55;color:var(--graycard);margin-top:14px}.credential-card .inline-link{display:inline-block;margin-top:18px}.credential-card .chip{margin-top:18px}.teaching-card{margin-top:20px}.teaching-card h3{font-size:21px;font-weight:500;line-height:1.4}.teaching-card p{font-size:16px;color:var(--graycard);line-height:1.6;margin-top:17px}.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;list-style:none;margin:35px 0 0;padding:0}.capability-list li{border-top:1px solid var(--line);padding:16px 0 22px;font-size:16px;line-height:1.5}.profile-tools{margin-top:50px}.profile-tools .tools-table{margin-top:25px}.profile-tools .tools-table td:nth-child(3){white-space:nowrap;width:90px}.contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:20px}.contact-links a,.pending-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.pending-link{color:var(--graycard);text-decoration:none}.v3-contact{max-width:1680px;margin:auto;padding:100px var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.v3-contact h2{font-size:40px;font-weight:400;font-variation-settings:"wdth" 125;line-height:1.15;text-wrap:balance;max-width:18ch}.v3-contact p{font-size:15px;color:var(--graycard);margin-top:18px}.v3-contact .email-address{font-size:14px}.v3-footer{max-width:1680px;margin:0 auto;padding:28px var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;border-top:1px solid var(--line);font-size:13px;color:var(--graycard)}.v3-footer nav{display:flex;flex-wrap:wrap;gap:20px}.v3-footer a:hover{color:var(--bone);text-decoration:underline;text-underline-offset:4px}
.spaces-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 8px;margin:55px 0 0}.space-card{min-width:0}.space-button{display:block;width:100%;padding:0;cursor:zoom-in;position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--flag)}.space-button img{width:100%;height:100%;object-fit:cover}.space-pending-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;pointer-events:none;font-size:13px;color:var(--graycard)}.space-pending-label strong{font-weight:400;font-size:14px;color:var(--bone)}.space-pending-label small{font-size:11px;overflow-wrap:anywhere}.space-card figcaption{font-size:14px;margin-top:13px;padding:0 5px}.space-card figcaption span{display:block;font-size:12px;color:var(--graycard);margin-top:4px}.spaces-note{margin:42px 0 100px;color:var(--graycard);font-size:14px}.reveal.will-reveal{opacity:0}.reveal.is-visible{opacity:1;transition:opacity 400ms ease}
.cv-shell{padding-top:145px}.cv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:920px;margin:0 auto 35px}.outline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bone);border-radius:30px;padding:10px 18px;font-size:14px}.outline-button:hover{text-decoration:underline;text-underline-offset:4px}.cv-document{max-width:920px;margin:auto;padding-bottom:80px}.cv-sheet{border:1px solid rgba(232,228,220,.12);border-radius:6px;padding:48px;margin-bottom:28px;font-size:14px;line-height:1.5}.cv-name{font-size:34px;font-weight:400;line-height:1.2;font-variation-settings:"wdth" 125;padding-bottom:15px;border-bottom:2px solid var(--tungsten)}.cv-headline{font-size:17px;margin-top:15px}.cv-meta{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:14px;font-size:12px;color:var(--graycard);overflow-wrap:anywhere}.cv-section{margin-top:26px;break-inside:avoid}.cv-section>h2{font-size:21px;font-weight:400;font-variation-settings:"wdth" 125;margin-bottom:13px}.cv-section p{color:var(--graycard);margin-top:7px}.cv-job+.cv-job{margin-top:20px}.cv-job h3,.cv-built strong{font-size:15px;font-weight:500}.cv-job .job-meta{font-size:12px;margin-top:4px}.cv-job ul{padding-left:17px;margin:9px 0 0;color:var(--graycard)}.cv-job li+li{margin-top:5px}.cv-built{margin-bottom:12px}.cv-built p{margin-top:3px}.cv-continuation{font-size:12px;color:var(--graycard);margin-bottom:18px}.cv-tools-table{font-size:12px;margin-top:12px}.cv-tools-table td{font-size:12px;padding:8px 0}.cv-tools-table th{font-size:11px}.cv-education p{margin-top:4px}.cv-draft{color:var(--graycard);font-size:11px;margin-top:14px}
@media(max-width:1100px){.profile-layout{grid-template-columns:155px minmax(0,1fr);gap:35px}.built-grid{grid-template-columns:1fr 1fr}.header-actions,.main-nav{gap:17px}.hero-copy{max-width:calc(100% - 200px)}.pipeline-copy{grid-template-columns:1fr}.pipeline-section,.roles-section{padding-top:120px;padding-bottom:120px}.hero-copy .opening-copy{font-size:34px}}
@media(max-width:767px){html{scroll-padding-top:125px}.site-header{padding-top:19px;padding-bottom:18px}.header-actions>.main-nav,.header-actions>.header-contact{display:none}.menu-toggle{display:block}.header-actions{gap:0}.hero-copy{max-width:calc(100% - 40px);bottom:180px}.hero-copy .opening-copy{font-size:clamp(22px,6.5vw,34px);line-height:1.12}.hero-subline{margin-top:12px;gap:2px 12px;font-size:11px;line-height:1.5;font-variation-settings:"wdth" 75}.hero-subline span+span::before{margin-right:12px}.hero-about{bottom:112px;font-size:12px}.scroll-hint{bottom:89px}.caption-group{max-width:calc(100% - 40px);gap:7px;bottom:80px;align-items:flex-start;flex-direction:column}.caption-group .stage-caption{font-size:12px;padding:8px 12px;max-width:100%}.method-tag{font-size:11px;min-height:27px;padding:4px 10px}.hero-about,.scroll-hint{right:20px}.page-shell{padding-top:118px}.page-title,.v3-title{font-size:34px}.page-subtitle{font-size:18px;margin-top:20px}.eyebrow{margin-bottom:18px}.profile-layout{display:block}.profile-index{position:sticky;top:71px;z-index:10;margin:0 calc(-1*var(--gutter)) 34px;padding:13px var(--gutter);background:var(--graphite);border-bottom:1px solid var(--line);flex-direction:row;gap:10px;overflow-x:auto;white-space:nowrap;font-size:12px}.profile-index a{border:1px solid var(--line);border-radius:6px;padding:6px 10px}.profile-index a[aria-current="true"]{border-color:var(--tungsten)}.profile-section{padding:96px 0;scroll-margin-top:145px}.profile-bio p{font-size:17px}.profile-intro{display:block}.impact-grid{margin-top:35px;gap:20px}.impact-card strong{font-size:38px}.pipeline-section,.roles-section{padding-top:96px;padding-bottom:96px}.strip-heading{display:block;margin-bottom:25px}.strip-heading h2{font-size:26px}.strip-heading a{display:inline-block;margin-top:18px}.pipeline-diagram .pipeline-horizontal{display:none}.pipeline-diagram .pipeline-vertical{display:block;max-width:390px;margin:auto}.pipeline-step text{font-size:15px}.pipeline-copy{gap:20px}.pipeline-copy p{font-size:16px}.role-grid,.built-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.role-card,.tool-card,.credential-card,.teaching-card{padding:25px}.role-card p{font-size:16px}.timeline{padding-left:20px;margin-top:35px}.timeline-entry h3{font-size:21px}.timeline-entry+.timeline-entry{margin-top:40px}.job-bullets li{font-size:15px}.job-meta{gap:5px 15px;font-size:13px}.credential-card{display:block}.credential-card img{width:88px;height:88px;margin-bottom:25px}.credential-card h3{font-size:23px}.capability-list{grid-template-columns:1fr}.profile-tools .tools-table td{font-size:12px}.profile-tools .tools-table td+td{padding-left:12px}.profile-tools .tools-table th{font-size:12px}.profile-tools .tools-table td:nth-child(3){width:auto}.v3-contact{display:block;padding-top:75px;padding-bottom:75px}.v3-contact h2{font-size:34px}.v3-contact>div+div{margin-top:30px}.v3-footer{display:block;padding-top:25px;padding-bottom:30px}.v3-footer nav{margin-bottom:20px;gap:20px}.v3-footer p{margin-top:13px}.spaces-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.spaces-note{margin-bottom:75px}.cv-shell{padding-top:115px}.cv-toolbar{align-items:flex-start;flex-wrap:wrap;margin-bottom:25px}.cv-toolbar .contact-links{margin-top:0}.cv-sheet{padding:25px 20px;font-size:13px}.cv-name{font-size:26px}.cv-headline{font-size:16px}.cv-meta{font-size:11px}.cv-section>h2{font-size:20px}.cv-tools-table td{font-size:11px}.cv-tools-table td+td{padding-left:10px}.cv-draft{font-size:11px}#chapters{min-height:300vh}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.will-reveal{opacity:1!important;transition:none!important}.site-menu{scroll-behavior:auto}}
@page{size:auto;margin:18mm}
@media print{html,body{background:#fff!important;color:#23211f!important;font-size:9.2pt!important;line-height:1.28!important;color-scheme:light}*,*::before,*::after{animation:none!important;transition:none!important;background:transparent!important;box-shadow:none!important;color:inherit!important}.site-header,.site-menu,.cv-toolbar,.v3-footer,.v3-contact,.dev-note,.skip-link,.print-hide{display:none!important}.page-shell,.cv-shell,.cv-document{padding:0!important;margin:0!important;max-width:none!important}.cv-sheet{border:0;padding:0;margin:0;max-width:none;font-size:9.2pt;line-height:1.28;break-after:page;border-radius:0}.cv-sheet:last-child{break-after:auto}.cv-name{font-size:23pt;padding-bottom:9pt;border-bottom:1pt solid #d9a35c}.cv-headline{font-size:11pt;margin-top:8pt}.cv-meta{font-size:8pt;gap:3pt 12pt;margin-top:8pt}.cv-section{margin-top:14pt;break-inside:avoid}.cv-section>h2{font-size:12pt;margin-bottom:7pt}.cv-section p{margin-top:4pt}.cv-job h3,.cv-built strong{font-size:9.3pt}.cv-job+.cv-job{margin-top:12pt}.cv-job .job-meta{font-size:8pt;margin-top:3pt}.cv-job ul{margin-top:5pt;padding-left:12pt}.cv-job li+li{margin-top:3pt}.cv-built{margin-bottom:8pt}.cv-built p{margin-top:2pt}.cv-tools-table,.cv-tools-table td{font-size:8.2pt}.cv-tools-table td{padding:4pt 0}.cv-tools-table th{font-size:8pt;padding-bottom:5pt}.cv-continuation{font-size:8pt;margin-bottom:10pt}.cv-draft{font-size:7.5pt;margin-top:8pt}.cv-section,.cv-job,.cv-built,tr{break-inside:avoid}a{text-decoration:none}.languages-line{font-size:9pt;gap:15pt;margin-top:10pt}.cv-meta a[href]::after{content:none}}
/* Completed credentials and approved motion share the existing card system. */
.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.certificate-mini{padding:24px;border:1px solid var(--line);border-radius:6px;min-width:0}.certificate-mini h3{font-size:19px;font-weight:500}.certificate-mini p{font-size:14px;color:var(--graycard);margin-top:10px}.certificate-mini .chip{margin-top:18px}.building-ai{margin-top:70px}.building-ai .v3-title{font-size:34px}.building-ai>.page-subtitle{max-width:70ch;font-size:18px}.additional-certificates{margin:35px 0;color:var(--graycard);font-size:14px;display:flex;flex-wrap:wrap;gap:12px 22px}.additional-certificates h3{width:100%;font-size:16px;color:var(--bone);font-weight:500}.gallery-title{font-size:28px;font-weight:400;margin-top:65px}.spaces-grid{gap:8px;margin-top:28px}.space-card figcaption{padding:12px 8px 22px}.motion-section{padding:100px 0 160px}.motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:35px}.motion-card:first-child{grid-column:1/-1}.motion-player,.motion-pending{position:relative;aspect-ratio:16/9;background:var(--graphite);border:1px solid var(--line);border-radius:6px;overflow:hidden}.motion-player video{display:block;width:100%;height:100%;object-fit:cover}.motion-pending{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;color:var(--graycard);text-align:center;padding:25px}.motion-pending small{font-size:12px}.motion-play{position:absolute;inset:auto auto 20px 20px;background:var(--graphite)}.motion-play[hidden]{display:none}.motion-card figcaption{padding:13px 0;color:var(--bone);font-size:14px}.motion-card figcaption span{display:block;color:var(--graycard);margin-top:5px;font-size:12px}.cv-impact>span{display:block;margin-top:5px}.cv-certificates{padding-left:18px}.cv-certificates li{margin-bottom:5px}.cv-built-line{margin-bottom:8px}.cv-tool-groups p{margin-bottom:8px}.cv-employment{color:var(--graycard);font-size:12px;margin-bottom:18px}.cv-continuation-jobs{margin-top:0}
@media(max-width:767px){.certificate-grid,.motion-grid{grid-template-columns:1fr}.certificate-mini{padding:22px}.building-ai .v3-title{font-size:28px}.motion-section{padding:90px 0 96px}.motion-card:first-child{grid-column:auto}.spaces-grid{gap:8px}.cv-name{font-size:26px}}
@media print{.cv-sheet{font-size:8pt;line-height:1.22;padding:0;min-height:0}.cv-name{font-size:23pt;margin-bottom:6pt}.cv-headline{font-size:11pt;margin:4pt 0}.cv-meta{font-size:7.3pt;gap:3pt 10pt;margin:5pt 0}.cv-section{margin-top:8pt}.cv-section>h2{font-size:10pt;margin-bottom:4pt}.cv-section p{margin-bottom:4pt}.cv-job{margin-top:7pt;break-inside:avoid}.cv-job h3{font-size:8.8pt;margin-bottom:2pt}.cv-job .job-meta{font-size:7pt;margin:2pt 0;gap:3pt 8pt}.cv-job li{margin-bottom:2pt}.cv-job ul{margin-top:3pt;padding-left:12pt}.cv-draft,.cv-continuation,.cv-employment{font-size:7pt;margin:4pt 0}.cv-built-line,.cv-tool-groups p{margin-bottom:3pt}.cv-certificates{margin:0;padding-left:12pt}.cv-certificates li{margin-bottom:2pt}.cv-impact>span{display:inline;margin-right:10pt}.cv-continuation-jobs{margin-top:0}.cv-sheet+.cv-sheet{margin-top:0}}
.profile-layout>div,.profile-bio,.impact-card{min-width:0}.impact-grid{grid-template-columns:1fr}.impact-card strong{display:block;white-space:nowrap}.profile-tools .tools-table{table-layout:fixed;width:100%}.profile-tools .tools-table th:nth-child(1){width:26%}.profile-tools .tools-table th:nth-child(3){width:16%}.profile-tools .tools-table td{overflow-wrap:anywhere}
@media(max-width:1200px){.profile-intro{display:block}.impact-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px}.impact-card strong{font-size:clamp(28px,3.3vw,40px);font-variation-settings:"wdth" 100}}
@media(max-width:767px){.impact-grid{grid-template-columns:1fr}.impact-card strong{font-size:42px;font-variation-settings:"wdth" 125}.profile-tools .tools-table th:nth-child(1){width:27%}.profile-tools .tools-table th:nth-child(3){width:18%}.hero-about{bottom:154px}.caption-group{bottom:65px}.scroll-hint{bottom:32px}}
html:has(body[data-page="work"]){scroll-padding-top:0}.chapter-stage[data-act="1"] .method-tag{color:var(--bone)}
@media print{.cv-section{break-inside:auto}.cv-job+.cv-job{margin-top:7pt}.cv-job li+li{margin-top:2pt}}
/* Equal-size thumbnails; Inspect retains the complete native image. */
.spaces-grid{display:flex;flex-direction:column;gap:28px}.spaces-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.spaces-method{color:var(--graycard);font-size:14px;line-height:1.7;max-width:85ch;margin-top:18px}.spaces-grid .space-button{aspect-ratio:16/9}.spaces-grid .space-button img{object-fit:cover;object-position:var(--space-position,50% 50%)}.space-card figcaption{overflow-wrap:break-word;padding:12px 0 0;margin-top:0;font-size:14px;line-height:1.5}body[data-page="spaces"] .site-header{background:var(--graphite)}
@media(max-width:767px){.spaces-row{display:flex;flex-direction:column;gap:28px}.spaces-grid{gap:28px}.spaces-method{font-size:13px}}

/* v4 additions reuse Archivo and the existing six color tokens. */
h1,h2,h3,h4{text-wrap:balance}
.page-shell,.pipeline-section,.roles-section,.v3-contact,.v3-footer{max-width:1200px}
.all-frames{max-width:1200px}.job-bullets{max-width:64ch}
.page-subtitle,.profile-bio,.profile-bio p,.section-footnote{max-width:64ch}
.hero-copy .opening-copy{font-size:72px;font-weight:300;font-variation-settings:"wdth" 125;line-height:1.04}
.hero-subline{display:block;font-size:14px;font-variation-settings:"wdth" 75;font-weight:500;line-height:1.55}
.hero-subline span{display:block}.hero-subline span+span::before{content:none}
.hero-about{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
.profile-bio p{font-size:17px;line-height:1.55}.inline-text-link{text-decoration:underline;text-underline-offset:4px}
.role-grid,.built-grid{gap:24px}.spaces-row{gap:8px}
.role-card:hover{border-color:var(--line)}.pipeline-step:hover rect{stroke:var(--line)}
.tool-card>.inline-link{display:inline-block;margin-top:24px;line-height:1.5}
.space-caption{display:flex;flex-direction:column;gap:7px}.space-card .space-caption span{margin:0;font-size:13px;color:var(--graycard);font-variation-settings:"wdth" 75;font-weight:500;line-height:1.45}.space-card .space-caption span:first-child{font-size:14px;color:var(--bone)}
.credential-list{display:grid;gap:0;margin-top:28px}.credential-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-width:0;padding:24px 0;border-bottom:1px solid var(--line)}
.credential-row h3{font-size:17px;font-weight:500;line-height:1.55;max-width:64ch}.credential-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;font-weight:500;font-variation-settings:"wdth" 75;color:var(--graycard);margin-top:8px}
.verify-link{flex:none;font-size:14px;text-decoration:underline;text-underline-offset:5px}.print-verify{display:none}
.credential-featured{border:1px solid var(--tungsten);border-radius:6px;padding:28px}.credential-featured h3{font-size:24px;font-variation-settings:"wdth" 125;font-weight:400}
.credential-ai-group>.credential-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.credential-ai-group .credential-row{display:flex;align-items:flex-start;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:24px}.credential-ai-group .verify-link{margin-top:auto;padding-top:20px}
.building-ai h3{font-size:28px;font-variation-settings:"wdth" 125;font-weight:400}.building-ai>p{margin-top:18px;max-width:64ch;font-size:17px;line-height:1.55;color:var(--graycard)}
.testimonial-card{border:1px solid var(--line);border-radius:6px;padding:28px}.testimonial-card blockquote{font-size:20px;font-weight:400;line-height:1.55;max-width:64ch}.testimonial-card figcaption{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-size:14px;color:var(--graycard)}
.cv-credentials .credential-row{padding:12px 0}.cv-credentials .credential-row h3{font-size:14px;line-height:1.5}.cv-credentials .credential-meta{font-size:12px;margin-top:4px}.cv-credentials .verify-link{font-size:12px}
.case-page{padding-bottom:96px}.case-intro .page-title{margin-top:42px}.case-intro{max-width:850px}.case-section{margin-top:160px}.case-comparison-section{max-width:800px;margin:80px auto 0}.case-subtitle{font-size:28px;font-weight:400;font-variation-settings:"wdth" 125;line-height:1.25;margin-bottom:28px}
.comparison{position:relative;aspect-ratio:1;overflow:hidden;background:var(--flag);width:100%;isolation:isolate}
.comparison-after,.comparison-before{position:absolute;inset:0}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison img{display:block;width:100%;height:100%;object-fit:cover}
.comparison-control{position:absolute;inset:0;cursor:ew-resize;touch-action:pan-y}.comparison-control::before{content:"";position:absolute;top:0;bottom:0;left:var(--split);width:1px;background:var(--bone)}
.comparison-handle{position:absolute;left:var(--split);top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--bone);border-radius:50%;background:var(--graphite);color:var(--bone)}.comparison-handle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}
.caption-pill{display:inline-flex;border:1px solid rgba(232,228,220,.12);background:rgba(22,21,20,.8);backdrop-filter:blur(12px);border-radius:30px;padding:7px 13px;font-size:14px;font-weight:500;font-variation-settings:"wdth" 75;color:var(--bone)}
.comparison-label{position:absolute;bottom:16px;pointer-events:none;z-index:2}.before-label{left:16px}.after-label{right:16px}.comparison-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;font-size:14px;color:var(--graycard)}
.case-figure{min-width:0;margin-top:28px}.case-inspect-image{display:block;cursor:zoom-in;padding:0;width:100%;background:var(--flag)}.case-inspect-image img{display:block;width:100%;height:auto}.case-figure figcaption{font-size:14px;font-weight:500;font-variation-settings:"wdth" 75;color:var(--graycard);line-height:1.55;margin-top:12px}
.case-image-pending{display:flex;align-items:center;justify-content:center;min-height:220px;height:100%;color:var(--graycard);background:var(--flag);font-size:14px;padding:20px}
.revision-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.revision-process>article{position:relative;border:1px solid var(--line);border-radius:6px;padding:24px;min-width:0}.revision-process>article+article::before{content:"→";position:absolute;left:-21px;top:30px;color:var(--graycard)}
.revision-process h3{font-size:20px;font-weight:500}.revision-process p,.revision-notes p,.case-run-line{font-size:17px;line-height:1.55;color:var(--graycard);max-width:64ch;margin-top:18px}.mask-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.case-mask img{aspect-ratio:1;object-fit:contain}.case-mask figcaption{font-size:13px}.case-run-line{margin-top:48px}
.revision-notes{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;margin-top:40px}.revision-notes h3{font-size:20px;font-weight:500}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.case-detail-grid img{aspect-ratio:4/3;object-fit:contain}.case-navigation{margin-top:96px;padding-top:32px;border-top:1px solid var(--line)}
@media(max-width:1100px){.hero-copy .opening-copy{font-size:56px}.credential-ai-group>.credential-list{grid-template-columns:1fr}.revision-process{grid-template-columns:1fr}.revision-process>article+article::before{content:none}}
@media(max-width:767px){.hero-copy .opening-copy{font-size:40px}.hero-copy{bottom:200px;max-width:calc(100% - 40px)}.hero-subline{font-size:13px}.page-title,.v3-title{font-size:34px}.page-subtitle{font-size:17px}.profile-bio p{font-size:16px}.credential-featured{padding:24px}.credential-featured h3{font-size:21px}.credential-row{align-items:flex-start;gap:16px}.credential-row h3{font-size:16px}.credential-meta{font-size:13px}.credential-featured{flex-direction:column}.case-intro .page-title{margin-top:32px}.case-section{margin-top:96px}.case-comparison-section{margin-top:56px}.case-subtitle{font-size:24px}.revision-notes,.case-detail-grid{grid-template-columns:1fr}.revision-process{gap:24px}.comparison-caption{gap:18px}.caption-pill{font-size:13px}.comparison-label{bottom:12px}.before-label{left:12px}.after-label{right:12px}.case-figure figcaption,.case-run-line{font-size:13px}.cv-credentials .credential-row{flex-direction:column;gap:8px}}
@media print{.screen-verify{display:none}.print-verify{display:inline}.credential-list{display:block;margin-top:8pt}.credential-row{padding:4pt 0;break-inside:avoid}.credential-row h3{font-size:8pt!important}.credential-meta{font-size:7pt!important;margin-top:2pt!important;gap:8pt}.verify-link{font-size:7pt!important;text-decoration:none}.cv-credentials .credential-row{padding:4pt 0}.credential-ai-group>.credential-list{display:block}.cv-sheet{break-after:auto}.cv-section.cv-credentials{break-inside:auto}}

/* v5: the existing palette, typography and image treatments, with shorter chapters. */
:root{--section-space:96px}
.chapter{height:200svh}#chapters{min-height:0}
.all-frames,.pipeline-section,.roles-section,.work-band,.v3-contact{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.profile-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.profile-section:first-child{padding-top:0}
.case-section{margin-top:var(--section-space)}.case-page{padding-bottom:var(--section-space)}
.case-comparison-section{margin-top:32px}.case-intro .page-title{margin-top:24px}
.case-intro .page-subtitle{margin-top:20px}.case-intro{max-width:960px}
.comparison{aspect-ratio:4/3}.comparison img{object-position:50% 72%}
.case-subtitle{margin-bottom:20px}.case-navigation{margin-top:var(--section-space)}
.hero-copy{top:18svh;bottom:auto;max-width:min(680px,calc(100% - 320px))}
.hero-copy .opening-copy{color:var(--bone);font-size:clamp(40px,4.4vw,64px);text-shadow:0 2px 20px rgb(22 21 20 / .55)}
.hero-subline{color:var(--bone);text-shadow:0 1px 8px var(--flag)}
.hero-about,.scroll-hint{color:var(--bone);text-shadow:0 1px 8px var(--flag)}
.chapter:first-child .scene-product img{animation:none}
.chapter-stage[data-focus-mode="crossfade"] .scene-product{transition:opacity 300ms linear}
.chapter:first-child .chapter-stage::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(110deg,rgb(22 21 20 / .55),transparent 70%);opacity:var(--intro-opacity)}
body[data-page="work"] .site-header{color:var(--bone);background:linear-gradient(rgb(22 21 20 / .86),rgb(22 21 20 / .55));text-shadow:0 1px 5px var(--flag)}
body[data-page="work"] .site-header .header-logo{filter:none}
.product-rail,.product-rail[data-tone="light"]{background:rgb(22 21 20 / .82);color:var(--bone);padding:18px 18px 18px 20px;border:1px solid rgb(232 228 220 / .12);border-radius:6px}
.product-rail a{opacity:.72}.product-rail a[aria-current="true"]{opacity:1}
.rail-group-label{display:block;font-size:10px;letter-spacing:.02em;text-align:right;margin-bottom:14px;color:var(--graycard)}
.product-rail li+li{margin-top:12px}.product-rail li.rail-group-start{margin-top:26px}
.chapter-stage[data-ui-active="false"] .caption-group,.chapter-stage[data-ui-active="false"] .inspect-button{visibility:hidden;pointer-events:none}
.method-tag,.chapter-stage[data-act="0"] .method-tag,.chapter-stage[data-act="1"] .method-tag{color:var(--bone);background:rgb(22 21 20 / .8);border-color:rgb(232 228 220 / .22)}
.sheet-row-heading{display:grid;grid-template-columns:1fr 1.3fr;align-items:start;gap:8px 24px}
.sheet-group-label{font-size:12px;color:var(--graycard);margin-top:4px}
.sheet-credit{grid-column:2;font-size:11px}.sheet-concept{font-size:12px;color:var(--graycard);max-width:66ch;line-height:1.5}
.work-band{max-width:1200px;margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.case-band{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:56px}
.band-copy>p{color:var(--graycard);margin-top:24px;max-width:40ch}.band-copy>.inline-link{display:inline-block;margin-top:28px}
.spaces-band-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.spaces-band-grid a{display:block;aspect-ratio:16/9;overflow:hidden}.spaces-band-grid img{width:100%;height:100%;object-fit:cover}
.pipeline-compact{display:none}
.tool-featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.tool-feature-image{position:relative;display:grid;grid-template-columns:1fr 1fr;aspect-ratio:4/3;overflow:hidden}
.tool-feature-image>span:not(.caption-pill){position:relative;overflow:hidden}
.tool-feature-image img{position:absolute;width:200%;max-width:none;height:100%;object-fit:cover;object-position:50% 72%;left:0}
.tool-feature-image>span:nth-child(2) img{left:-100%}
.tool-feature-image .caption-pill{position:absolute;bottom:12px;left:12px}
.tool-featured .inline-link{display:inline-block;margin-top:24px}
.profile-tools .tools-table th:first-child{width:30%}
.spaces-motion-hero{position:relative;padding-top:84px;background:var(--flag)}
.spaces-motion-hero .motion-player{border:0;border-radius:0;aspect-ratio:16/9;max-height:calc(100svh - 84px)}
.spaces-motion-hero figcaption{position:absolute;z-index:3;bottom:24px;left:var(--gutter);font-size:13px;max-width:calc(100% - 40px);background:rgb(22 21 20 / .8);border:1px solid rgb(232 228 220 / .12);border-radius:30px;padding:8px 14px}
.motion-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.motion-hero-player video{position:relative;z-index:1}.motion-play{z-index:2}
.spaces-page>.page-shell{padding-top:var(--section-space)}
.spaces-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
.space-card{min-width:0}.space-card .space-caption{gap:5px;min-height:75px}
.space-card .space-caption span{font-size:12px;line-height:1.5}
.space-card .space-caption span:first-child{font-size:14px}
.spaces-note{margin-bottom:0}.motion-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.motion-grid{grid-template-columns:1fr 1fr}.motion-card:first-child{grid-column:auto}
.spaces-page .gallery-title{margin-top:48px}
@media(max-width:1100px){.site-header .main-nav{gap:14px}.site-header{font-size:12px}.header-name span{max-width:180px}.hero-copy{max-width:calc(100% - 280px)}.case-band{gap:32px}.tool-featured{grid-template-columns:1fr;gap:24px}}
@media(max-width:767px){
  :root{--section-space:64px}
  .chapter{height:200svh}#chapters{min-height:0}
  .hero-copy{top:112px;max-width:calc(100% - 40px)}.hero-copy .opening-copy{font-size:clamp(27px,7.3vw,40px);line-height:1.1}
  .hero-subline{font-size:12px;margin-top:14px}.hero-about{bottom:145px}.scroll-hint{bottom:32px}
  .sheet-row-heading{display:block}.sheet-concept{margin-top:8px}.sheet-credit{margin-top:8px}
  .case-band{grid-template-columns:1fr;gap:28px}.band-copy>p{margin-top:18px}.band-copy>.inline-link{margin-top:18px}
  .spaces-band-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pipeline-diagram.is-compact svg{display:none}.pipeline-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:0;list-style:none;counter-reset:pipeline}
  .pipeline-compact li{border:1px solid var(--line);border-radius:6px;padding:18px 16px;min-width:0;counter-increment:pipeline}
  .pipeline-compact strong{display:block;font-size:17px;font-weight:500}.pipeline-compact strong::before{content:counter(pipeline,decimal-leading-zero) " / ";color:var(--graycard);font-size:11px}
  .pipeline-compact span{display:block;margin-top:8px;color:var(--graycard);font-size:12px}
  .pipeline-compact li:last-child{grid-column:1/-1}
  .tool-featured{padding:20px}.spaces-grid{grid-template-columns:1fr;gap:30px}
  .space-card .space-caption{min-height:0}.space-card .space-caption span{font-size:12px}
  .spaces-motion-hero{padding-top:71px}.spaces-motion-hero .motion-player{max-height:none;aspect-ratio:4/3}
  .spaces-motion-hero figcaption{bottom:12px;left:12px;font-size:11px;padding:7px 10px}
  .motion-grid{grid-template-columns:1fr}.case-comparison-section{margin-top:28px}.case-intro .page-title{margin-top:20px}
  .case-subtitle{font-size:22px;margin-bottom:16px}.case-page{padding-top:108px}.case-intro .page-subtitle{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.motion-hero-player video,.motion-hero-player .motion-play{display:none!important}.motion-hero-player .motion-still{display:block}.reveal{opacity:1!important}}

/* D3 reuses the existing Archivo, graphite, bone, tungsten and glass pills. */
#chapters{background:var(--graphite)}#hero-chapter{min-height:200svh}#remaining-chapters{min-height:400svh}
.detail-check{scroll-margin-top:90px;background:var(--graphite)}.dc-copy,.dc-media{min-width:0}
.detail-check.case-band .v3-title{font-size:clamp(34px,3.6vw,50px)}
.dc-stats{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:12px 22px;color:var(--graycard);font-size:14px}
.dc-stats b{font-size:22px;font-weight:500;color:var(--bone);margin-right:4px;font-variation-settings:"wdth" 110}
.dc-stage{position:relative;aspect-ratio:2400/1340;background:var(--flag);margin:0;isolation:isolate}
.dc-stage>img{width:100%;height:100%;object-fit:cover}
.dc-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent}
.dc-pin>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--bone);border-radius:50%;background:rgb(22 21 20 / .72);color:var(--bone);font:500 11px/1 Archivo,sans-serif;transition:transform 200ms,background 200ms}
.dc-pin.on>span,.dc-pin:hover>span,.dc-pin:focus-visible>span{background:var(--tungsten);color:var(--flag);border-color:var(--tungsten);transform:scale(1.1)}
.dc-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.dc-thumb{position:relative;display:block;padding:0;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid transparent;background:var(--flag);text-align:left}
.dc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dc-thumb .dc-after{opacity:0;transition:opacity 250ms}.dc-thumb.on{border-color:var(--tungsten)}.dc-thumb.on .dc-after{opacity:1}
.dc-thumb .caption-pill{position:absolute;bottom:8px;left:8px;font-size:11px;padding:4px 9px;pointer-events:none}
.dc-number{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--bone);border-radius:50%;background:rgb(22 21 20 / .72);font-size:10px;color:var(--bone)}
.dc-thumbs figcaption{color:var(--graycard);font-size:12px;line-height:1.4;margin-top:8px}
.detail-check .comparison-caption p{font-size:12px;line-height:1.55}.detail-check .comparison-caption .outline-button{flex:none}
.hint-touch{display:none}
.case-page:has(.detail-large){padding-top:120px}.case-page:has(.detail-large) .case-intro .page-title{font-size:44px;margin-top:20px}
.detail-large{margin-top:24px}.detail-large .dc-copy{max-width:850px;margin-bottom:20px}
.detail-large .dc-copy>.eyebrow{margin-bottom:12px}.detail-large .dc-copy>.case-subtitle{margin-bottom:12px}
.detail-large .dc-copy>p{max-width:70ch;margin-top:12px}.detail-large .dc-stats{margin-top:16px}.detail-large .dc-media{max-width:1100px}
.detail-large+.case-comparison-section{margin-top:var(--section-space)}
.detail-large .dc-thumbs{gap:16px;margin-top:16px}.detail-large .dc-thumbs figcaption{font-size:14px}
.dc-toggle{position:absolute;right:14px;top:14px;z-index:4;background:rgb(22 21 20 / .82)}
.pins-hidden .dc-pin{visibility:hidden;pointer-events:none}
.dc-loupe{position:absolute;left:2%;top:4%;z-index:5;width:min(340px,38%);min-width:200px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--graphite);box-shadow:0 16px 40px rgb(22 21 20 / .4)}
.dc-loupe[hidden]{display:none}.dc-loupe-frame{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--flag)}
.dc-loupe-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dc-loupe-before{opacity:0}.show-before .dc-loupe-before{opacity:1}
.dc-loupe .caption-pill{position:absolute;left:8px;top:8px;font-size:12px;padding:4px 10px}
.dc-versions{display:flex;gap:6px;margin:10px 0 8px}.dc-versions button{flex:1;min-height:36px;border:1px solid var(--line);border-radius:6px;font-size:13px}
.dc-versions button[aria-pressed="true"]{color:var(--flag);background:var(--bone);border-color:var(--bone)}
.dc-loupe p{font-size:12px;color:var(--graycard);line-height:1.5}.dc-loupe>.inline-link{display:inline-block;font-size:12px;margin-top:10px}
.dc-native{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.dc-native summary{cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.dc-native-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.dc-native-grid img{width:100%;height:auto}.dc-native figcaption{font-size:12px;color:var(--graycard);margin-top:10px}
@media(hover:none){.hint-mouse{display:none}.hint-touch{display:inline}.detail-large .dc-pin,.dc-loupe,.dc-toggle{display:none}}
@media(max-width:767px){.detail-check{scroll-margin-top:80px}.dc-stats b{font-size:18px}.dc-stats{gap:12px 20px}.dc-thumbs figcaption{font-size:11px}.detail-check .comparison-caption{gap:12px}.detail-check .comparison-caption p{font-size:11px}.detail-large .dc-thumbs{grid-template-columns:1fr;gap:24px}.detail-large .dc-thumbs figcaption{font-size:14px}.detail-large .dc-pin,.dc-loupe,.dc-toggle{display:none}.dc-native-grid{grid-template-columns:1fr}.detail-large .dc-copy{margin-bottom:20px}.case-page:has(.detail-large){padding-top:104px}.case-page:has(.detail-large) .case-intro .page-title{font-size:34px}}
@media(prefers-reduced-motion:reduce){.dc-thumb .dc-after,.dc-pin>span{transition:none}}

/* Workflow examples share the existing Archivo, chips, glass, and color tokens. */
@property --r{syntax:'<length>';inherits:false;initial-value:0px}
.workflow-home{max-width:1200px;width:calc(100% - 80px);margin:auto;padding:160px 0;scroll-margin-top:90px}
/* Keep the fixed side rail clear of the last progress control and image controls. */
@media(min-width:768px) and (max-width:1599px){.workflow-home{padding-right:160px}}
.workflow-intro .v3-title{font-size:56px;text-wrap:balance}.workflow-intro>p,.workflow-line{font-size:17px;font-variation-settings:"wdth" 100;line-height:1.55;color:var(--graycard);max-width:64ch;margin-top:24px}
.workflow-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:36px 0 28px}.workflow-tabs button{min-height:44px;color:var(--graycard);font-size:14px;box-sizing:border-box}
.workflow-tabs [aria-selected="true"]{color:var(--bone);border-bottom:2px solid var(--tungsten)}
.workflow-home [role="tabpanel"][hidden]{display:none}.workflow-line{margin:0 0 28px}.workflow-home .dc-stats{margin-top:28px}.workflow-credit{color:var(--graycard);font-size:13px;margin-top:20px}.workflow-case-link{display:inline-block;margin-top:30px}
.es-player{min-width:0}.es-segments{display:flex;flex-wrap:wrap;gap:8px}.es-segments>button{min-width:44px;min-height:44px;flex:1 0 44px;padding:20px 0;border:0;background:none}.es-bar{display:block;height:2px;background:var(--graycard);overflow:hidden}.es-bar>span{display:block;height:100%;background:var(--bone);transform:scaleX(0);transform-origin:left}
.es-segments [aria-current="step"] .es-bar{outline:1px solid var(--tungsten);outline-offset:3px}
.es-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;min-height:52px;padding:0 0 16px;font-size:17px;font-weight:400;font-variation-settings:"wdth" 100;line-height:1.55;color:var(--bone)}
.es-caption [data-es-changed]{color:var(--graycard)}
.es-art{aspect-ratio:16/9;position:relative;isolation:isolate;overflow:hidden;background:var(--flag);width:100%;border-radius:6px}
.es-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.es-next{mask-image:radial-gradient(circle at var(--cx,50%) var(--cy,50%),#000 calc(var(--r)*.85),transparent var(--r));-webkit-mask-image:radial-gradient(circle at var(--cx,50%) var(--cy,50%),#000 calc(var(--r)*.85),transparent var(--r))}
.es-outline{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;fill:none;stroke:var(--tungsten);stroke-width:1;opacity:0}.es-outline[hidden]{display:none}.es-outline rect{stroke-dasharray:1;stroke-dashoffset:1}
.es-image-controls{position:absolute;z-index:4;bottom:14px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.es-image-controls>div{display:flex;gap:8px}
.es-image-controls button{position:static;min-width:44px;min-height:44px;padding:8px 14px;font-size:13px;white-space:nowrap;border:1px solid transparent;color:var(--bone);background:rgb(22 21 20 / .82);border-radius:24px}
.es-image-controls [data-es-hold]{touch-action:none;user-select:none}.es-image-controls button[aria-pressed="true"]{border-color:var(--tungsten)}.es-image-controls button:disabled{opacity:.5;cursor:default}
.es-before{position:absolute;z-index:3;top:14px;left:14px;bottom:auto;font-size:13px}.es-before[hidden],.es-image-controls button[hidden]{display:none}
.workflow-home button:focus-visible{outline:2px solid var(--tungsten);outline-offset:4px}
.es-manual{display:none;gap:8px;flex-wrap:wrap;margin-top:20px}.es-manual button{border:1px solid var(--line);border-radius:24px;min-width:44px;min-height:44px;padding:8px 14px;font-size:13px}.es-manual [aria-pressed="true"]{border-color:var(--tungsten);color:var(--tungsten)}
.workflow-home[data-mode="manual"] .es-segments{display:none}.workflow-home[data-mode="manual"] .es-manual{display:flex}.workflow-home[data-mode="manual"] .es-caption{padding-top:8px}
.workflow-details .dc-media{max-width:none}.workflow-details .dc-stage{border-radius:6px;overflow:hidden}.workflow-details .dc-thumbs{gap:8px}.workflow-details .dc-thumbs figcaption{font-size:13px}.workflow-details .comparison-caption p,.detail-check .comparison-caption p{display:flex;flex-wrap:wrap;gap:4px 14px}
.workflow-details .dc-stats{margin-top:28px}.workflow-details .hint-touch{display:none}
.pipeline-lead{margin:24px 0 0;color:var(--graycard);font-size:17px;font-variation-settings:"wdth" 100}
.es-nojs{display:grid;grid-template-columns:1fr 1fr;gap:24px}.es-nojs img{width:100%;height:auto;border-radius:6px}.es-nojs figcaption,.es-nojs-caption{color:var(--graycard);font-size:13px;margin-top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:none){.workflow-details .hint-touch{display:inline}.workflow-details .hint-mouse{display:none}}
@media(max-width:767px){.workflow-home{width:calc(100% - 40px);padding:96px 0;scroll-margin-top:80px}.workflow-intro .v3-title{font-size:34px}.workflow-intro>p,.workflow-line{font-size:16px}.workflow-tabs{gap:8px;margin:28px 0 24px}.workflow-tabs button{font-size:13px;padding:10px 14px}.workflow-line{margin-bottom:20px}.es-segments{gap:4px}.es-caption{min-height:68px;font-size:17px;gap:2px 12px}.es-caption [data-es-changed]{width:100%}.es-image-controls{bottom:8px;left:8px;right:8px;gap:6px}.es-image-controls>div{gap:5px}.es-image-controls button{font-size:10px;padding:6px 10px}.es-before{top:8px;left:8px;font-size:11px}.es-nojs{grid-template-columns:1fr}.es-manual{gap:4px}.es-manual button{padding:8px 12px}.workflow-details .dc-thumbs figcaption{font-size:11px}}

.space-meta{display:flex;flex-wrap:wrap;gap:4px 14px}.spaces-motion-hero figcaption{display:flex;flex-wrap:wrap;gap:4px 16px}h1,h2,h3{text-wrap:balance}
