.site-footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--page-gutter) var(--space-6);border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh)}.site-footer__note,.site-footer__connect{margin:0}.site-footer__connect-link{color:var(--color-accent-imagine);text-decoration:underline;text-underline-offset:.15em;transition:color var(--motion-fast) var(--ease-out)}.site-footer__connect-link:hover{color:var(--color-accent-imagine-soft)}.site-header{position:sticky;top:0;z-index:10;flex-shrink:0;background:var(--color-surface-base)}.site-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:var(--space-3);padding-block:var(--space-3);padding-inline-start:max(var(--space-3),env(safe-area-inset-left,0px));padding-inline-end:max(var(--space-3),env(safe-area-inset-right,0px))}.site-nav__group{display:flex;align-items:center;gap:var(--space-1);min-width:0}.site-nav__group--start{justify-self:start}.site-nav__group--end{justify-self:end}.site-mark{justify-self:center;display:flex;flex-shrink:0;text-decoration:none;color:var(--color-text-secondary);line-height:0}.site-mark__logo{display:block;height:clamp(2.5rem,7vw,4.25rem);width:auto;max-width:none;object-fit:contain;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--color-surface-deep) 16%,transparent));transition:transform var(--motion-fast) var(--ease-out)}.site-mark:hover .site-mark__logo{transform:translateY(-1px)}.site-nav__group a{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;color:var(--color-text-muted);font-size:clamp(.75rem,2.5vw,var(--type-nav-size));font-weight:500;letter-spacing:var(--type-nav-ls);line-height:var(--type-nav-lh);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);min-height:2.5rem;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.site-nav__group a:hover{color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-surface-raised) 35%,transparent)}.site-nav__group a.active{color:var(--color-text-secondary);font-weight:600;background:color-mix(in srgb,var(--color-surface-raised) 45%,transparent)}@media (min-width: 768px){.site-nav{column-gap:var(--space-5);padding-block:var(--space-4);padding-inline-start:max(var(--space-6),env(safe-area-inset-left,0px));padding-inline-end:max(var(--space-6),env(safe-area-inset-right,0px))}.site-nav__group{gap:var(--space-2)}.site-nav__group a{padding:var(--space-2) var(--space-3)}}.about-puzzle{--tray-h: 4.7rem;--tray-gap: .7rem;position:relative;isolation:isolate;container-type:inline-size;display:grid;grid-template-columns:minmax(0,34rem) auto;grid-template-areas:"board tray" "copy copy";align-items:center;justify-content:center;justify-items:center;column-gap:clamp(.85rem,2vw,1.6rem);row-gap:1.35rem;width:100%;padding:.85rem .35rem 0}.about-puzzle__tray{display:grid;grid-template-columns:repeat(2,max-content);grid-auto-rows:var(--tray-h);gap:var(--tray-gap);margin:0;padding:0;list-style:none}.about-puzzle__tray--right{grid-area:tray;align-content:center}.about-puzzle__dock{width:calc(var(--tray-h) * var(--dock-ratio, .78));height:var(--tray-h);border-radius:0;background:transparent;pointer-events:none}.about-puzzle__dock.is-gone{background:transparent}.about-puzzle__board{grid-area:board;position:relative;z-index:1;width:min(100%,34rem)}.about-puzzle__collage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.about-puzzle__cuts{position:relative;display:block;width:100%;height:auto;pointer-events:none}.about-puzzle--solved .about-puzzle__tray{display:none}.about-puzzle--solved{grid-template-columns:minmax(0,34rem);grid-template-areas:"board" "copy"}.about-puzzle__cuts path{fill:none;stroke:#c4bdbf;stroke-width:1.25;vector-effect:non-scaling-stroke}.about-puzzle--solved .about-puzzle__cuts{opacity:0}.about-puzzle--solved .about-puzzle__board{animation:about-board-glow .9s var(--ease-out)}.about-puzzle__slot{position:absolute}.about-puzzle__svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-width:none;overflow:visible;pointer-events:none}.about-puzzle__slot--home{background:color-mix(in srgb,var(--color-accent-imagine) 18%,transparent)}.about-puzzle__slot--aim{background:color-mix(in srgb,var(--color-text-secondary) 10%,transparent)}.about-puzzle__slot--flash{background:color-mix(in srgb,var(--color-accent-ember) 22%,transparent)}.about-puzzle__done{grid-column:1 / -1;margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.about-puzzle__chip{position:absolute;z-index:2;left:50%;top:50%;translate:-50% -50%;padding:.22rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--color-surface-base) 90%,#fff);color:var(--color-text-secondary);font-family:var(--font-display);font-size:.95rem;line-height:1.1;white-space:nowrap;box-shadow:0 6px 16px color-mix(in srgb,var(--color-text-secondary) 18%,transparent);pointer-events:none;animation:about-chip-out 1.4s var(--ease-out) forwards}.about-puzzle__layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;margin:0;padding:0;list-style:none;pointer-events:none}.about-puzzle__piece{position:absolute;margin:0;padding:0;pointer-events:none;transform:rotate(var(--about-piece-rot, 0deg));transform-origin:center;transition:left .48s var(--ease-out),top .48s var(--ease-out),width .48s var(--ease-out),height .48s var(--ease-out),transform .48s var(--ease-out)}.about-puzzle__piece--drag{z-index:6;transition:none;transform:rotate(var(--about-piece-rot, 0deg)) scale(1.05)}.about-puzzle__hit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0;border:none;background:transparent;color:var(--about-piece-ink, var(--color-text-secondary));cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 12px color-mix(in srgb,var(--color-text-secondary) 16%,transparent))}.about-puzzle__piece--set .about-puzzle__hit{cursor:pointer;filter:none}.about-puzzle__piece--drag .about-puzzle__hit{cursor:grabbing;filter:drop-shadow(0 16px 18px color-mix(in srgb,var(--color-text-secondary) 22%,transparent))}.about-puzzle__hit:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:.6rem}.about-puzzle__hit--nope{animation:about-piece-nope .42s var(--ease-out)}.about-puzzle__label{position:relative;z-index:1;font-family:var(--font-display);font-size:calc(var(--tray-h) * .22 * var(--label-scale, 1));line-height:1;letter-spacing:.01em;text-align:center;color:var(--about-piece-ink, var(--color-text-secondary));pointer-events:none}.about-puzzle__copy{grid-area:copy;display:flex;flex-direction:column;align-items:center;gap:.4rem;max-width:36rem;text-align:center}.about-puzzle__lead,.about-puzzle__status{margin:0}.about-puzzle__lead{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-secondary)}.about-puzzle__status{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.about-puzzle__pips{display:flex;gap:.35rem}.about-puzzle__pip{width:.45rem;height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 28%,transparent)}.about-puzzle__pip.is-on{background:var(--color-accent-imagine)}.about-puzzle__scatter{margin-top:.15rem;padding:0;border:none;background:none;color:var(--color-text-muted);font:inherit;font-size:var(--type-body-sm-size);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.about-puzzle__scatter:hover{color:var(--color-accent-imagine)}.about-puzzle__scatter:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}.about-cat-dialog{width:min(64rem,calc(100vw - 2rem));max-height:min(88vh,56rem);margin:auto;padding:0;border:1px solid color-mix(in srgb,var(--color-border-subtle) 80%,transparent);border-radius:var(--radius-lg);background:var(--color-surface-base);color:var(--color-text-primary);box-shadow:0 24px 64px color-mix(in srgb,var(--color-text-secondary) 28%,transparent)}.about-cat-dialog::backdrop{background:color-mix(in srgb,var(--color-text-secondary) 45%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.about-cat-dialog__panel{display:flex;flex-direction:column;gap:var(--space-4);max-height:min(90vh,56rem);padding:var(--space-5);overflow-x:hidden;overflow-y:auto}.about-cat-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.about-cat-dialog__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);color:var(--color-text-secondary)}.about-cat-dialog__blurb{margin:0;max-width:36rem;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.about-cat-dialog__close{flex-shrink:0;padding:.45rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 70%,transparent);color:var(--color-text-secondary);font:inherit;font-size:var(--type-body-sm-size);cursor:pointer}.about-cat-dialog__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.about-cat-dialog__masonry{margin:0;padding:0;list-style:none;column-count:2;column-gap:var(--space-3)}@media (min-width: 720px){.about-cat-dialog__masonry{column-count:3}}@media (min-width: 980px){.about-cat-dialog__masonry{column-count:4}}.about-cat-dialog__item{display:block;width:100%;margin:0 0 var(--space-3);break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;border-radius:var(--radius-md);overflow:hidden;background:color-mix(in srgb,var(--color-surface-raised) 40%,transparent)}.about-cat-dialog__item:last-child{margin-bottom:0}.about-cat-dialog__media{display:block;width:100%;height:auto;vertical-align:middle;background:color-mix(in srgb,var(--color-surface-raised) 35%,transparent)}.about-cat-dialog__media--video{background:var(--color-text-primary)}.about-cat-dialog__caption{margin:0;padding:var(--space-2) var(--space-2) var(--space-3);font-size:var(--type-label-size);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}@keyframes about-chip-out{0%,55%{opacity:1}to{opacity:0}}@keyframes about-piece-nope{0%,to{transform:translate(0)}30%{transform:translate(-7px)}70%{transform:translate(7px)}}@keyframes about-board-glow{0%{filter:drop-shadow(0 0 0 transparent)}45%{filter:drop-shadow(0 0 16px color-mix(in srgb,var(--color-accent-gold) 70%,transparent))}to{filter:drop-shadow(0 0 0 transparent)}}@media (max-width: 860px){.about-puzzle{grid-template-columns:1fr;grid-template-areas:"board" "tray" "copy";--tray-h: 4.35rem}.about-puzzle__tray--right{justify-content:center}.about-puzzle__tray{gap:1.05rem .9rem}.about-cat-dialog__panel{padding:var(--space-4)}}@media (prefers-reduced-motion: reduce){.about-puzzle__piece,.about-puzzle__piece--drag,.about-puzzle__chip,.about-puzzle--solved .about-puzzle__board{transition:none;animation:none}.about-puzzle__piece--drag{transform:rotate(var(--about-piece-rot, 0deg))}.about-puzzle__hit--nope{animation:none}}.ui-text-link{display:inline;margin:0;padding:0;border:none;background:none;font-family:var(--font-body);font-size:inherit;font-weight:600;line-height:inherit;text-align:inherit;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;cursor:pointer;transition:color var(--motion-fast) var(--ease-out)}.ui-text-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}.ui-text-link--imagine{color:var(--color-accent-imagine)}.ui-text-link--imagine:hover{color:var(--color-accent-imagine-soft)}.ui-text-link--ember{color:var(--color-accent-ember)}.ui-text-link--ember:hover{color:color-mix(in srgb,var(--color-accent-ember) 80%,var(--color-text-primary))}.page{display:flex;flex-direction:column;gap:var(--space-6)}.page--narrow{max-width:42rem}.page--narrow>.page__eyebrow+.page__title{margin-top:var(--space-3)}.page--narrow>.page__title+.page__lead,.page--narrow>.page__eyebrow+.page__title+.page__lead{margin-top:var(--space-4)}header.page--narrow{display:flex;flex-direction:column;gap:var(--space-4)}.page__eyebrow{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);line-height:var(--type-label-lh);text-transform:uppercase;color:var(--color-accent-imagine)}.page__title{margin:0;font-family:var(--font-display);font-size:var(--type-display-section-size);line-height:var(--type-display-section-lh);letter-spacing:var(--type-display-section-ls);color:var(--color-text-secondary)}.page__lead{margin:0;max-width:40rem;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh);color:var(--color-text-muted)}.page__section{display:flex;flex-direction:column;gap:var(--space-4)}.page__section-title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.page__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary)}.page__body+.page__body{margin-top:var(--space-3)}.page__note{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.page__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.tag-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-surface-raised) 80%,transparent);border:1px solid var(--color-border-subtle);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-text-secondary)}.card-list{display:grid;gap:var(--space-4);margin:0;padding:0;list-style:none}@media (min-width: 720px){.card-list--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.stub-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 55%,var(--color-surface-base));text-decoration:none;color:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}a.stub-card:hover{border-color:color-mix(in srgb,var(--color-accent-imagine) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-surface-raised) 75%,var(--color-surface-base))}.stub-card__meta{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.stub-card__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.stub-card__text{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.module-stack{display:flex;flex-direction:column;gap:var(--space-5)}.module{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base)}.module--imagine{border-color:color-mix(in srgb,var(--color-accent-imagine) 28%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 5%,var(--color-surface-base))}.module__label{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-imagine)}.module__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.module__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary)}.ingredient-list{margin:0;padding-left:1.1rem;color:var(--color-text-primary);font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh)}.ingredient-list li+li{margin-top:var(--space-2)}.form-stub{display:flex;flex-direction:column;gap:var(--space-4);max-width:28rem}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-text-secondary)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base);color:var(--color-text-primary);font:inherit}.form-field textarea{min-height:7rem;resize:vertical}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.choice-grid{display:grid;gap:var(--space-4)}@media (min-width: 720px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 50%,var(--color-surface-base));text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.choice-card:hover{border-color:color-mix(in srgb,var(--color-accent-ember) 40%,var(--color-border-subtle))}.choice-card--active{border-color:var(--color-accent-ember);background:color-mix(in srgb,var(--color-accent-ember-soft) 35%,var(--color-surface-base))}.choice-card__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);color:var(--color-text-primary)}.choice-card__text{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.about-page{gap:var(--space-7)}.about-page__intro-header{display:flex;flex-direction:column;gap:var(--space-3);max-width:36rem}.about-page__brand{color:var(--color-text-secondary)}.about-page__tagline{margin:0;font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);letter-spacing:var(--type-display-title-ls);color:var(--color-accent-imagine)}.about-scrapbook{display:flex;flex-direction:column;gap:var(--space-4)}.about-stack-reveal{animation:about-scrapbook-in .7s var(--ease-out) both}.about-stack-reveal .about-stack{margin-top:.75rem;margin-bottom:.25rem}@keyframes about-scrapbook-in{0%{opacity:0;transform:translateY(1rem) scale(.98)}to{opacity:1;transform:none}}.about-scrapbook__orbit{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;list-style:none;pointer-events:none}.about-scrapbook__orbit>li{pointer-events:auto}.about-scrapbook__note,.about-scrapbook__hint{margin:0;max-width:40rem;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.about-scrapbook__hint{text-align:center;max-width:none}.about-scrapbook__note code{font-size:.85em;padding:.05em .35em;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-surface-raised) 70%,transparent);color:var(--color-text-secondary)}.about-stack{position:relative;z-index:2;width:min(11rem,36vw);height:min(14rem,48vw);margin:3rem auto 1.5rem;cursor:pointer;outline:none}.about-stack:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px;border-radius:var(--radius-md)}.about-stack__sr-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.about-stack__frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--about-stack-z, 1);display:block;width:100%;height:100%;margin:0;padding:0;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-border-subtle) 80%,#fff);background:var(--color-surface-base);box-shadow:0 1px color-mix(in srgb,#fff 55%,transparent),0 10px 28px color-mix(in srgb,var(--color-text-secondary) 12%,transparent);transform:translate(var(--about-stack-x, 0),var(--about-stack-y, 0)) rotate(var(--about-stack-rotate, 0deg)) scale(var(--about-stack-scale, 1));transform-origin:50% 70%;overflow:hidden;transition:transform .42s var(--ease-out),box-shadow .42s var(--ease-out);will-change:transform}.about-stack__frame--front{box-shadow:0 1px color-mix(in srgb,#fff 60%,transparent),0 16px 36px color-mix(in srgb,var(--color-text-secondary) 18%,transparent)}.about-stack__hit{display:block;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer;border-radius:inherit}.about-stack__hit:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.about-stack__frame--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center;background:color-mix(in srgb,var(--color-surface-raised) 40%,var(--color-surface-base));border-style:dashed;border-color:color-mix(in srgb,var(--color-accent-imagine) 28%,var(--color-border-subtle));transform:translate(var(--about-stack-x, 0),var(--about-stack-y, 0)) rotate(var(--about-stack-rotate, 0deg))}.about-stack__placeholder-label{font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);color:var(--color-text-secondary)}.about-stack__placeholder-hint{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.about-stack__img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.about-sticker{position:absolute;left:var(--about-x);top:var(--about-y);z-index:3;width:var(--about-sticker-size);transform:rotate(var(--about-rotate, 0deg));animation:about-sticker-float 7.5s var(--ease-out) var(--about-delay, 0s) infinite alternate}.about-sticker--sm{--about-sticker-size: clamp(3.25rem, 12vw, 4.25rem)}.about-sticker--md{--about-sticker-size: clamp(4rem, 14vw, 5.25rem)}.about-sticker--lg{--about-sticker-size: clamp(4.75rem, 16vw, 6rem)}.about-sticker__hit{display:block;width:100%;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--color-text-secondary) 16%,transparent));transition:transform var(--motion-base) var(--ease-out)}.about-sticker__hit:hover,.about-sticker__hit:focus-visible{transform:scale(1.05) rotate(-2deg)}.about-sticker__hit:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.about-sticker__img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:42% 58% 48% 52%/52% 42% 58% 48%;border:3px solid color-mix(in srgb,#fff 92%,var(--color-surface-base));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-border-subtle) 55%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 40%,transparent);background:var(--color-surface-raised)}.about-sticker__hit--awaiting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;aspect-ratio:1;padding:var(--space-2);border-radius:42% 58% 48% 52%/52% 42% 58% 48%;border:1px dashed color-mix(in srgb,var(--color-accent-imagine) 35%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-surface-raised) 65%,var(--color-surface-base));filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--color-text-secondary) 10%,transparent))}.about-sticker__awaiting-label{font-family:var(--font-display);font-size:clamp(.85rem,2.5vw,1.05rem);line-height:1.1;color:var(--color-text-secondary);text-align:center}.about-sticker__awaiting-hint{font-size:.65rem;font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted);text-align:center}.about-reveal{min-height:3.5rem;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 35%,var(--color-surface-base));transition:border-color var(--motion-base) var(--ease-out),background-color var(--motion-base) var(--ease-out)}.about-reveal.is-visible{border-color:color-mix(in srgb,var(--color-accent-imagine) 32%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 12%,var(--color-surface-base))}.about-reveal__title{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.about-reveal__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary)}.about-reveal__body--idle{color:var(--color-text-muted);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh)}.about-narrative{display:flex;flex-direction:column;gap:var(--space-4)}.about-narrative__greeting{margin:0;font-family:var(--font-display);font-size:var(--type-display-section-size);line-height:var(--type-display-section-lh);letter-spacing:var(--type-display-section-ls);color:var(--color-text-secondary)}.about-narrative__honesty{margin-top:var(--space-1)}.about-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--space-4) 0 0;padding:0;list-style:none}.about-legend li{padding:.28rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--color-surface-raised) 75%,#fff);color:var(--color-text-secondary);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.04em}@keyframes about-sticker-float{0%{translate:0 0}to{translate:0 -.55rem}}@media (max-width: 719px){.about-stack{margin:3.75rem auto 2.25rem;width:min(6.5rem,28vw);height:min(8.35rem,38vw)}.about-sticker{animation-duration:9s}.about-sticker--lg{--about-sticker-size: clamp(3.75rem, 18vw, 4.75rem)}.about-sticker:nth-child(5){display:none}}@media (prefers-reduced-motion: reduce){.about-stack-reveal,.about-sticker{animation:none}.about-sticker__hit:hover,.about-sticker__hit:focus-visible{transform:none}.about-stack__frame,.about-reveal{transition:none}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-body);font-size:var(--type-button-size);font-weight:var(--type-button-weight);letter-spacing:var(--type-button-ls);line-height:var(--type-button-lh);text-decoration:none;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.ui-button--primary{background:var(--color-accent-ember);color:var(--color-text-on-ember);border-color:var(--color-accent-ember)}.ui-button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-ember) 88%,var(--color-text-primary));border-color:color-mix(in srgb,var(--color-accent-ember) 88%,var(--color-text-primary))}.ui-button--primary:active:not(:disabled){background:color-mix(in srgb,var(--color-accent-ember) 78%,var(--color-text-primary))}.ui-button--secondary{background:transparent;color:var(--color-accent-imagine);border-color:var(--color-accent-imagine)}.ui-button--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-imagine) 12%,transparent)}.ui-button--secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-accent-imagine) 18%,transparent)}.ui-button--ghost{background:transparent;color:var(--color-accent-imagine);border-color:transparent;min-height:2.5rem;padding-inline:.65rem}.ui-button--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-imagine) 12%,transparent)}.ui-button--ghost:active:not(:disabled){background:color-mix(in srgb,var(--color-accent-imagine) 18%,transparent)}.ui-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ui-form{display:flex;flex-direction:column;gap:var(--space-5)}.ui-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding-top:var(--space-2)}.ui-form__actions--cluster{gap:var(--space-3) var(--space-5)}.ui-field{display:flex;flex-direction:column;gap:var(--space-2)}.ui-field__label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-text-secondary)}.ui-field__required{color:var(--color-accent-ember)}.ui-field__optional{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--color-text-muted)}.ui-field__hint{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.ui-field__error{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-feedback-error-text)}.ui-field__control,.ui-field input:not([type=checkbox]):not([type=radio]),.ui-field textarea,.ui-field select{width:100%;padding:.7rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-surface-base);color:var(--color-text-primary);font:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.ui-field textarea{min-height:7rem;resize:vertical}.ui-field input:not([type=checkbox]):not([type=radio]):focus-visible,.ui-field textarea:focus-visible,.ui-field select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-field--invalid input:not([type=checkbox]):not([type=radio]),.ui-field--invalid textarea,.ui-field--invalid select{border-color:var(--color-feedback-error-border);background:var(--color-feedback-error-surface)}.ui-field--check{gap:var(--space-2)}.ui-check{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary);cursor:pointer}.ui-check input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex-shrink:0;accent-color:var(--color-accent-imagine)}.ui-field--options{border:none;margin:0;padding:0;min-width:0}.ui-field--options legend,.ui-field--options .ui-field__label{padding:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-text-secondary)}.ui-option-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.ui-option-grid{display:grid;gap:var(--space-2);margin-top:var(--space-2)}@media (min-width: 540px){.ui-option-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-option-tile{display:flex;align-items:flex-start;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.ui-option-tile:hover{border-color:color-mix(in srgb,var(--color-accent-ember) 35%,var(--color-border-subtle))}.ui-option-tile:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.ui-option-tile:has(input:checked){border-color:var(--color-accent-ember);background:color-mix(in srgb,var(--color-accent-ember-soft) 28%,var(--color-surface-base));box-shadow:inset 3px 0 0 var(--color-accent-ember);font-weight:600}.ui-option-tile input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.ui-option-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.ui-option-chip{display:inline-flex;align-items:center;margin:0;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-surface-base);font-size:var(--type-body-sm-size);line-height:1.3;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.ui-option-chip:hover{border-color:color-mix(in srgb,var(--color-accent-ember) 40%,var(--color-border-subtle))}.ui-option-chip:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.ui-option-chip:has(input:checked){border-color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-surface-raised) 70%,var(--color-surface-base));color:var(--color-text-secondary);font-weight:600}.ui-option-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.ui-alert{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.ui-alert--success{border-color:var(--color-feedback-success-border);background:var(--color-feedback-success-surface)}.ui-alert--error{border-color:var(--color-feedback-error-border);background:var(--color-feedback-error-surface);color:var(--color-feedback-error-text);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh)}.ui-alert__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.ui-alert__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.ui-alert__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding-top:var(--space-2)}.ui-expectation{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-secondary)}.ui-summary{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;border:none}.ui-summary__group{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;border:none;min-width:0}.ui-summary__heading{margin:0;padding:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.ui-summary__rows{margin:0;display:grid;gap:var(--space-3)}.ui-summary__row{display:grid;gap:var(--space-1)}.ui-summary__label{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.ui-summary__value{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-page{gap:var(--space-7)}.contact-intro{display:flex;flex-direction:column;gap:var(--space-4)}.intent-grid{display:grid;gap:var(--space-4)}@media (min-width: 720px){.intent-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.intent-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);width:100%;margin:0;padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 42%,var(--color-surface-base));text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.intent-card:hover{background:color-mix(in srgb,var(--color-surface-raised) 62%,var(--color-surface-base));border-color:color-mix(in srgb,var(--color-text-muted) 28%,var(--color-border-subtle))}.intent-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.intent-card--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text-secondary) 12%,transparent)}.intent-card--project.intent-card--active{border-color:color-mix(in srgb,var(--color-accent-ember) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-ember-soft) 28%,var(--color-surface-base))}.intent-card--hello.intent-card--active{border-color:color-mix(in srgb,var(--color-accent-imagine) 40%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 16%,var(--color-surface-base))}.intent-card__meta{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.intent-card--project .intent-card__meta{color:var(--color-accent-ember)}.intent-card--hello .intent-card__meta{color:var(--color-accent-imagine)}.intent-card__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.intent-card--hello .intent-card__title{font-family:var(--font-display);font-size:var(--type-display-title-size);font-weight:400;line-height:var(--type-display-title-lh);letter-spacing:var(--type-display-title-ls);color:var(--color-text-secondary)}.intent-card__text{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.intent-card__list{margin:var(--space-2) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1);width:100%;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-secondary)}.intent-card__list li{display:flex;align-items:center;gap:var(--space-2)}.intent-card__list li:before{content:"";width:.35rem;height:.35rem;border-radius:1px;background:var(--color-text-muted);flex-shrink:0}.intent-card__aside{margin:var(--space-2) 0 0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);font-style:italic;color:var(--color-text-muted)}.contact-flow{animation:contact-flow-in var(--motion-base) var(--ease-out)}@keyframes contact-flow-in{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.contact-flow{animation:none}}.contact-flow__banner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.contact-flow__banner-copy{display:flex;flex-direction:column;gap:var(--space-2);max-width:36rem}.contact-flow__mode{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-ember)}.contact-flow__mode--imagine{color:var(--color-accent-imagine)}.contact-flow__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.contact-flow__lead{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.contact-flow__switch{flex-shrink:0;font-size:var(--type-body-sm-size)}.contact-flow--project{display:flex;flex-direction:column;gap:var(--space-4)}.project-form{display:flex;flex-direction:column;gap:var(--space-5);max-width:40rem}.project-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-5)}.project-step{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base)}.project-step__head{display:flex;align-items:center;gap:var(--space-3)}.project-step__num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 55%,var(--color-surface-base));color:var(--color-text-secondary);font-size:var(--type-label-size);font-weight:700;letter-spacing:.02em}.project-step__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.project-step__body{display:flex;flex-direction:column;gap:var(--space-4)}.project-step__pair{display:grid;gap:var(--space-4)}@media (min-width: 560px){.project-step__pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-form__footer{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 40%,var(--color-surface-base))}.contact-flow--hello{display:flex;justify-content:flex-start}.hello-sheet{width:100%;max-width:32rem;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-mist) 22%,var(--color-surface-base))}.hello-sheet__header{display:flex;flex-direction:column;gap:var(--space-3)}.hello-sheet__title{margin:0;font-family:var(--font-display);font-size:var(--type-display-section-size);line-height:var(--type-display-section-lh);letter-spacing:var(--type-display-section-ls);color:var(--color-text-secondary)}.hello-sheet__lead{margin:0;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh);color:var(--color-text-muted)}.hello-form{display:flex;flex-direction:column;gap:var(--space-5)}.hello-form__message{min-height:9rem;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh)}.hello-form__identity{display:grid;gap:var(--space-4)}@media (min-width: 520px){.hello-form__identity{grid-template-columns:repeat(2,minmax(0,1fr))}}.coffee-invite{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;margin:0;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.coffee-invite:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent-imagine) 40%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 10%,var(--color-surface-base))}.coffee-invite:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.coffee-invite--on{border-color:color-mix(in srgb,var(--color-accent-imagine) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 18%,var(--color-surface-base))}.coffee-invite:disabled{opacity:.45;cursor:not-allowed}.coffee-invite__mark{color:var(--color-accent-imagine);font-size:1.1rem;line-height:1.4}.coffee-invite__copy{display:flex;flex-direction:column;gap:var(--space-1)}.coffee-invite__title{font-size:var(--type-body-md-size);font-weight:600;line-height:var(--type-body-md-lh);color:var(--color-text-primary)}.coffee-invite__hint{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.contact-expectation{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-secondary)}.contact-success:focus{outline:none}.contact-success:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.contact-success .ui-alert__actions{padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--color-support-leaf) 35%,var(--color-border-subtle))}.contact-success__delivery{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.contact-honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}.project-form__footer,.hello-form{position:relative}.contact-delivery{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0 0;border-top:1px solid var(--color-border-subtle)}.contact-delivery__title{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-text-muted)}.contact-delivery__code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}@media (max-width: 719px){.hello-sheet{padding:var(--space-5) var(--space-4)}.project-step{padding:var(--space-4)}}.spell-entry{gap:var(--space-7)}.spell-entry__header{display:flex;flex-direction:column;gap:var(--space-4);max-width:42rem}.spell-sections{display:flex;flex-direction:column;gap:var(--space-5);max-width:46rem}.spell-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-base)}.spell-section--lead{border-color:color-mix(in srgb,var(--color-accent-imagine) 28%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 5%,var(--color-surface-base))}.spell-section__label{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-imagine)}.spell-section__hint{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.spell-section__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary);max-width:40rem;white-space:pre-wrap}.spell-entry__footer{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle);max-width:42rem}.spell-page{gap:var(--space-7)}.spell-page__intro{display:flex;flex-direction:column;gap:var(--space-4);max-width:40rem}.spell-empty{display:flex;flex-direction:column;gap:var(--space-4);max-width:36rem;padding:var(--space-6);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 22%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 12%,var(--color-surface-base))}.spell-empty__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.spell-empty__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.spell-empty__structure{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.spell-empty__structure li{padding:.25rem .55rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 20%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-surface-raised) 40%,var(--color-surface-base));font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-accent-imagine)}.spell-card-grid{display:grid;gap:var(--space-4);margin:0;padding:0;list-style:none;grid-template-columns:1fr}@media (min-width: 720px){.spell-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.spell-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 18%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 10%,var(--color-surface-base));text-decoration:none;color:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.spell-card:hover{border-color:color-mix(in srgb,var(--color-accent-imagine) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine-soft) 22%,var(--color-surface-base))}.spell-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.spell-card:active{transform:translateY(1px)}.spell-card__meta{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-imagine)}.spell-card__title{margin:0;font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);letter-spacing:var(--type-display-title-ls);color:var(--color-text-secondary)}.spell-card__summary{margin:auto 0 0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.spell-page__footer-note{max-width:40rem}@media (prefers-reduced-motion: reduce){.spell-card:active{transform:none}}.creative-map{display:flex;flex-direction:column;gap:var(--space-5)}.creative-map__section-head{display:flex;flex-direction:column;gap:var(--space-2);max-width:none}.creative-map__stage{position:relative;isolation:isolate;min-height:28rem;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);overflow:hidden;background:color-mix(in srgb,var(--color-surface-raised) 42%,var(--color-surface-base))}@media (min-width: 900px){.creative-map__stage{min-height:34rem;padding:var(--space-6)}}.creative-map__atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.creative-map__mist{position:absolute;border-radius:50%;filter:blur(28px);opacity:.55}.creative-map__mist--a{width:42%;height:38%;top:-8%;left:-6%;background:color-mix(in srgb,var(--color-surface-mist) 70%,transparent);animation:map-drift-a 18s var(--ease-out) infinite alternate}.creative-map__mist--b{width:36%;height:32%;right:-4%;bottom:8%;background:color-mix(in srgb,var(--color-accent-ember-soft) 45%,transparent);animation:map-drift-b 22s var(--ease-out) infinite alternate}.creative-map__glow{position:absolute;width:28%;height:24%;left:38%;top:36%;border-radius:50%;background:color-mix(in srgb,var(--color-accent-imagine-soft) 14%,transparent);filter:blur(36px);animation:map-breathe 12s var(--ease-out) infinite alternate}.creative-map__path{position:absolute;top:4%;right:3%;bottom:4%;left:3%;width:94%;height:92%;z-index:1;pointer-events:none;opacity:.55}.creative-map__path-line{stroke:color-mix(in srgb,var(--color-border-subtle) 70%,var(--color-text-muted));stroke-width:1.25;stroke-dasharray:3 4;stroke-linecap:round}.creative-map__territories{position:relative;z-index:2;display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width: 720px){.creative-map__territories{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"nw ne" "center center" "sw se"}.creative-map__territory--nw{grid-area:nw}.creative-map__territory--ne{grid-area:ne}.creative-map__territory--center{grid-area:center;max-width:28rem;justify-self:center}.creative-map__territory--sw{grid-area:sw}.creative-map__territory--se{grid-area:se}}@media (min-width: 1100px){.creative-map__territories{min-height:28rem;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto auto auto;grid-template-areas:"nw nw ne ne ne ." ". center center center se se" "sw sw sw . se se";gap:var(--space-5)}.creative-map__territory--center{max-width:none;justify-self:stretch}}.creative-map__territory{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-border-subtle) 85%,var(--color-accent-ember-soft));background:color-mix(in srgb,var(--color-surface-base) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out)}.creative-map__territory:hover,.creative-map__territory.is-selected{border-color:color-mix(in srgb,var(--color-accent-ember) 55%,var(--color-border-subtle));box-shadow:0 8px 22px color-mix(in srgb,var(--color-accent-ember) 10%,transparent)}.creative-map__territory.is-selected{transform:translateY(-2px)}.creative-map__territory-hit{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin:0;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;color:inherit}.creative-map__territory-kicker{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-ember)}.creative-map__territory-title{margin:0;font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);letter-spacing:var(--type-display-title-ls);color:var(--color-text-secondary)}.creative-map__territory-blurb{margin:0;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.creative-map__territory-embeds{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin-top:auto}.creative-map__work-chip{display:flex;flex-direction:column;gap:2px;max-width:100%;padding:.45rem .7rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-accent-ember) 35%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-ember-soft) 28%,var(--color-surface-base));text-decoration:none;color:inherit;transition:border-color var(--motion-fast) var(--ease-out)}.creative-map__work-chip:hover{border-color:var(--color-accent-ember)}.creative-map__work-chip-label{font-size:.65rem;font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-ember)}.creative-map__work-chip-title{font-size:var(--type-body-sm-size);font-weight:600;color:var(--color-text-primary)}.creative-map__explore-chip{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 35%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 8%,var(--color-surface-base));color:var(--color-accent-imagine);font-size:var(--type-body-sm-size);font-weight:600;text-decoration:none}.creative-map__explore-chip:hover{border-color:var(--color-accent-imagine)}.creative-map__empty-slot{margin:0;max-width:18rem;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted-cool)}.creative-map__markers{display:none;margin:0;padding:0;list-style:none}.creative-map__marker-fallback{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}@media (min-width: 900px){.creative-map__markers{display:block;position:absolute;top:4%;right:3%;bottom:4%;left:3%;z-index:3;pointer-events:none}.creative-map__marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.creative-map__marker-fallback{display:none}}.creative-map__marker-hit{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .55rem .25rem .3rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 40%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-surface-base) 88%,var(--color-accent-imagine-soft));color:var(--color-text-secondary);cursor:pointer;box-shadow:0 4px 14px color-mix(in srgb,var(--color-accent-imagine) 12%,transparent);transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.creative-map__marker-hit:hover,.creative-map__marker.is-selected .creative-map__marker-hit{border-color:var(--color-accent-imagine);transform:translateY(-1px)}.creative-map__marker-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-accent-imagine);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-imagine-soft) 45%,transparent);animation:map-marker-pulse 2.8s var(--ease-out) infinite}.creative-map__marker-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-imagine)}.creative-map__fallback-item{display:grid;grid-template-columns:4.25rem 1fr;grid-template-areas:"label title" "label note";gap:.15rem var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-accent-imagine) 25%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 6%,var(--color-surface-base));text-align:left;cursor:pointer;color:inherit}.creative-map__fallback-item.is-selected{border-color:var(--color-accent-imagine)}.creative-map__fallback-label{grid-area:label;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-imagine)}.creative-map__fallback-title{grid-area:title;font-size:var(--type-body-md-size);font-weight:600;color:var(--color-text-primary)}.creative-map__fallback-note{grid-area:note;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-lh);color:var(--color-text-muted)}.creative-map__panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 40%,var(--color-surface-base))}.creative-map__panel--territory{border-color:color-mix(in srgb,var(--color-accent-ember) 35%,var(--color-border-subtle))}.creative-map__panel--marker{border-color:color-mix(in srgb,var(--color-accent-imagine) 35%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 6%,var(--color-surface-base))}.creative-map__panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.creative-map__panel-kicker{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--color-accent-ember)}.creative-map__panel-kicker--imagine{color:var(--color-accent-imagine)}.creative-map__panel-close{margin:0;padding:.25rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:transparent;color:var(--color-text-muted);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;cursor:pointer}.creative-map__panel-title{margin:0;font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);color:var(--color-text-secondary)}.creative-map__panel-body{margin:0;max-width:40rem;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.creative-map__panel-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}@keyframes map-drift-a{0%{transform:translate(0)}to{transform:translate(4%,6%)}}@keyframes map-drift-b{0%{transform:translate(0)}to{transform:translate(-5%,-4%)}}@keyframes map-breathe{0%{opacity:.45;transform:scale(1)}to{opacity:.75;transform:scale(1.08)}}@keyframes map-marker-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-imagine-soft) 35%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-accent-imagine-soft) 18%,transparent)}}@media (prefers-reduced-motion: reduce){.creative-map__mist--a,.creative-map__mist--b,.creative-map__glow,.creative-map__marker-dot{animation:none}.creative-map__territory.is-selected{transform:none}}.fun-fact{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%;max-width:none;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-lh);color:var(--color-text-primary)}.fun-fact__label{font-weight:600;color:var(--color-text-secondary)}.fun-fact>.fun-fact__label{margin:0}.fun-fact__slot{display:grid;width:100%}.fun-fact__line,.fun-fact__sizer{grid-area:1 / 1;width:100%;margin:0}.fun-fact__sizer{visibility:hidden}.fun-fact__caret{display:inline-block;width:.07em;height:.92em;margin-left:.08em;background:var(--color-accent-imagine);transform:translateY(.12em);vertical-align:baseline}.fun-fact__caret.is-idle{animation:fun-fact-caret 1.05s steps(2,jump-none) infinite}@keyframes fun-fact-caret{to{opacity:0}}.fun-fact__list{margin:0;padding-left:1.15rem}.fun-fact__list li+li{margin-top:var(--space-2)}.fun-fact__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.fun-fact__caret.is-idle{animation:none;opacity:1}}.home-map{gap:var(--space-8)}.home-map__intro{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.home-map__hello{max-width:none;line-height:1.12}.work-cat-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);background:color-mix(in srgb,currentColor 12%,var(--color-surface-base));border:1px solid color-mix(in srgb,currentColor 28%,var(--color-border-subtle))}.work-cat-icon--sm{width:1.75rem;height:1.75rem}.work-cat-icon--md{width:2.25rem;height:2.25rem}.work-cat-icon svg{width:60%;height:60%}.project-page{gap:var(--space-7);--project-measure: min(100%, 46rem)}.project-page__header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);width:100%;max-width:var(--project-measure)}.project-page__back{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 45%,var(--color-surface-base));color:var(--color-accent-imagine);text-decoration:none;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.project-page__back svg{width:1.25rem;height:1.25rem}.project-page__back:hover{border-color:color-mix(in srgb,var(--color-accent-imagine) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--color-accent-imagine) 10%,var(--color-surface-base))}.project-page__category{display:flex;align-items:center;gap:var(--space-3)}.project-modules{display:flex;flex-direction:column;gap:var(--space-7);width:100%}.project-module{display:flex;flex-direction:column;gap:var(--space-3)}.project-module__title{margin:0;max-width:var(--project-measure);font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.project-module--catalog .project-module__title{color:var(--color-support-olive);letter-spacing:.04em}.project-module__body{display:flex;flex-direction:column;gap:var(--space-5);margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary)}.project-module__text{margin:0;width:100%;max-width:var(--project-measure);white-space:pre-wrap}.project-module__text strong{font-weight:600;color:var(--color-text-primary)}.project-module__text--labeled{display:flex;flex-direction:column;gap:var(--space-4);white-space:normal}.project-module__line{margin:0}.project-module__line--labeled{display:flex;flex-direction:column;gap:.2rem;padding-left:var(--space-3);border-left:2px solid color-mix(in srgb,var(--color-support-olive) 65%,var(--color-border-subtle))}.project-module__kicker{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.07em;line-height:var(--type-label-lh);text-transform:uppercase;color:var(--color-support-olive)}.project-module__value{color:var(--color-text-primary)}.project-module__pair{container-type:inline-size;container-name:project-pair;width:100%}.project-module__pair-layout{display:grid;grid-template-columns:minmax(0,var(--project-measure)) clamp(11rem,16vw,15rem);gap:var(--space-4);align-items:start;justify-content:start}.project-module__pair-copy{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.project-module__pair-copy .project-module__text{max-width:none}.project-module__figure{--tilt: -1.1deg;display:flex;flex-direction:column;width:100%;margin:0;padding:.5rem .5rem .45rem;background:#fffdf8;border-radius:2px;box-shadow:0 1px 1px #402b470d,0 10px 22px #402b471f;transform:rotate(var(--tilt));transition:transform var(--motion-base) var(--ease-out)}.project-module__figure:nth-child(4n+2){--tilt: 1.05deg}.project-module__figure:nth-child(4n+3){--tilt: -.55deg}.project-module__figure:nth-child(4n){--tilt: 1.25deg}.project-module__figure:hover,.project-module__figure:focus-within{transform:rotate(0) translateY(-2px);z-index:1}.project-module__figure--video,.project-module__figure--video:hover,.project-module__figure--video:focus-within{--tilt: 0deg;width:min(100%,15rem);transform:none}.project-module__video{display:block;width:100%;height:auto;border-radius:1px;background:#1a1208}.project-module__figure--solo{width:min(100%,var(--project-measure))}.project-module__figure:has(.project-module__caption){padding-bottom:.15rem}.project-module__zoom{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in}.project-module__zoom img{display:block;width:100%;height:auto;border-radius:1px}.project-module__caption{margin:0;padding:.65rem .35rem .7rem;text-align:center;font-family:var(--font-display);font-size:.95rem;font-weight:400;font-style:normal;letter-spacing:.01em;line-height:1.2;text-transform:none;color:var(--color-text-secondary)}.project-module__gallery{display:grid;grid-template-columns:repeat(var(--gallery-count, 2),minmax(0,1fr));gap:var(--space-5) var(--space-4);width:100%;align-items:start;padding:var(--space-3) var(--space-2) var(--space-2)}.project-module__gallery .project-module__caption{font-size:.85rem;padding:.5rem .2rem .6rem}@container project-pair (max-width: 58rem){.project-module__pair-layout{grid-template-columns:minmax(0,var(--project-measure))}.project-module__pair .project-module__figure--solo{width:min(16rem,100%)}}@media (max-width: 1180px){.project-module__gallery--4,.project-module__gallery--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.project-module__pair-layout{grid-template-columns:minmax(0,var(--project-measure))}.project-module__pair .project-module__figure--solo{width:min(15rem,100%)}}@media (max-width: 639px){.project-module__gallery{grid-template-columns:1fr;max-width:min(18rem,100%);gap:var(--space-5)}}@media (prefers-reduced-motion: reduce){.project-module__figure{transform:none}}.project-page__footer{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding-top:var(--space-6);width:100%;max-width:var(--project-measure)}.project-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-5)}.project-lightbox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:0;background:color-mix(in srgb,var(--color-surface-deep) 84%,transparent);cursor:zoom-out}.project-lightbox__stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:min(84vw,72rem)}.project-lightbox__photo{margin:0;padding:.55rem .55rem .2rem;background:#fffdf8;box-shadow:0 22px 50px #00000059}.project-lightbox__photo img{display:block;width:auto;height:auto;max-width:min(88vw,68rem);max-height:min(72vh,40rem);object-fit:contain}.project-lightbox__caption{margin:0;padding:.65rem .4rem .55rem;max-width:min(88vw,36rem);text-align:center;font-family:var(--font-display);font-size:1.05rem;line-height:1.25;color:var(--color-text-secondary)}.project-lightbox__close,.project-lightbox__nav{border:1px solid color-mix(in srgb,var(--color-text-on-deep) 35%,transparent);background:color-mix(in srgb,var(--color-surface-deep) 55%,transparent);color:var(--color-text-on-deep);cursor:pointer}.project-lightbox__close{align-self:flex-end;padding:.35rem .7rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase}.project-lightbox__close:hover,.project-lightbox__nav:hover{background:color-mix(in srgb,var(--color-surface-base) 16%,var(--color-surface-deep))}.project-lightbox__nav{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);font-size:1.75rem;line-height:1;transform:translateY(-50%)}.project-lightbox__nav--prev{left:var(--space-4)}.project-lightbox__nav--next{right:var(--space-4)}.project-lightbox__count{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);color:var(--color-text-on-deep)}@media (max-width: 720px){.project-lightbox__nav--prev{left:var(--space-2)}.project-lightbox__nav--next{right:var(--space-2)}.project-lightbox__photo img{max-height:64vh}}.work-page{gap:var(--space-7)}.work-page__intro{display:flex;flex-direction:column;gap:var(--space-4);max-width:40rem}.work-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.work-filter{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:.4rem .7rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 40%,var(--color-surface-base));color:var(--color-text-secondary);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.work-filter:hover{border-color:color-mix(in srgb,var(--work-filter-accent, var(--color-accent-imagine)) 40%,var(--color-border-subtle))}.work-filter.is-selected{border-color:color-mix(in srgb,var(--work-filter-accent, var(--color-accent-imagine)) 55%,var(--color-border-subtle));background:color-mix(in srgb,var(--work-filter-soft, var(--color-accent-imagine-soft)) 35%,var(--color-surface-base));color:var(--color-text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--work-filter-accent, var(--color-accent-imagine)) 18%,transparent)}.work-filter:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.work-empty{display:flex;flex-direction:column;gap:var(--space-4);max-width:36rem;padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--color-surface-raised) 35%,var(--color-surface-base))}.work-empty__title{margin:0;font-family:var(--font-body);font-size:var(--type-title-calm-size);font-weight:var(--type-title-calm-weight);line-height:var(--type-title-calm-lh);color:var(--color-text-primary)}.work-empty__body{margin:0;font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-muted)}.work-empty__categories{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.work-empty__cat{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--type-body-sm-size);color:var(--color-text-secondary)}.work-card-grid{display:grid;gap:var(--space-4);margin:0;padding:0;list-style:none;grid-template-columns:1fr}@media (min-width: 560px){.work-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.work-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1100px){.work-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.work-card{display:flex;flex-direction:column;gap:var(--space-3);aspect-ratio:1 / 1;padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:color-mix(in srgb,var(--work-card-soft, var(--color-surface-raised)) 22%,var(--color-surface-base));text-decoration:none;color:inherit;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.work-card:hover{border-color:color-mix(in srgb,var(--work-card-accent, var(--color-accent-imagine)) 45%,var(--color-border-subtle));background:color-mix(in srgb,var(--work-card-soft, var(--color-surface-raised)) 38%,var(--color-surface-base))}.work-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.work-card:active{transform:translateY(1px)}.work-card__top{display:flex;align-items:center;gap:var(--space-3)}.work-card__category{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--work-card-accent, var(--color-text-muted))}.work-card__title{margin:0;font-family:var(--font-display);font-size:var(--type-display-title-size);line-height:var(--type-display-title-lh);letter-spacing:var(--type-display-title-ls);color:var(--color-text-secondary)}.work-card__summary{margin:auto 0 0;font-size:var(--type-label-size);line-height:var(--type-body-sm-lh);letter-spacing:var(--type-body-sm-ls);font-weight:400;color:var(--color-text-muted)}.work-page__footer-note{max-width:40rem}@media (prefers-reduced-motion: reduce){.work-card:active{transform:none}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.site-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-7) var(--page-gutter) var(--space-9)}.site-main:has(.home-map){width:auto;max-width:none;margin-left:var(--home-align-left, var(--page-gutter));margin-right:var(--home-align-right, var(--page-gutter));padding-left:0;padding-right:0}@media (max-width: 639px){.site-main{padding-top:var(--space-5)}}:root{--color-surface-base: #fff8f2;--color-surface-raised: #fbdecc;--color-surface-mist: #c9e0eb;--color-surface-leaf: #e8e7b5;--color-surface-deep: #402b47;--color-text-primary: #262423;--color-text-secondary: #402b47;--color-text-muted: #5c6570;--color-text-muted-cool: #7392b5;--color-text-on-deep: #fff8f2;--color-text-on-ember: #1a1208;--color-accent-ember: #e8872a;--color-accent-ember-bright: #f8910c;--color-accent-ember-soft: #f3b87a;--color-accent-gold: #ffcd2c;--color-accent-imagine: #8350c4;--color-accent-imagine-soft: #a57ad4;--color-support-leaf: #b3c56e;--color-support-olive: #707d4e;--color-border-subtle: #e8d4c4;--color-focus: #8350c4;--color-cat-illustration: #e8872a;--color-cat-illustration-soft: #f3b87a;--color-cat-digital-products: #8350c4;--color-cat-digital-products-soft: #a57ad4;--color-cat-games-interactive: #5b8fa8;--color-cat-games-interactive-soft: #c9e0eb;--color-cat-visual-storytelling: #707d4e;--color-cat-visual-storytelling-soft: #e8e7b5;--color-feedback-error-text: #7a2e14;--color-feedback-error-border: #c56a3c;--color-feedback-error-surface: #fff4ec;--color-feedback-success-border: #8fa35a;--color-feedback-success-surface: #f3f2d8;--font-display: "Londrina Solid", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--type-display-hero-size: clamp(2.75rem, 6vw, 4.5rem);--type-display-hero-lh: 1.05;--type-display-hero-ls: .01em;--type-display-section-size: clamp(1.75rem, 3vw, 2.5rem);--type-display-section-lh: 1.1;--type-display-section-ls: .01em;--type-display-title-size: clamp(1.35rem, 2vw, 1.75rem);--type-display-title-lh: 1.15;--type-display-title-ls: .01em;--type-title-calm-size: clamp(1.25rem, 1.5vw, 1.5rem);--type-title-calm-lh: 1.25;--type-title-calm-weight: 600;--type-body-lg-size: 1.125rem;--type-body-lg-lh: 1.55;--type-body-md-size: 1rem;--type-body-md-lh: 1.55;--type-body-sm-size: .875rem;--type-body-sm-lh: 1.5;--type-body-sm-ls: .01em;--type-label-size: .75rem;--type-label-lh: 1.3;--type-label-weight: 600;--type-label-ls: .04em;--type-nav-size: .9375rem;--type-nav-lh: 1.3;--type-nav-weight: 500;--type-nav-ls: .01em;--type-button-size: .9375rem;--type-button-lh: 1;--type-button-weight: 600;--type-button-ls: .01em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--motion-fast: .15s;--motion-base: .22s;--ease-out: cubic-bezier(.22, 1, .36, 1);--content-max: 72rem;--page-gutter: var(--space-5)}@media (min-width: 768px){:root{--page-gutter: var(--space-7)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--type-body-md-size);line-height:var(--type-body-md-lh);color:var(--color-text-primary);background:var(--color-surface-base)}#root{min-height:100vh}img,svg{display:block;max-width:100%}a{color:inherit}h1,h2,h3{color:var(--color-text-secondary)}button{font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
