:root{--surface-page:#f1f3f5;--surface-panel:#fff;--surface-navigation:#e6e9ec;--surface-placeholder:#f5f6f7;--surface-hover:#e4e8ec;--surface-input:#fff;--text-primary:#1a1918;--text-secondary:#51575e;--link-text:#1a1918;--selection-bg:#f1ff66;--selection-text:#1a1918;--button-bg:#1a1918;--button-text:#fff;--button-edge:#f1ff66;--focus-ring:#1a1918;--focus-selected:#1a1918;--rule-decorative:#cbd0d6;--rule-control:#707780;--color-selected:var(--selection-bg);--shadow-color:#000;color-scheme:light;--color-paper:var(--surface-page);--color-white:var(--surface-panel);--color-ink:var(--text-primary);--color-muted:var(--text-secondary);--color-rule:var(--rule-decorative);--color-wash:var(--surface-navigation);--color-accent:var(--link-text);--font-body:system-ui,sans-serif;--font-display:Georgia,serif;--font-detail:ui-monospace,monospace;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--text-body:14px;--text-intro:15px;--text-title:18px;--text-display:34px;--radius-panel:12px;--panel-padding:24px;--section-gap:24px;--radius-rail:24px;--radius-pill:999px;--dock-width:560px;--dock-height:56px;--dock-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px));--dock-left:max(var(--space-sm),env(safe-area-inset-left,0px));--dock-right:max(var(--space-sm),env(safe-area-inset-right,0px));--color-dock:color-mix(in oklch,var(--color-wash) 88%,transparent);--shadow-floating:0 4px 16px color-mix(in srgb,var(--shadow-color) 12%,transparent)}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:var(--text-body)/1.6 var(--font-body);padding:24px}h1,h2,h3,p,dl,dd,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal}main{gap:var(--section-gap);max-width:808px;margin-inline:auto;display:grid}.panel{min-width:0;padding:var(--panel-padding);background:var(--color-white);border:1px solid var(--color-rule);border-radius:var(--radius-panel)}h1{font:400 var(--text-display)/1.2 var(--font-display);letter-spacing:-.6px}h2{font-size:var(--text-title);margin-bottom:var(--space-sm);font-weight:600}h3{font-size:var(--text-body);margin-top:var(--space-md)}.eyebrow{color:var(--color-muted);font:12px/1.5 var(--font-detail);margin-bottom:var(--space-sm)}.summary{font-size:var(--text-intro);color:var(--color-muted);margin-top:var(--space-sm)}.facts{gap:var(--space-xs) var(--space-sm);margin-block:var(--space-lg);font-size:var(--text-body);-webkit-text-size-adjust:100%;text-size-adjust:100%;grid-template-columns:76px minmax(0,1fr);align-items:baseline;line-height:1.6;display:grid}dt{color:var(--color-muted)}dd{overflow-wrap:anywhere;min-width:0}.cover{aspect-ratio:16/9;padding:var(--space-lg);border:1px dashed var(--color-rule);background:var(--color-wash);color:var(--color-muted);text-align:center;font:13px/1.6 var(--font-detail);place-items:center;display:grid}.cover span{display:block}.source,.pending{color:var(--color-muted);margin-top:var(--space-sm);font-size:13px}ul{margin:0;padding-left:20px}li+li{margin-top:var(--space-xs)}.links{gap:var(--space-md);flex-wrap:wrap;display:flex}a{color:var(--color-accent);text-underline-offset:4px}a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}a:active{background:var(--color-wash)}.back,.links a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.back{justify-self:start}@media (hover:hover){a:hover{text-decoration-thickness:2px}}@media (width<=500px){body{padding:12px}main{--panel-padding:16px}h1{font-size:28px}.cover{aspect-ratio:3/2}}.detail-shell{max-width:1040px;margin-inline:auto;container:detail/inline-size}.detail-layout{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:36px;display:grid}@container detail (width>=856px){.detail-layout{padding-inline:32px}}.case-study{--header-clearance:24px;grid-column:2;width:100%;min-width:0}.case-study [id]{scroll-margin-top:calc(var(--header-clearance) + var(--space-xs))}.case-study [tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.detail-sidebar{overscroll-behavior:contain;background:var(--color-wash);border:1px solid var(--color-rule);border-radius:var(--radius-rail);width:132px;height:calc(100dvh - 48px);font:16px/normal var(--font-body);flex-direction:column;gap:28px;padding:20px 16px;scroll-padding:8px;display:flex;position:fixed;top:24px;bottom:24px;overflow-y:auto}.detail-sidebar>*{flex-shrink:0}.sections{flex-direction:column;gap:4px;font-size:14px;display:flex}.sections a,.contact-resources :is(a,button),.detail-sidebar>.back{min-width:44px;min-height:44px;font:inherit;white-space:nowrap;text-align:left;color:inherit;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;padding:8px 6px;text-decoration:none;display:flex}.detail-sidebar>.back{font-size:14px}.sections a[aria-current=location]{background:var(--selection-bg);color:var(--selection-text);box-shadow:var(--shadow-floating);font-weight:650}.contact-resources{color:var(--color-muted);flex-direction:column;gap:0;font-size:13px;display:flex}.contact-resources button{cursor:pointer;text-align:left}.contact-resources button:disabled{color:var(--color-muted);cursor:not-allowed;opacity:.65}.contact-resources button[aria-busy]{opacity:.55;cursor:wait}.contact-resources :is(a,button,input):focus-visible,.sections a:focus-visible,.detail-sidebar>.back:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.copy-status{overflow-wrap:anywhere;margin-top:8px;font-size:12px}.copy-status:empty{display:none}.email-fallback{margin-top:8px;font-size:12px;display:block}.email-fallback[hidden]{display:none}.email-fallback input{border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-paper);width:100%;min-width:0;min-height:44px;color:var(--color-ink);font:12px var(--font-body);margin-top:4px;padding:4px}.detail-sidebar .email-fallback input{border-radius:var(--space-xs)}@media (hover:hover){.sections a:not([aria-current]):hover,.contact-resources :is(a,button):not(:disabled):hover,.detail-sidebar>.back:hover{background:var(--color-paper)}}.sections a:active,.contact-resources :is(a,button):active,.detail-sidebar>.back:active{background:var(--color-paper)}.compact-back{display:none}.phone-dock{z-index:20;bottom:var(--dock-bottom);left:var(--dock-left);right:var(--dock-right);width:min(calc(100% - var(--dock-left) - var(--dock-right)),var(--dock-width));gap:var(--space-xs);align-items:flex-end;margin-inline:auto;display:none;position:fixed}.phone-dock nav{scrollbar-width:none;overscroll-behavior-x:contain;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-dock);backdrop-filter:blur(12px);min-width:0;box-shadow:var(--shadow-floating);flex:1;gap:2px;padding:4px;scroll-padding-inline:4px;display:flex;overflow-x:auto}.phone-dock nav::-webkit-scrollbar{display:none}.phone-dock a{min-width:44px;min-height:44px;color:var(--color-ink);font:13px/1.5 var(--font-body);white-space:nowrap;border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:flex}.phone-dock a[aria-current=location]{background:var(--selection-bg);color:var(--selection-text);box-shadow:var(--shadow-floating);font-weight:650}.say-hi{flex-direction:column;flex:0 0 var(--dock-height);min-height:var(--dock-height);border:1px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-ink);min-width:44px;color:var(--color-white);font:12px/1.2 var(--font-body);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-floating);justify-content:center;align-items:center;gap:4px;padding:4px;display:flex}.say-hi svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-menu{inset:auto;bottom:calc(var(--dock-bottom) + var(--dock-height) + var(--space-xs));right:max(var(--dock-right),calc((100vw - var(--dock-width))/2));width:220px;max-width:calc(100vw - var(--dock-left) - var(--dock-right));max-height:calc(100dvh - var(--dock-bottom) - var(--dock-height) - 2 * var(--space-sm) - env(safe-area-inset-top,0px));overscroll-behavior:contain;padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-white);color:var(--color-ink);box-shadow:var(--shadow-floating);font:var(--text-body)/1.5 var(--font-body);margin:0;position:fixed;overflow-y:auto}.contact-menu :is(a,button){width:100%;min-height:44px;padding:var(--space-xs);border-radius:var(--space-xs);background:var(--color-white);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;text-decoration:none;display:flex}.contact-menu button:disabled{opacity:.55;cursor:wait}.contact-menu .link-pending:disabled{color:var(--color-muted);cursor:not-allowed;opacity:.65}.phone-dock a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.say-hi:focus-visible,.contact-menu :is(a,button,input):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.phone-dock a:active,.contact-menu :is(a,button):active{background:var(--color-wash)}.say-hi:active{border-color:var(--color-white)}@media (hover:hover){.phone-dock a:not([aria-current]):hover,.contact-menu :is(a,button):not(:disabled):hover{background:var(--color-wash)}.say-hi:hover{border-color:var(--color-white)}}@container detail (width<=855px){.detail-layout{display:block}.detail-sidebar{display:none}.phone-dock{display:flex}.compact-back{margin-bottom:var(--space-md);display:inline-flex}.case-study{padding-bottom:calc(var(--dock-bottom) + var(--dock-height) + 2 * var(--space-sm))}.case-study :is([tabindex],a){scroll-margin-bottom:calc(var(--dock-bottom) + var(--dock-height) + var(--space-sm))}}@media (height<=600px){.detail-sidebar{gap:16px;padding-block:12px}}.controls label,.phone-dock nav,.contact-menu,.email-fallback input{border-color:var(--rule-control)}.controls input:checked+label{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.thumbnail,.cover{background:var(--surface-placeholder)}.email-fallback input{background:var(--surface-input);color:var(--text-primary)}.say-hi{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.say-hi:hover,.say-hi:active{border-color:var(--button-edge)}.project-link:active,.project-link:focus-visible,.phone-dock a:active,.contact-menu :is(a,button):active,.rail :is(a,button):active,.sections a:active,.contact-resources :is(a,button):active,.detail-sidebar>.back:active{background:var(--surface-hover)}.phone-dock a[aria-current]:active,.rail a[aria-current]:active,.sections a[aria-current]:active{background:var(--selection-bg);color:var(--selection-text)}@media (hover:hover){.project-link:hover,.phone-dock a:not([aria-current]):hover,.contact-menu :is(a,button):not(:disabled):hover,.rail :is(a,button):not(:disabled):not([aria-current]):hover,.sections a:not([aria-current]):hover,.contact-resources :is(a,button):not(:disabled):hover,.detail-sidebar>.back:hover{background:var(--surface-hover)}.phone-dock a[aria-current]:hover{background:var(--selection-bg);color:var(--selection-text)}}.phone-dock a[aria-current]:focus-visible{outline-color:var(--focus-selected)}
