@layer greda.tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--gr-font-sans:"Inter", "Helvetica Neue", Arial, sans-serif;--gr-font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--gr-text-xs:.75rem;--gr-text-sm:.875rem;--gr-text-md:1rem;--gr-text-lg:1.25rem;--gr-text-xl:1.5rem;--gr-text-2xl:2rem;--gr-text-display:clamp(2.5rem, 7vw, 5.5rem);--gr-leading-tight:1.05;--gr-leading-heading:1.2;--gr-leading-body:1.6;--gr-weight-regular:400;--gr-weight-medium:500;--gr-weight-semibold:600;--gr-space-0:0;--gr-space-1:.25rem;--gr-space-2:.5rem;--gr-space-3:.75rem;--gr-space-4:1rem;--gr-space-6:1.5rem;--gr-space-8:2rem;--gr-space-12:3rem;--gr-space-16:4rem;--gr-space-24:6rem;--gr-color-canvas:var(--lightningcss-light,#f7f6f2)var(--lightningcss-dark,#15140f);--gr-color-surface:var(--lightningcss-light,#fffefa)var(--lightningcss-dark,#1d1c17);--gr-color-surface-muted:var(--lightningcss-light,#efeee9)var(--lightningcss-dark,#26251f);--gr-color-text:var(--lightningcss-light,#171716)var(--lightningcss-dark,#f4f2ec);--gr-color-text-muted:var(--lightningcss-light,#686762)var(--lightningcss-dark,#a6a39a);--gr-color-text-subtle:var(--lightningcss-light,#716f69)var(--lightningcss-dark,#8f8c83);--gr-color-text-inverse:var(--lightningcss-light,#fffefa)var(--lightningcss-dark,#15140f);--gr-color-border:var(--lightningcss-light,#d9d7cf)var(--lightningcss-dark,#302e28);--gr-color-border-strong:var(--lightningcss-light,#8f8d86)var(--lightningcss-dark,#6b675c);--gr-color-action:var(--lightningcss-light,#171716)var(--lightningcss-dark,#f4f2ec);--gr-color-action-hover:var(--lightningcss-light,#30302e)var(--lightningcss-dark,#dad8d1);--gr-color-accent:var(--lightningcss-light,#c43b2f)var(--lightningcss-dark,#f07a6c);--gr-color-accent-soft:var(--lightningcss-light,#f5ded9)var(--lightningcss-dark,#3a201c);--gr-color-backdrop:var(--lightningcss-light,#17171652)var(--lightningcss-dark,#0000008f);--gr-radius-control:.25rem;--gr-radius-surface:.5rem;--gr-border-width:1px;--gr-control-compact:2rem;--gr-control-touch:2.75rem;--gr-control-selection:1.25rem;--gr-control-switch:2.25rem;--gr-icon-sm:.875rem;--gr-icon-md:1rem;--gr-color-danger:var(--gr-color-accent);--gr-container:72rem;--gr-reading-width:42rem;--gr-grid-columns:12;--gr-grid-gap:var(--gr-space-4);--gr-focus-width:2px;--gr-focus-offset:3px;--gr-focus-offset-tight:1px;--gr-focus-color:var(--gr-color-accent);--gr-layer-sticky:100;--gr-layer-toast:300;--gr-layer-skip:400;--gr-shadow-raised:0 1px 2px var(--lightningcss-light,#17171614)var(--lightningcss-dark,#00000052);--gr-shadow-overlay:0 12px 32px var(--lightningcss-light,#17171629)var(--lightningcss-dark,#00000085);--gr-duration-fast:.15s;--gr-duration-base:.22s;--gr-duration-slow:.32s;--gr-duration-loop:.9s;--gr-ease-out:cubic-bezier(.16, 1, .3, 1);--gr-ease-in-out:cubic-bezier(.65, 0, .35, 1);--gr-ease-subtle:cubic-bezier(.33, 1, .68, 1);--gr-motion-shift:.125rem;--gr-motion-press:.0625rem;--gr-opacity-disabled:.42}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports not (color:light-dark(#000, #fff)){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gr-color-canvas:#f7f6f2;--gr-color-surface:#fffefa;--gr-color-surface-muted:#efeee9;--gr-color-text:#171716;--gr-color-text-muted:#686762;--gr-color-text-subtle:#716f69;--gr-color-text-inverse:#fffefa;--gr-color-border:#d9d7cf;--gr-color-border-strong:#8f8d86;--gr-color-action:#171716;--gr-color-action-hover:#30302e;--gr-color-accent:#c43b2f;--gr-color-accent-soft:#f5ded9;--gr-color-backdrop:#17171652;--gr-shadow-raised:0 1px 2px #17171614;--gr-shadow-overlay:0 12px 32px #17171629}}[data-gr-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-gr-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@layer greda.reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,dl,dd{margin:0}button,input,select,textarea{color:inherit;font:inherit}button,input,select{appearance:none}a{color:inherit}}@layer greda.base{body{background:var(--gr-color-canvas);min-width:20rem;color:var(--gr-color-text);font-family:var(--gr-font-sans);font-size:var(--gr-text-md);line-height:var(--gr-leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}::selection{background:var(--gr-color-action);color:var(--gr-color-text-inverse)}:focus-visible{outline:var(--gr-focus-width) solid var(--gr-focus-color);outline-offset:var(--gr-focus-offset)}h1,h2,h3{font-weight:var(--gr-weight-semibold);letter-spacing:-.03em;line-height:var(--gr-leading-heading);text-wrap:balance}p{max-width:var(--gr-reading-width);text-wrap:pretty}code,pre,.gr-eyebrow{font-family:var(--gr-font-mono)}}@layer greda.utilities{.gr-container{width:min(calc(100% - (var(--gr-space-4) * 2)), var(--gr-container));margin-inline:auto}.gr-cluster{align-items:center;gap:var(--gr-space-2);flex-wrap:wrap;display:flex}.gr-stack{gap:var(--gr-space-4);display:grid}.gr-grid{gap:var(--gr-grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:45rem){.gr-grid{grid-template-columns:repeat(var(--gr-grid-columns), minmax(0, 1fr))}.gr-span-2{grid-column:span 2}.gr-span-3{grid-column:span 3}.gr-span-4{grid-column:span 4}.gr-span-6{grid-column:span 6}.gr-span-8{grid-column:span 8}.gr-span-12{grid-column:span 12}}.gr-eyebrow{color:var(--gr-color-text-subtle);font-size:var(--gr-text-xs);font-weight:var(--gr-weight-medium);letter-spacing:.02em;text-transform:uppercase;line-height:1.4}.gr-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}@layer greda.components{.gr-button{min-height:var(--gr-control-touch);justify-content:center;align-items:center;gap:var(--gr-space-2);padding-inline:var(--gr-space-3);border:var(--gr-border-width) solid transparent;border-radius:var(--gr-radius-control);color:var(--gr-color-text);font-size:var(--gr-text-sm);font-weight:var(--gr-weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--gr-duration-base) var(--gr-ease-subtle), opacity var(--gr-duration-fast) var(--gr-ease-in-out);background:0 0;line-height:1;text-decoration:none;display:inline-flex;position:relative}.gr-button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(var(--gr-motion-press)) scale(.985);transition-duration:var(--gr-duration-fast)}.gr-button:disabled,.gr-button[aria-disabled=true]{opacity:var(--gr-opacity-disabled);cursor:not-allowed;transform:none}.gr-button--primary{border-color:var(--gr-color-action);background:var(--gr-color-action);color:var(--gr-color-text-inverse)}.gr-button--primary:hover{background:var(--gr-color-action-hover)}.gr-button--secondary{border-color:var(--gr-color-border-strong);background:var(--gr-color-surface)}.gr-button--secondary:hover{border-color:var(--gr-color-action)}.gr-button--quiet{color:var(--gr-color-text-muted)}.gr-button--quiet:hover{color:var(--gr-color-text)}.gr-link,.gr-prose a{color:var(--gr-color-text);text-decoration:underline;-webkit-text-decoration-color:var(--gr-color-border-strong);-webkit-text-decoration-color:var(--gr-color-border-strong);-webkit-text-decoration-color:var(--gr-color-border-strong);text-decoration-color:var(--gr-color-border-strong);text-decoration-thickness:var(--gr-border-width);text-underline-offset:.2em}.gr-link:hover,.gr-prose a:hover{text-decoration-color:currentColor}.gr-link--quiet{color:var(--gr-color-text-muted);text-decoration:none}.gr-link--quiet:hover{color:var(--gr-color-text);text-decoration:underline}.gr-link--accent{color:var(--gr-color-accent)}.gr-skip-link{top:var(--gr-space-2);left:var(--gr-space-2);z-index:var(--gr-layer-skip);transition:transform var(--gr-duration-fast) var(--gr-ease-out);position:fixed;transform:translateY(-200%)}.gr-skip-link:focus{transform:none}.gr-field{gap:var(--gr-space-2);display:grid}.gr-field__label{font-size:var(--gr-text-sm);font-weight:var(--gr-weight-medium)}.gr-field__control{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-2);padding-inline:var(--gr-space-3);border:var(--gr-border-width) solid var(--gr-color-border-strong);border-radius:var(--gr-radius-control);background:var(--gr-color-surface);color:var(--gr-color-text-muted);display:flex}.gr-field__control:focus-within{border-color:var(--gr-color-action);outline:var(--gr-border-width) solid var(--gr-focus-color);outline-offset:var(--gr-focus-offset-tight)}.gr-field__control input,.gr-field__control select,.gr-field__control textarea{width:100%;min-width:0;color:var(--gr-color-text);font-size:var(--gr-text-sm);background:0 0;border:0;outline:0;padding:0}.gr-field__control input::placeholder,.gr-field__control textarea::placeholder{color:var(--gr-color-text-subtle);opacity:1;transition:opacity var(--gr-duration-base) var(--gr-ease-in-out)}.gr-field__control:focus-within input::placeholder,.gr-field__control:focus-within textarea::placeholder{opacity:.58}.gr-field__control--multiline{padding-block:var(--gr-space-2);align-items:flex-start}.gr-field__control--multiline textarea{min-height:calc(var(--gr-control-touch) * 2);resize:vertical;line-height:var(--gr-leading-body)}.gr-field__control select{cursor:pointer}.gr-field__control--select{position:relative}.gr-field__control--select select{align-self:stretch;align-items:center;padding-inline-end:calc(var(--gr-icon-md) + var(--gr-space-2))}.gr-field__control--select .gr-icon{pointer-events:none;position:absolute;inset-inline-end:var(--gr-space-3)}@supports (appearance:base-select){.gr-field__control--select select{appearance:base-select}.gr-field__control--select select::picker(select){appearance:base-select}.gr-field__control--select select::picker-icon{display:none}.gr-field__control--select select::picker(select){width:calc(anchor-size(width) + (var(--gr-space-3) + var(--gr-border-width)) * 2);margin-inline-start:calc((var(--gr-space-3) + var(--gr-border-width)) * -1);margin-block:var(--gr-space-1);position-area:block-end span-inline-end;position-try-fallbacks:flip-block;padding:var(--gr-space-1);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);box-shadow:var(--gr-shadow-overlay);opacity:0;transform:translateY(calc(var(--gr-motion-shift) * -1));transition:opacity var(--gr-duration-fast) var(--gr-ease-subtle), transform var(--gr-duration-fast) var(--gr-ease-subtle), display var(--gr-duration-fast) allow-discrete, overlay var(--gr-duration-fast) allow-discrete}.gr-field__control--select select:open::picker(select){opacity:1;transform:none}@starting-style{.gr-field__control--select select:open::picker(select){opacity:0;transform:translateY(calc(var(--gr-motion-shift) * -1))}}.gr-field__control--select option{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-2);padding-inline:var(--gr-space-2);border-radius:var(--gr-radius-control);color:var(--gr-color-text);font-size:var(--gr-text-sm);display:flex}.gr-field__control--select option:hover,.gr-field__control--select option:focus{background:var(--gr-color-surface-muted)}.gr-field__control--select option::checkmark{width:var(--gr-icon-sm);height:var(--gr-icon-sm);content:"";color:var(--gr-color-text-muted);background-color:currentColor;order:1;margin-inline-start:auto;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.gr-field__control--select:has(select:open) .gr-icon{transform:rotate(180deg)}}.gr-field__message{color:var(--gr-color-text-muted);font-size:var(--gr-text-xs)}.gr-field--invalid .gr-field__control{border-color:var(--gr-color-danger)}.gr-field--invalid .gr-field__message{color:var(--gr-color-danger)}.gr-field:has(:required) .gr-field__label:after{content:" *";color:var(--gr-color-danger)}.gr-field__control:has(:disabled){opacity:var(--gr-opacity-disabled)}:is(.gr-field__control:has(:disabled) input,.gr-field__control:has(:disabled) select,.gr-field__control:has(:disabled) textarea){cursor:not-allowed}.gr-field__control:has([readonly]){background:var(--gr-color-surface-muted)}.gr-choice{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-2);display:flex}.gr-choice__input{width:var(--gr-control-selection);height:var(--gr-control-selection);flex:0 0 var(--gr-control-selection);border:var(--gr-border-width) solid var(--gr-color-border-strong);border-radius:var(--gr-radius-control);background:var(--gr-color-surface);cursor:pointer;place-items:center;margin:0;display:grid}.gr-choice__input[type=radio]{border-radius:50%}.gr-choice__input:focus-visible,.gr-switch__input:focus-visible{outline-offset:var(--gr-focus-offset-tight)}.gr-choice__input:before{content:"";background:var(--gr-color-text-inverse);width:.75rem;height:.75rem;transition:transform var(--gr-duration-fast) var(--gr-ease-out);transform:scale(0);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.gr-choice__input[type=radio]:before{border-radius:50%;width:.5rem;height:.5rem;-webkit-mask-image:none;mask-image:none}.gr-choice__input:checked{border-color:var(--gr-color-action);background:var(--gr-color-action)}.gr-choice__input:checked:before{transform:scale(1)}.gr-choice__input:disabled{opacity:var(--gr-opacity-disabled);cursor:not-allowed}.gr-choice__label{font-size:var(--gr-text-sm)}.gr-switch{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-2);display:flex}.gr-switch__input{width:var(--gr-control-switch);height:var(--gr-control-selection);flex:0 0 var(--gr-control-switch);border:var(--gr-border-width) solid var(--gr-color-border-strong);border-radius:var(--gr-control-selection);background:var(--gr-color-surface);cursor:pointer;margin:0;position:relative}.gr-switch__input:before{content:"";background:var(--gr-color-border-strong);width:.875rem;height:.875rem;transition:transform var(--gr-duration-fast) var(--gr-ease-out);border-radius:50%;position:absolute;top:50%;left:.0625rem;transform:translateY(-50%)}.gr-switch__input:checked{border-color:var(--gr-color-action);background:var(--gr-color-action)}.gr-switch__input:checked:before{background:var(--gr-color-text-inverse);transform:translate(1rem,-50%)}.gr-switch__input:disabled{opacity:var(--gr-opacity-disabled);cursor:not-allowed}.gr-switch__label{font-size:var(--gr-text-sm)}.gr-fieldset{gap:var(--gr-space-4);border:0;margin:0;padding:0;display:grid}.gr-fieldset__legend{font-size:var(--gr-text-sm);font-weight:var(--gr-weight-semibold);padding:0}.gr-icon{width:var(--gr-icon-md);height:var(--gr-icon-md);flex:0 0 var(--gr-icon-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;transition:transform var(--gr-duration-base) var(--gr-ease-subtle), opacity var(--gr-duration-fast) var(--gr-ease-in-out)}.gr-card{padding:var(--gr-space-4);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface)}.gr-card__title{font-size:var(--gr-text-md)}.gr-card__body{margin-top:var(--gr-space-2);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.gr-card__actions{align-items:center;gap:var(--gr-space-2);margin-top:var(--gr-space-4);flex-wrap:wrap;display:flex}.gr-header{z-index:var(--gr-layer-sticky);border-bottom:var(--gr-border-width) solid var(--gr-color-border);background:var(--gr-color-canvas);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.gr-header{background:color-mix(in srgb, var(--gr-color-canvas) 94%, transparent)}}.gr-header{-webkit-backdrop-filter:blur(var(--gr-space-3));backdrop-filter:blur(var(--gr-space-3))}.gr-nav{min-height:var(--gr-space-16);justify-content:space-between;align-items:center;gap:var(--gr-space-4);display:flex}.gr-nav__links{align-items:center;gap:var(--gr-space-6);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);display:none}.gr-nav__link{text-decoration:none;position:relative}.gr-nav__link:after{right:0;bottom:calc(var(--gr-space-1) * -1);height:var(--gr-border-width);content:"";transform-origin:100%;transition:transform var(--gr-duration-base) var(--gr-ease-subtle);background:currentColor;position:absolute;left:0;transform:scaleX(0)}.gr-nav__link:focus-visible:after,.gr-nav__link[aria-current]:after{transform-origin:0;transform:scaleX(1)}.gr-nav__link[aria-current]{color:var(--gr-color-text)}.gr-footer{padding-block:var(--gr-space-8);border-top:var(--gr-border-width) solid var(--gr-color-border);color:var(--gr-color-text-muted);font-size:var(--gr-text-xs)}.gr-footer__row{gap:var(--gr-space-2);flex-direction:column;display:flex}.gr-section-head{align-content:start;gap:var(--gr-space-3);display:grid}.gr-section-head__title{font-size:var(--gr-text-2xl)}.gr-section-head__lead{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.gr-divider{height:var(--gr-border-width);background:var(--gr-color-border);border:0;margin:0}.gr-badge{min-height:var(--gr-space-6);align-items:center;gap:var(--gr-space-1);padding-inline:var(--gr-space-2);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-control);color:var(--gr-color-text-muted);font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);white-space:nowrap;display:inline-flex}.gr-badge--strong{border-color:var(--gr-color-border-strong);color:var(--gr-color-text)}.gr-badge--accent{border-color:var(--gr-color-accent);background:var(--gr-color-accent-soft);color:var(--gr-color-accent)}.gr-table-wrap{overflow-x:auto}.gr-table{border-collapse:collapse;width:100%;font-size:var(--gr-text-sm)}.gr-table th,.gr-table td{padding-block:var(--gr-space-3);padding-inline:var(--gr-space-2);border-bottom:var(--gr-border-width) solid var(--gr-color-border);text-align:start;vertical-align:top}.gr-table th{border-bottom-color:var(--gr-color-border-strong);color:var(--gr-color-text-subtle);font-size:var(--gr-text-xs);font-weight:var(--gr-weight-medium);letter-spacing:.02em;text-transform:uppercase}.gr-table__numeric{font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);text-align:end}.gr-code{padding-inline:var(--gr-space-1);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-control);background:var(--gr-color-surface-muted);font-family:var(--gr-font-mono);font-size:.9em}.gr-codeblock{padding:var(--gr-space-4);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);font-family:var(--gr-font-mono);font-size:var(--gr-text-sm);line-height:var(--gr-leading-body);tab-size:2;margin:0;overflow-x:auto}.gr-codeblock--wrap{white-space:pre-wrap;overflow-wrap:anywhere}.gr-code-snippet{border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);margin:0;overflow:hidden}.gr-code-snippet__head{justify-content:space-between;gap:var(--gr-space-4);padding:var(--gr-space-2) var(--gr-space-3);border-bottom:var(--gr-border-width) solid var(--gr-color-border);background:var(--gr-color-surface);color:var(--gr-color-text-subtle);font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);display:flex}.gr-code-snippet__head span:first-child{color:var(--gr-color-accent);font-weight:var(--gr-weight-medium)}.gr-code-snippet__copy{min-height:var(--gr-control-touch);padding-inline:var(--gr-space-2);color:var(--gr-color-text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;display:inline-flex}.gr-code-snippet .gr-codeblock{background:var(--gr-color-surface-muted);border:0;border-radius:0}.gr-prose{max-width:var(--gr-reading-width);gap:var(--gr-space-4);display:grid}.gr-prose__lead{color:var(--gr-color-text);font-size:var(--gr-text-lg);line-height:1.5}.gr-prose h2{font-size:var(--gr-text-xl)}.gr-prose h3{font-size:var(--gr-text-md)}.gr-prose ul,.gr-prose ol{gap:var(--gr-space-2);margin:0;padding-inline-start:var(--gr-space-6);display:grid}.gr-prose :is(h2,h3)+*{margin-top:calc(var(--gr-space-2) * -1)}.gr-prose blockquote{gap:var(--gr-space-2);margin:var(--gr-space-2) 0;padding-block:var(--gr-space-4);border-block:var(--gr-border-width) solid var(--gr-color-border-strong);font-size:var(--gr-text-lg);line-height:1.5;display:grid}.gr-prose blockquote cite{color:var(--gr-color-text-subtle);font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);font-style:normal}.gr-dialog{max-width:min(100% - var(--gr-space-8), var(--gr-reading-width));padding:var(--gr-space-6);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);color:var(--gr-color-text);box-shadow:var(--gr-shadow-overlay);opacity:0;transform:translateY(var(--gr-space-2));transition:opacity var(--gr-duration-base) var(--gr-ease-subtle), transform var(--gr-duration-base) var(--gr-ease-subtle), display var(--gr-duration-base) allow-discrete, overlay var(--gr-duration-base) allow-discrete}.gr-dialog[open]{opacity:1;transform:none}@starting-style{.gr-dialog[open]{opacity:0;transform:translateY(var(--gr-space-2))}}.gr-dialog::backdrop{background:var(--gr-color-backdrop);opacity:0;transition:opacity var(--gr-duration-base) var(--gr-ease-subtle), display var(--gr-duration-base) allow-discrete, overlay var(--gr-duration-base) allow-discrete}.gr-dialog[open]::backdrop{opacity:1}@starting-style{.gr-dialog[open]::backdrop{opacity:0}}.gr-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--gr-space-4);display:flex}.gr-dialog__title{font-size:var(--gr-text-lg)}.gr-dialog__body{margin-top:var(--gr-space-3);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.gr-dialog__actions{justify-content:flex-end;align-items:center;gap:var(--gr-space-2);margin-top:var(--gr-space-6);flex-wrap:wrap;display:flex}.gr-disclosure{border-bottom:var(--gr-border-width) solid var(--gr-color-border)}.gr-disclosure__summary{min-height:var(--gr-control-touch);justify-content:space-between;align-items:center;gap:var(--gr-space-4);font-size:var(--gr-text-sm);font-weight:var(--gr-weight-medium);cursor:pointer;list-style:none;display:flex}.gr-disclosure__summary::-webkit-details-marker{display:none}.gr-disclosure[open] .gr-disclosure__summary .gr-icon{transform:rotate(180deg)}.gr-disclosure__panel{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);padding-block-end:var(--gr-space-4)}.gr-tabs{display:grid}.gr-tabs__list{gap:var(--gr-space-4);border-bottom:var(--gr-border-width) solid var(--gr-color-border);display:flex}.gr-tabs__tab{min-height:var(--gr-control-touch);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);font-weight:var(--gr-weight-medium);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.gr-tabs__tab:after{right:0;bottom:calc(var(--gr-border-width) * -1);height:var(--gr-border-width);content:"";transform-origin:100%;transition:transform var(--gr-duration-base) var(--gr-ease-subtle);background:currentColor;position:absolute;left:0;transform:scaleX(0)}.gr-tabs__tab[aria-selected=true]{color:var(--gr-color-text)}.gr-tabs__tab[aria-selected=true]:after{transform-origin:0;transform:scaleX(1)}.gr-tabs__panel{padding-block-start:var(--gr-space-4)}.gr-popover{width:max-content;max-width:min(100% - var(--gr-space-8), 20rem);padding:var(--gr-space-3);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);color:var(--gr-color-text);font-size:var(--gr-text-sm);box-shadow:var(--gr-shadow-overlay);position-anchor:auto;position-area:block-end span-inline-end;margin:0;margin-block:var(--gr-space-1);position-try-fallbacks:flip-block;opacity:0;transform:translateY(calc(var(--gr-motion-shift) * -1));transition:opacity var(--gr-duration-fast) var(--gr-ease-subtle), transform var(--gr-duration-fast) var(--gr-ease-subtle), display var(--gr-duration-fast) allow-discrete, overlay var(--gr-duration-fast) allow-discrete}.gr-popover:popover-open{opacity:1;transform:none}@starting-style{.gr-popover:popover-open{opacity:0;transform:translateY(calc(var(--gr-motion-shift) * -1))}}.gr-callout{gap:var(--gr-space-3);padding:var(--gr-space-4);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface);font-size:var(--gr-text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.gr-callout .gr-icon{margin-top:var(--gr-space-1);color:var(--gr-color-text-muted)}.gr-callout__title{font-size:var(--gr-text-sm);font-weight:var(--gr-weight-semibold)}.gr-callout__body{margin-top:var(--gr-space-1);color:var(--gr-color-text-muted)}.gr-callout--danger{border-color:var(--gr-color-danger);background:var(--gr-color-accent-soft)}.gr-callout--danger .gr-icon{color:var(--gr-color-danger)}.gr-toast-region{z-index:var(--gr-layer-toast);inset-block-end:var(--gr-space-4);inset-inline:var(--gr-space-4);justify-items:center;gap:var(--gr-space-2);pointer-events:none;display:grid;position:fixed}.gr-toast{align-items:center;gap:var(--gr-space-3);max-width:min(100%,24rem);padding:var(--gr-space-3) var(--gr-space-4);border:var(--gr-border-width) solid var(--gr-color-border-strong);border-radius:var(--gr-radius-control);background:var(--gr-color-surface);color:var(--gr-color-text);font-size:var(--gr-text-sm);box-shadow:var(--gr-shadow-raised);pointer-events:auto;display:flex}.gr-toast__message{min-width:0}.gr-spinner{width:var(--gr-icon-md);height:var(--gr-icon-md);flex:0 0 var(--gr-icon-md);border:calc(var(--gr-border-width) * 2) solid var(--gr-color-border-strong);border-top-color:var(--gr-color-action);animation:gr-spin var(--gr-duration-loop) linear infinite;border-radius:50%}@keyframes gr-spin{to{transform:rotate(1turn)}}.gr-loading{align-items:center;gap:var(--gr-space-2);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);display:inline-flex}.gr-progress{width:100%;height:var(--gr-space-1);appearance:none;border-radius:var(--gr-radius-control);background:var(--gr-color-surface-muted);border:0;overflow:hidden}.gr-progress::-webkit-progress-bar{background:var(--gr-color-surface-muted)}.gr-progress::-webkit-progress-value{background:var(--gr-color-action)}.gr-progress::-moz-progress-bar{background:var(--gr-color-action)}.gr-skeleton{border-radius:var(--gr-radius-control);background:var(--gr-color-surface-muted);animation:gr-pulse var(--gr-duration-loop) var(--gr-ease-in-out) infinite alternate}@keyframes gr-pulse{to{opacity:.5}}.gr-skeleton--text{height:var(--gr-space-3)}.gr-skeleton--title{height:var(--gr-space-6)}.gr-empty{justify-items:center;gap:var(--gr-space-3);padding:var(--gr-space-12) var(--gr-space-4);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface-muted);text-align:center;display:grid}.gr-empty .gr-icon{color:var(--gr-color-text-subtle)}.gr-empty__title{font-size:var(--gr-text-md)}.gr-empty__body{max-width:34ch;color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.gr-breadcrumb,.gr-pagination{min-width:0}.gr-breadcrumb__list{align-items:center;gap:var(--gr-space-2);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.gr-breadcrumb__item{align-items:center;gap:var(--gr-space-2);display:flex}.gr-breadcrumb__item+.gr-breadcrumb__item:before{color:var(--gr-color-text-subtle);content:"/"}.gr-breadcrumb__item[aria-current]{color:var(--gr-color-text)}.gr-pagination__list{align-items:center;gap:var(--gr-space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.gr-pagination__link{min-width:var(--gr-control-touch);min-height:var(--gr-control-touch);padding-inline:var(--gr-space-2);border:var(--gr-border-width) solid transparent;border-radius:var(--gr-radius-control);color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.gr-pagination__link[aria-current]{border-color:var(--gr-color-border-strong);color:var(--gr-color-text);font-weight:var(--gr-weight-medium)}.gr-pagination__link[aria-disabled=true]{opacity:var(--gr-opacity-disabled);pointer-events:none}@media (hover:hover){.gr-nav__link:hover:after{transform-origin:0;transform:scaleX(1)}.gr-button:hover:active:not(:disabled):not([aria-disabled=true]){transform:translateY(var(--gr-motion-press)) scale(.985)}}@media (min-width:45rem){.gr-nav__links{display:flex}.gr-footer__row{flex-direction:row;justify-content:space-between}}@media (pointer:fine) and (min-width:45rem){.gr-button,.gr-field__control,.gr-choice,.gr-switch{min-height:var(--gr-control-compact)}.gr-pagination__link{min-width:var(--gr-control-compact);min-height:var(--gr-control-compact)}.gr-code-snippet__copy{min-height:var(--gr-control-compact)}.gr-button{padding-inline:.625rem}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@layer portfolio{.project-media-image,.project-media-reference,.case-cover,.case-figure,.case-thumbnail,.gallery-wireframe{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scroll-padding-top:calc(var(--gr-space-16) + var(--gr-space-4))}h1{max-width:24ch;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:var(--gr-leading-tight)}h2{font-size:var(--gr-text-2xl)}h3{font-size:var(--gr-text-lg)}.flow,.hero,.contact,.case-hero,.case-copy,.case-next,.project-content,.about-grid>div{align-content:start;gap:var(--gr-space-4);display:grid}.hero,.contact,.case-hero,.case-next{gap:var(--gr-space-6)}.gr-button{justify-self:start}main>section{width:min(calc(100% - (var(--gr-space-4) * 2)), var(--gr-container));margin-inline:auto}.site-name{font-weight:var(--gr-weight-semibold);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}a.gr-link{min-height:var(--gr-control-touch);align-items:center;display:inline-flex}.site-nav-actions{align-items:center;gap:var(--gr-space-2);display:flex}.site-resume-link{margin-left:var(--gr-space-2);display:none}.site-nav-menu{position:relative}.site-nav-menu__trigger{width:var(--gr-control-touch);min-height:var(--gr-control-touch);border-radius:var(--gr-radius-control);color:var(--gr-color-text);cursor:pointer;place-items:center;list-style:none;display:grid}.site-nav-menu__trigger::-webkit-details-marker{display:none}.site-nav-menu__trigger:focus-visible{outline:var(--gr-border-width) solid var(--gr-color-action);outline-offset:var(--gr-space-1)}.site-nav-menu__close,.site-nav-menu[open] .site-nav-menu__open{display:none}.site-nav-menu[open] .site-nav-menu__close{display:block}.site-nav-menu__panel{top:calc(100% + var(--gr-space-2));width:min(18rem, calc(100vw - var(--gr-space-8)));padding:var(--gr-space-2);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-canvas);display:grid;position:absolute;right:0}.site-nav-menu__link{min-height:var(--gr-control-touch);padding-inline:var(--gr-space-3);border-radius:var(--gr-radius-control);color:var(--gr-color-text);align-items:center;text-decoration:none;display:flex}.site-nav-menu__link:focus-visible{outline:var(--gr-border-width) solid var(--gr-color-action);outline-offset:calc(var(--gr-border-width) * -1)}@media (hover:hover){.site-nav-menu__link:hover{background:var(--gr-color-surface-muted)}}@media (max-width:44.999rem){.gr-nav{min-height:var(--gr-space-16);gap:var(--gr-space-2);flex-wrap:nowrap}.site-name,.theme-toggle{min-height:var(--gr-control-touch);align-items:center;display:inline-flex}.theme-toggle{margin-left:0}}@media (min-width:45rem){.site-nav-menu{display:none}.site-resume-link{display:inline-flex}}.theme-toggle{gap:var(--gr-space-2);margin-left:var(--gr-space-2)}.theme-toggle__sun{color:var(--lightningcss-light,var(--gr-color-text))var(--lightningcss-dark,var(--gr-color-text-subtle))}.theme-toggle__moon{color:var(--lightningcss-light,var(--gr-color-text-subtle))var(--lightningcss-dark,var(--gr-color-text))}@supports not (color:light-dark(#000, #fff)){.theme-toggle__moon{color:var(--gr-color-text-subtle)}}.hero{min-height:78vh;padding-block:var(--gr-space-16);border-bottom:var(--gr-border-width) solid var(--gr-color-border);align-content:center}.actions{gap:var(--gr-space-4) var(--gr-space-6);margin-top:var(--gr-space-2)}main>section:not(.hero){padding-block:var(--gr-space-24);border-bottom:var(--gr-border-width) solid var(--gr-color-border)}main>section.contact{border-bottom:0}.section-heading{align-items:end;gap:var(--gr-space-6);margin-bottom:var(--gr-space-16);grid-template-columns:minmax(0,1fr) minmax(16rem,30rem);display:grid}.section-heading>p{color:var(--gr-color-text-muted)}.project-list{gap:var(--gr-space-16);display:grid}.project{gap:var(--gr-space-8);grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);display:grid}.project-media{border:var(--gr-border-width) dashed var(--gr-color-border-strong);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface-muted);min-height:30rem;color:var(--gr-color-text-muted);place-items:center;display:grid}.project-media-image{aspect-ratio:2;border-style:solid;border-color:var(--gr-color-border);background:var(--gr-color-surface-muted);min-height:0;transition:border-color var(--gr-duration-base) var(--gr-ease-in-out);overflow:hidden}.project-media-image img{object-fit:cover;width:100%;height:100%;display:block}.project-media-reference{aspect-ratio:2;align-content:end;place-items:end start;gap:var(--gr-space-2);min-height:0;padding:var(--gr-space-8);border-style:solid;border-color:var(--gr-color-border);color:#fffefa;transition:border-color var(--gr-duration-base) var(--gr-ease-in-out);background-color:#171716;background-position:50%;background-size:cover;text-decoration:none}.project-media-reference span{font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);text-transform:uppercase}.project-media-reference strong{font-size:var(--gr-text-2xl);line-height:var(--gr-leading-heading)}.project-media-reference p{color:currentColor;font-size:var(--gr-text-sm)}@media (hover:hover){.project-media-image:hover,.project-media-reference:hover{border-color:var(--gr-color-action)}}.project-media-confidential{padding:var(--gr-space-8);background:linear-gradient(to right, transparent calc(50% - var(--gr-border-width)), var(--gr-color-border) 50%, transparent calc(50% + var(--gr-border-width))), linear-gradient(to bottom, transparent calc(50% - var(--gr-border-width)), var(--gr-color-border) 50%, transparent calc(50% + var(--gr-border-width))), var(--gr-color-surface-muted);border-style:solid;place-items:end start}.project-media-confidential>div{gap:var(--gr-space-2);width:min(100%,28rem);padding:var(--gr-space-6);background:var(--gr-color-canvas);color:var(--gr-color-text);display:grid}.project-media-confidential span,.project-media-confidential p{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.project-media-confidential strong{font-size:var(--gr-text-xl);font-weight:var(--gr-weight-semibold)}.project-content{align-self:center}.project-content h3{font-size:var(--gr-text-xl)}.project-content dl div,.experience-list article,.capabilities li,.case-list li{border-bottom:var(--gr-border-width) solid var(--gr-color-border)}.project-content dl div{padding-block:var(--gr-space-2);font-size:var(--gr-text-sm);grid-template-columns:4rem 1fr;display:grid}dt{color:var(--gr-color-text-muted)}.tags,.capabilities,.case-list{margin:0;padding:0;list-style:none}.text-link{margin-top:var(--gr-space-2)}p.text-link{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.case-hero{padding-block:var(--gr-space-16) var(--gr-space-24)}.case-hero h1{max-width:14ch}.case-hero-basic{grid-template-columns:minmax(0,1fr)}.case-hero-basic .case-thumbnail{margin-top:0}.case-hero-basic__intro{align-content:start;gap:var(--gr-space-6);max-width:48rem;display:grid}.case-hero-basic__intro h1{font-size:var(--gr-text-2xl)}.back-link{margin-bottom:var(--gr-space-8);justify-self:start}.case-cover,.case-figure{border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface-muted)}.case-cover{width:100%;height:auto;margin-top:var(--gr-space-8);display:block}.case-thumbnail{width:100%;margin-top:var(--gr-space-8);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface-muted);margin-inline:0;overflow:hidden}.case-thumbnail img{width:100%;height:auto;display:block}.case-live-actions{margin-block:var(--gr-space-2)}.case-facts{border-top:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:.8fr .5fr 1.7fr;display:grid}.case-facts div{padding:var(--gr-space-4) var(--gr-space-4) 0 0}.case-facts dt{margin-bottom:var(--gr-space-1);font-size:var(--gr-text-sm)}.case-section{gap:var(--gr-space-8);padding-block:var(--gr-space-24);border-top:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:8rem minmax(0,1fr);display:grid}.case-label{top:calc(var(--gr-space-16) + var(--gr-space-6));padding-top:var(--gr-space-2);border-top:var(--gr-border-width) solid var(--gr-color-border-strong);color:var(--gr-color-text);align-self:start;position:sticky}.case-copy{max-width:46rem}.case-copy-followup{margin-top:var(--gr-space-8);grid-column:2}.case-statement{max-width:22ch;margin:var(--gr-space-12) 0 0;font-size:clamp(var(--gr-text-2xl), 4vw, var(--gr-space-16));font-weight:var(--gr-weight-medium);line-height:var(--gr-leading-tight);grid-column:1/-1}.case-list{border-top:var(--gr-border-width) solid var(--gr-color-border);display:grid}.case-list li{padding-block:var(--gr-space-3)}.case-figure{margin:0;overflow:hidden}.case-figure img{width:100%;display:block}.case-figure figcaption{gap:var(--gr-space-1);padding:var(--gr-space-3) var(--gr-space-4);border-top:var(--gr-border-width) solid var(--gr-color-border);color:var(--gr-color-text);font-size:var(--gr-text-sm);display:grid}.case-figure figcaption span{color:var(--gr-color-text-muted)}.case-figure-wide,.case-media-grid,.case-media-stack,.reference-links,.update-list,.grid22-audience-map,.grid22-scale-test,.gallery-wireframe,.delivery-grid,.grid22-agent-flow,.accessibility-checks,.release-timeline,.whale-problem-flow,.intelligence-grid,.case-table,.case-snippet,.verification-console,.outcome-stats,.repo-map{margin-top:var(--gr-space-8);grid-column:1/-1}.case-figure-narrow{width:min(100%,32rem);margin-top:var(--gr-space-8);grid-column:2}.case-media-grid{gap:var(--gr-space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-media-stack{gap:var(--gr-space-8);display:grid}.reference-links{margin-top:var(--gr-space-8);border-top:var(--gr-border-width) solid var(--gr-color-border);display:grid}.reference-link{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-6);padding-block:var(--gr-space-6);border-bottom:var(--gr-border-width) solid var(--gr-color-border);color:var(--gr-color-text);grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.reference-link>span:first-child{gap:var(--gr-space-1);display:grid}.reference-link small{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.reference-hero{padding-block:var(--gr-space-16) var(--gr-space-24)}.reference-hero__intro{max-width:56rem}.reference-hero h1{max-width:15ch}.reference-project{align-items:start;gap:var(--gr-space-16);grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);display:grid}.reference-project__intro{align-content:start;gap:var(--gr-space-3);max-width:32rem;display:grid}.reference-project__intro h2{font-size:var(--gr-text-2xl)}.reference-project__intro p{color:var(--gr-color-text-muted)}.reference-project__intro h2+p{color:var(--gr-color-text);font-size:var(--gr-text-lg)}.reference-project__meta{margin-top:var(--gr-space-4);border-top:var(--gr-border-width) solid var(--gr-color-border);font-size:var(--gr-text-sm);display:grid}.reference-project__meta div{gap:var(--gr-space-4);padding-block:var(--gr-space-3);border-bottom:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:5rem minmax(0,1fr);display:grid}.reference-project>.reference-links{grid-column:auto;align-self:start;margin-top:0}.reference-return{justify-content:flex-start;display:flex}@media (hover:hover){.reference-link:hover strong{text-underline-offset:.2em;text-decoration:underline}}.grid22-audience-map,.delivery-grid,.intelligence-grid,.outcome-stats,.update-list{border-top:var(--gr-border-width) solid var(--gr-color-border);border-left:var(--gr-border-width) solid var(--gr-color-border);display:grid}.grid22-audience-map>article,.delivery-grid>article,.intelligence-grid>article,.outcome-stats>article,.update-list>article{align-content:start;gap:var(--gr-space-2);padding:var(--gr-space-6);border-right:var(--gr-border-width) solid var(--gr-color-border);border-bottom:var(--gr-border-width) solid var(--gr-color-border);display:grid}.grid22-audience-map,.delivery-grid,.update-list{grid-template-columns:repeat(3,minmax(0,1fr))}.intelligence-grid,.outcome-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.outcome-stats strong{font-size:clamp(2.5rem,6vw,5rem);font-weight:var(--gr-weight-semibold);letter-spacing:-.05em;line-height:1}.grid22-scale-test{border:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid22-scale-test article{justify-content:center;align-items:center;gap:var(--gr-space-4);border-right:var(--gr-border-width) solid var(--gr-color-border);flex-direction:column;min-height:10rem;display:flex}.grid22-scale-test article:last-child{border-right:0}.grid22-scale-test span{color:var(--gr-color-text-muted);font-family:var(--gr-font-mono);font-size:var(--gr-text-sm)}.gallery-wireframe{padding:var(--gr-space-6);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);background:var(--gr-color-surface-muted);color:var(--gr-color-text)}.gallery-search{min-height:var(--gr-control-touch);align-items:center;gap:var(--gr-space-2);padding-inline:var(--gr-space-3);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-control);background:var(--gr-color-surface);font-size:var(--gr-text-sm);display:flex}.gallery-search span{opacity:.64;flex:1}.gallery-search kbd{padding-inline:var(--gr-space-2);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-control);font-family:var(--gr-font-mono);font-size:var(--gr-text-xs)}.gallery-filters{margin-block:var(--gr-space-4)}.gallery-preview{border-top:var(--gr-border-width) solid var(--gr-color-border);border-left:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));margin:0;padding:0;list-style:none;display:grid}.gallery-tile{aspect-ratio:1.1;justify-content:center;align-items:center;gap:var(--gr-space-3);border:0;border-right:var(--gr-border-width) solid var(--gr-color-border);border-bottom:var(--gr-border-width) solid var(--gr-color-border);background:var(--gr-color-surface);width:100%;color:inherit;font:inherit;cursor:pointer;transition:background var(--gr-duration-fast) var(--gr-ease-in-out);flex-direction:column;padding:0;display:flex}.gallery-tile:focus-visible{outline-offset:var(--gr-focus-offset-tight)}.gallery-tile img{width:var(--gr-space-8);height:var(--gr-space-8)}.gallery-tile span{font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);opacity:.64}@media (hover:hover){.gallery-tile:hover{background:var(--gr-color-surface-muted)}}.gallery-preview .gr-popover:popover-open{gap:var(--gr-space-1);display:grid}.grid22-agent-flow{gap:var(--gr-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid22-agent-flow article{align-content:start;gap:var(--gr-space-2);padding:var(--gr-space-6);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);display:grid}.grid22-agent-flow span{width:var(--gr-space-8);height:var(--gr-space-8);margin-bottom:var(--gr-space-6);border:var(--gr-border-width) solid var(--gr-color-border-strong);font-family:var(--gr-font-mono);font-size:var(--gr-text-sm);border-radius:50%;place-items:center;display:grid}.release-timeline{border-top:var(--gr-border-width) solid var(--gr-color-border)}.release-timeline article{gap:var(--gr-space-6);padding-block:var(--gr-space-4);border-bottom:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:8rem 10rem minmax(0,1fr);display:grid}.release-timeline article>div{flex-direction:column;display:flex}.release-timeline strong{font-family:var(--gr-font-mono)}.release-timeline span{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm)}.whale-problem-flow{align-items:stretch;gap:var(--gr-space-4);grid-template-columns:1fr auto 1fr auto 1fr;display:grid}.whale-problem-flow article{align-content:start;gap:var(--gr-space-2);padding:var(--gr-space-6);border:var(--gr-border-width) solid var(--gr-color-border);border-radius:var(--gr-radius-surface);display:grid}.whale-problem-flow>span{color:var(--gr-color-text-muted);font-size:var(--gr-text-xl);align-self:center}.case-table td:first-child{white-space:nowrap;width:1%}.case-table strong{font-weight:var(--gr-weight-semibold)}.case-table td p{margin-top:var(--gr-space-1);color:var(--gr-color-text-muted)}.case-next{padding-block:var(--gr-space-24);border-top:var(--gr-border-width) solid var(--gr-color-border)}.case-next h2{max-width:16ch}.experience-list{border-top:var(--gr-border-width) solid var(--gr-color-border)}.experience-list article{gap:var(--gr-space-6);padding-block:var(--gr-space-6);grid-template-columns:minmax(8rem,.5fr) minmax(16rem,1fr) minmax(12rem,1fr);display:grid}.certification-list{border-top:var(--gr-border-width) solid var(--gr-color-border);margin:0;padding:0;list-style:none}.certification-list>li{gap:var(--gr-space-8);padding-block:var(--gr-space-8);border-bottom:var(--gr-border-width) solid var(--gr-color-border);grid-template-columns:minmax(8rem,.42fr) minmax(16rem,1fr) minmax(16rem,.85fr);display:grid}.certification-date,.certification-title,.certification-meta{align-content:start;gap:var(--gr-space-2);display:grid}.certification-date,.certification-title p,.certification-meta{color:var(--gr-color-text-muted);font-size:var(--gr-text-sm);line-height:var(--gr-leading-body)}.certification-date small{color:var(--gr-color-danger)}.certification-title h3{font-size:var(--gr-text-md);line-height:var(--gr-leading-heading)}.certification-meta{gap:var(--gr-space-4)}.certification-meta p{gap:var(--gr-space-2);display:grid}.certification-meta span{font-family:var(--gr-font-mono);font-size:var(--gr-text-xs);letter-spacing:var(--gr-tracking-wide);text-transform:uppercase}.certification-meta code{overflow-wrap:anywhere;color:var(--gr-color-text);font-family:var(--gr-font-mono);font-size:var(--gr-text-xs)}.certifications-archive{margin-top:var(--gr-space-8);border-top:var(--gr-border-width) solid var(--gr-color-border)}.certifications-archive .gr-disclosure__summary{min-height:var(--gr-control-touch);padding-block:var(--gr-space-4)}.certifications-archive .gr-disclosure__panel{color:var(--gr-color-text);padding-block-end:0}.certifications-archive .certification-list{border-top:0}.about-grid{gap:var(--gr-space-16);grid-template-columns:1.5fr .5fr;display:grid}.capabilities li{padding-block:var(--gr-space-2);font-size:var(--gr-text-sm)}.contact{align-content:center;min-height:70vh}.contact h2{max-width:18ch}.not-found{min-height:calc(100vh - 12rem);padding-block:var(--gr-space-16);align-content:center}.not-found h1{max-width:12ch}@media (max-width:44.999rem){.section-heading,.project,.about-grid,.case-section,.case-facts,.case-media-grid,.case-media-stack,.reference-links,.update-list,.intelligence-grid,.outcome-stats,.grid22-audience-map,.delivery-grid,.grid22-agent-flow,.whale-problem-flow,.release-timeline article,.experience-list article,.certification-list>li{grid-template-columns:minmax(0,1fr)}.section-heading{gap:var(--gr-space-2);margin-bottom:var(--gr-space-12)}.project-media{min-height:18rem}.project-media-image{min-height:0}.project-media-reference{min-height:0;padding:var(--gr-space-6)}.grid22-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid22-scale-test,.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.release-timeline article,.experience-list article,.certification-list>li{gap:var(--gr-space-3)}.certification-list>li{padding-block:var(--gr-space-6)}.certification-meta{margin-top:var(--gr-space-3)}.case-label{position:static}.whale-problem-flow>span{display:none}.case-copy-followup,.case-figure-narrow,.case-figure-wide,.case-media-grid,.case-media-stack,.reference-links,.update-list{grid-column:1}.reference-project{gap:var(--gr-space-8);grid-template-columns:minmax(0,1fr)}main>section:not(.hero){padding-block:var(--gr-space-16)}}}
