/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Schibsted Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-step--1:.875rem;--text-step-0:1.0625rem;--text-step-1:1.3125rem;--text-step-2:1.65rem;--text-step-3:clamp(1.9rem, 1.4rem + 1.8vw, 2.75rem);--text-display:clamp(2.6rem, 1.2rem + 6.2vw, 6.25rem);--container-page:76rem;--container-measure:38rem;--ease-out-quint:cubic-bezier(.22, 1, .36, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;scroll-padding-top:6rem;font-size:100%}body{min-height:100dvh;font-size:var(--text-step-0);font-variant-numeric:proportional-nums;-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;font-weight:680;line-height:1.1}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}::selection{background-color:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}@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 components{.page-container{width:100%;max-width:var(--container-page);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}.section{padding-block:clamp(3.5rem,8vw,7rem)}.section+.section{border-top:1px solid var(--line)}.section-header{max-width:var(--container-measure);gap:.75rem;margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}.section-header h2{font-size:var(--text-step-3)}.section-header p{color:var(--ink-soft)}.skip-link{z-index:50;background:var(--ink);color:var(--paper);padding:.5rem .875rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.25rem;display:flex}.site-brand{line-height:1.2;text-decoration:none;display:grid}.site-brand__name{letter-spacing:-.01em;font-weight:700}.site-brand__role{font-size:var(--text-step--1);color:var(--ink-soft)}.menu-button{border:1px solid var(--line);color:var(--ink);font:inherit;font-size:var(--text-step--1);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:inline-flex}.site-nav{border:1px solid var(--line);background:var(--paper-raised);width:min(20rem,100vw - 2rem);color:var(--ink);border-radius:.75rem;margin:4.5rem 1rem 0 auto;padding:.75rem;inset:0 0 auto auto}.site-nav:popover-open{gap:.25rem;display:grid}.site-nav a{border-radius:.5rem;padding:.625rem .75rem;text-decoration:none}.site-nav a:hover{background:var(--accent-soft)}.site-nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px}@media (width>=48rem){.menu-button{display:none}.site-nav{background:0 0;border:0;gap:.25rem;width:auto;margin:0;padding:0;display:flex;position:static;overflow:visible}.site-nav:popover-open{background:0 0;border:0;gap:.25rem;width:auto;margin:0;padding:0;display:flex;position:static;overflow:visible}.site-nav a:hover{background:0 0;text-decoration:underline}}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-step--1);margin-top:clamp(3rem,8vw,6rem);padding-block:2.5rem 3rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1.25rem 2rem;display:flex}.site-footer__links{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.site-footer a:hover{color:var(--ink)}.button{min-height:2.875rem;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button svg{flex-shrink:0;width:1.125rem;height:1.125rem}.button--primary{background:var(--accent);color:var(--on-accent)}.button--primary:hover{background:var(--ink);color:var(--paper)}.button--ghost{border-color:var(--line);color:var(--ink);background:0 0}.button--ghost:hover{border-color:var(--ink)}.button[disabled]{opacity:.5;cursor:not-allowed}.text-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:600}@supports (color:color-mix(in lab, red, red)){.text-link{-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.text-link:hover{text-decoration-color:currentColor}.round-button{border:1px solid var(--line);background:var(--paper);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-grid}.round-button:hover:not([disabled]){border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.round-button[disabled]{opacity:.4;cursor:default}.round-button svg{width:1.25rem;height:1.25rem}.viewfinder{--corner:clamp(.875rem, 2.5vw, 1.75rem);--stroke:2px;--frame-pad:clamp(.75rem, 3.5vw, 2.75rem);padding:var(--frame-pad);position:relative}.viewfinder__corner{width:var(--corner);height:var(--corner);border-color:var(--accent);pointer-events:none;animation:viewfinder-focus .9s var(--ease-out-quint) both;border-style:solid;border-width:0;position:absolute}.viewfinder__corner--tl{border-top-width:var(--stroke);border-left-width:var(--stroke);--from:-.75rem -.75rem;top:0;left:0}.viewfinder__corner--tr{border-top-width:var(--stroke);border-right-width:var(--stroke);--from:.75rem -.75rem;top:0;right:0}.viewfinder__corner--bl{border-bottom-width:var(--stroke);border-left-width:var(--stroke);--from:-.75rem .75rem;bottom:0;left:0}.viewfinder__corner--br{border-right-width:var(--stroke);border-bottom-width:var(--stroke);--from:.75rem .75rem;bottom:0;right:0}.viewfinder--focus:after{content:"";background:linear-gradient(var(--accent), var(--accent)) center / 100% 1px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 1px 100% no-repeat;opacity:.35;pointer-events:none;width:.875rem;height:.875rem;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes viewfinder-focus{0%{translate:var(--from);opacity:0}60%{opacity:1}to{translate:0}}.hero{position:relative}.hero__inner{align-items:end;gap:clamp(2rem,5vw,4rem);padding-block:clamp(2.5rem,7vw,6rem) clamp(3rem,8vw,7rem);display:grid}@media (width>=64rem){.hero__inner--with-portrait{grid-template-columns:minmax(0,1fr) minmax(16rem,24rem)}}.hero--backdrop{min-height:min(52rem,88svh);color:var(--ink);isolation:isolate;align-items:end;display:grid}.hero--backdrop .hero__inner{padding-top:clamp(8rem,30vh,16rem)}.hero__backdrop{z-index:-1;background:#0d1216;position:absolute;inset:0;overflow:hidden}.hero__backdrop:after{content:"";background:linear-gradient(#080b0e1a,#080b0e40 45%,#080b0ed1),linear-gradient(90deg,#080b0e8c,#0000 65%);position:absolute;inset:0}.hero__backdrop-image{object-fit:cover;width:100%;height:100%;animation:hero-settle 1.6s var(--ease-out-quint) both}.hero--backdrop .hero__lead,.hero--backdrop .hero__intro,.hero--backdrop .availability{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hero--backdrop .hero__lead,.hero--backdrop .hero__intro,.hero--backdrop .availability{color:color-mix(in oklab, var(--ink) 86%, transparent)}}.hero__credit{color:var(--ink);position:absolute;bottom:1rem;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.hero__credit{color:color-mix(in oklab, var(--ink) 70%, transparent)}}.hero__credit{text-align:right;font-size:.8125rem}@keyframes hero-settle{0%{opacity:.4;scale:1.06}}.hero__frame{width:fit-content;max-width:calc(100% + 2 * var(--frame-pad));margin-inline:calc(var(--frame-pad) * -1)}.hero__intro{color:var(--ink-soft);font-size:var(--text-step-1);margin-bottom:1.25rem;line-height:1.4}.hero__heading{font-size:var(--text-display);letter-spacing:-.035em;max-width:11.5ch;font-weight:760;line-height:.96}.hero__lead{max-width:36rem;font-size:var(--text-step-1);color:var(--ink-soft);margin-top:clamp(1.5rem,3vw,2.25rem);line-height:1.5}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero__portrait{aspect-ratio:4/5;object-fit:cover;width:100%}.availability{font-size:var(--text-step--1);color:var(--ink-soft);align-items:center;gap:.625rem;display:inline-flex}.availability:before{content:"";background:var(--accent);width:.5rem;height:.5rem;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.prose{max-width:var(--container-measure)}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--text-step-2);margin-top:2.2em}.prose h3{font-size:var(--text-step-1);margin-top:1.8em}.prose h2+*,.prose h3+*{margin-top:.6em}.prose a{color:var(--accent)}.prose ul,.prose ol{padding-left:1.25em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--ink-soft)}.prose blockquote{border-left:2px solid var(--accent);font-size:var(--text-step-1);padding-left:1.25rem;line-height:1.45}.prose code{background:var(--accent-soft);border-radius:.25rem;padding:.1em .35em;font-size:.9em}.prose pre{border:1px solid var(--line);background:var(--paper-raised);font-size:var(--text-step--1);border-radius:.5rem;padding:1rem 1.25rem;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:.375rem}.text-split{gap:1.5rem;display:grid}@media (width>=56rem){.text-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem}}.text-split h2,.text-narrow h2{font-size:var(--text-step-3)}.text-narrow{max-width:var(--container-measure);gap:1.25rem;display:grid}.section-header__eyebrow{color:var(--accent);font-size:var(--text-step--1);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.section-header--center{text-align:center;margin-inline:auto}.text-block{gap:1.25rem;display:grid}.text-block__head{gap:.75rem;display:grid}.text-block__heading{font-size:var(--text-step-3)}.text-block--narrow{max-width:var(--container-measure)}@media (width>=56rem){.text-block--split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem}}.text-block--centered{text-align:center;max-width:48rem;margin-inline:auto}.text-block--centered .text-block__heading{letter-spacing:-.03em;font-size:clamp(2rem,1.2rem + 3.4vw,4rem)}.text-block--centered .prose{max-width:none;font-size:var(--text-step-1);color:var(--ink-soft)}.text-block--lead .prose{letter-spacing:-.01em;max-width:52rem;font-size:clamp(1.35rem,1.05rem + 1.1vw,2rem);font-weight:450;line-height:1.35}.text-block--columns .prose{max-width:none}@media (width>=48rem){.text-block--columns .prose{columns:2;column-gap:3rem}}.text-block--columns .prose>*{break-inside:avoid}@media (width>=56rem){.text-block--aside{grid-template-columns:minmax(0,8fr) minmax(14rem,4fr);column-gap:3.5rem}}.text-block--aside .text-block__head{grid-column:1/-1}.text-block__aside{background:var(--accent-soft);border-radius:.75rem;align-self:start;padding:1.5rem}.text-block__aside-title{margin-bottom:.5rem;font-weight:700}.article-header{gap:1rem;max-width:calc(52rem + 2*clamp(1rem,4vw,2.5rem));padding-block:clamp(2.5rem,7vw,6rem) clamp(2rem,4vw,3rem);display:grid}.article-header h1{letter-spacing:-.035em;font-size:clamp(2.4rem,1.3rem + 4.4vw,5rem)}.article-header__eyebrow{color:var(--accent);font-weight:650}.article-header__intro{font-size:var(--text-step-1);color:var(--ink-soft)}.article-header__meta{color:var(--ink-soft);font-size:var(--text-step--1)}.article-header__image img{object-fit:cover;width:100%;max-height:80svh;display:block}.article-body .section{padding-block:clamp(2rem,5vw,3.5rem)}.media-text{--media:1fr;align-items:center;gap:clamp(1.75rem,5vw,4.5rem);display:grid}@media (width>=56rem){.media-text{grid-template-columns:var(--media) minmax(0, 1fr)}}.media-text--third{--media:minmax(0, .55fr)}.media-text--half{--media:minmax(0, 1fr)}.media-text--wide{--media:minmax(0, 1.5fr)}@media (width>=56rem){.media-text--right{grid-template-columns:minmax(0, 1fr) var(--media)}.media-text--right .media-text__media{order:2}}.media-text--align-top{align-items:start}.media-text--align-bottom{align-items:end}.media-text__media{margin:0;position:relative}.media-text__image{width:100%;display:block}.media-text__content{max-width:var(--container-measure);gap:1rem;display:grid}.media-text__heading{font-size:var(--text-step-3)}.media-text__caption{color:var(--ink-soft);font-size:var(--text-step--1);margin-top:.625rem}.media-text--duo .media-text__media{padding:0 12% 14% 0}.media-text--duo .media-text__image--second{outline:6px solid var(--paper);width:52%;position:absolute;bottom:0;right:0;box-shadow:0 1.25rem 2.5rem -1rem #00000059}.media-text--rounded .media-text__image{border-radius:1rem}.media-text--polaroid .media-text__image{background:#fff;padding:.75rem .75rem 2.75rem;rotate:-1.5deg;box-shadow:0 1rem 2.5rem -1.25rem #0006}.media-text--polaroid .media-text__image--second{rotate:3deg}.media-text--viewfinder .media-text__viewfinder img{width:100%;display:block}.media-text--browser .media-text__media{border:1px solid var(--line);background:var(--paper-raised);border-radius:.625rem;overflow:hidden}.media-text--browser .media-text__caption{padding:0 .875rem .75rem}.media-text--bleed{padding-inline:0}@media (width>=56rem){.media-text--bleed{padding-right:max(clamp(1rem, 4vw, 2.5rem), (100vw - var(--container-page)) / 2 + clamp(1rem, 4vw, 2.5rem))}}.media-text--bleed .media-text__content{padding-inline:clamp(1rem,4vw,2.5rem)}@media (width>=56rem){.media-text--bleed.media-text--right{padding-right:0;padding-left:max(clamp(1rem, 4vw, 2.5rem), (100vw - var(--container-page)) / 2 + clamp(1rem, 4vw, 2.5rem))}.media-text--bleed .media-text__content{padding-inline:0}}.media-text--bleed .media-text__image{object-fit:cover;height:100%;min-height:26rem}.image-banner{color:var(--ink);isolation:isolate;display:grid;position:relative;overflow:hidden}.image-banner--medium{min-height:clamp(22rem,50vw,32rem)}.image-banner--tall{min-height:clamp(28rem,70vw,44rem)}.image-banner--screen{min-height:100svh}.image-banner__media{z-index:-1;background:#0d1216;position:absolute;inset:0}.image-banner__media:after{content:"";background:linear-gradient(#080b0e0d,#080b0e26 40%,#080b0ec7);position:absolute;inset:0}.image-banner--center .image-banner__media:after{background:#080b0e80}.image-banner__image{object-fit:cover;width:100%;height:100%}.image-banner--effect-parallax .image-banner__image{height:120%;translate:0 -8%}@supports (animation-timeline:view()){.image-banner--effect-parallax .image-banner__image{animation:linear both banner-parallax;animation-timeline:view()}.image-banner--effect-zoom .image-banner__image{animation:linear both banner-zoom;animation-timeline:view();animation-range:entry exit 0%}}.image-banner__content{align-items:end;padding-block:clamp(2.5rem,6vw,5rem);display:grid}.image-banner__text{justify-items:start;gap:1rem;max-width:40rem;display:grid}.image-banner__text h2{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.2rem,1.2rem + 4vw,4.75rem)}.image-banner__lead{font-size:var(--text-step-1);color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.image-banner__lead{color:color-mix(in oklab, var(--ink) 86%, transparent)}}.image-banner--center .image-banner__content{text-align:center;place-items:center}.image-banner--center .image-banner__text{justify-items:center}.image-banner--bottom-right .image-banner__content{text-align:right;justify-items:end}.image-banner--bottom-right .image-banner__text{justify-items:end}@keyframes banner-parallax{0%{translate:0 -16%}to{translate:0}}@keyframes banner-zoom{0%{scale:1}to{scale:1.15}}.before-after{margin:0}.before-after__frame{background:var(--paper-raised);touch-action:pan-y;border-radius:.5rem;position:relative;overflow:hidden}.before-after__image{-webkit-user-select:none;user-select:none;width:100%;display:block}.before-after__before{clip-path:inset(0 calc(100% - var(--position)) 0 0);position:absolute;inset:0}.before-after__before .before-after__image{object-fit:cover;height:100%}.before-after__handle{top:0;bottom:0;left:var(--position);pointer-events:none;background:#fff;width:2px;position:absolute;translate:-1px;box-shadow:0 0 0 1px #00000026}.before-after__handle:after{content:"‹ ›";color:#11181d;letter-spacing:.1em;background:#fff;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;font-weight:700;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 .25rem 1rem #00000040}.before-after__range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.before-after__range:focus-visible+.before-after__handle{outline:3px solid var(--accent);outline-offset:2px}.before-after__frame:has(.before-after__range:focus-visible) .before-after__handle:after{outline:3px solid var(--accent);outline-offset:2px}.before-after__label{color:#fff;font-size:var(--text-step--1);pointer-events:none;background:#080b0e99;border-radius:999px;padding:.25rem .625rem;font-weight:600;position:absolute;top:1rem}.before-after__label--before{left:1rem}.before-after__label--after{right:1rem}.video__frame{aspect-ratio:16/9;background:#0d1216;border-radius:.5rem;position:relative;overflow:hidden}.video__poster,.video__iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.video__play{color:#fff;background:linear-gradient(#0000 40%,#080b0e8c);place-content:center;justify-items:center;gap:.75rem;font-weight:600;text-decoration:none;display:grid;position:absolute;inset:0}.video__play-icon{background:var(--accent);width:4.5rem;height:4.5rem;transition:scale .2s var(--ease-out-quint);border-radius:999px;position:relative;box-shadow:0 .5rem 2rem #00000059}.video__play-icon:after{content:"";border-block:.75rem solid #0000;border-left:1.25rem solid var(--on-accent);position:absolute;top:50%;left:54%;translate:-50% -50%}.video__play:hover .video__play-icon{scale:1.08}.video__privacy{color:var(--ink-soft)}.logos__heading{color:var(--ink-soft);font-size:var(--text-step-0);text-align:center;margin-bottom:2rem;font-weight:600}.logos{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);display:flex}.logos__image{object-fit:contain;width:auto;max-width:9rem;max-height:3rem;transition:filter .2s,opacity .2s;display:block}.logos--grayscale .logos__image{filter:grayscale();opacity:.7}.logos--grayscale a:hover .logos__image,.logos--grayscale a:focus-visible .logos__image{filter:none;opacity:1}.image-banner .section-header__eyebrow{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.image-banner .section-header__eyebrow{color:color-mix(in oklab, var(--ink) 85%, transparent)}}.quotes__list{gap:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=48rem){.quotes--grid .quotes__list{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem}}.quote{gap:1.25rem;margin:0;display:grid}.quotes--large .quote{max-width:54rem}.quotes--large .quote__text{letter-spacing:-.015em;text-wrap:pretty;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.5rem);font-weight:520;line-height:1.25;position:relative}.quotes--large .quote__text:before{content:"“";color:var(--accent);opacity:.25;font-size:3em;line-height:1;position:absolute;top:-.35em;left:-.05em;translate:-45%}.quotes--grid .quote{border:1px solid var(--line);background:var(--paper-raised);border-radius:.75rem;align-content:space-between;padding:1.5rem}.quotes--grid .quote__text{font-size:var(--text-step-0)}.quote__author{font-size:var(--text-step--1);align-items:center;gap:.75rem;display:flex}.quote__author>span{display:grid}.quote__photo{object-fit:cover;border-radius:999px;width:2.75rem;height:2.75rem}.quote__role{color:var(--ink-soft)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;display:grid}@media (width>=56rem){.stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stats--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{border-top:2px solid var(--accent);flex-direction:column-reverse;gap:.375rem;padding-top:1rem;display:flex}.stat:nth-child(2n){border-top-color:var(--accent-2)}.stat__value{letter-spacing:-.03em;font-size:clamp(2.5rem,1.6rem + 3.4vw,4.5rem);font-weight:740;line-height:1}.stat__label{color:var(--ink-soft)}.cards{gap:1.25rem;display:grid}@media (width>=40rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{transition:border-color .2s ease, translate .2s var(--ease-out-quint), box-shadow .2s ease;border-radius:.875rem;align-content:start;gap:.75rem;padding:1.5rem;display:grid;position:relative}.cards--outline .card{border:1px solid var(--line)}.cards--filled .card{background:var(--paper-raised)}.cards--accent .card{background:var(--accent-soft)}.cards--accent .card:nth-child(3n+2){background:var(--accent-2-soft)}.cards--minimal .card{padding:0}.card:has(a):hover{translate:0 -3px;box-shadow:0 1rem 2rem -1.5rem #00000059}.cards--outline .card:has(a):hover{border-color:var(--accent)}.card__icon{font-size:2rem;line-height:1}.card__image{aspect-ratio:3/2;object-fit:cover;border-radius:.5rem;width:100%}.card__title{font-size:var(--text-step-1)}.card__title a{text-decoration:none}.card__title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.card__text{color:var(--ink-soft)}.card__more{color:var(--accent);font-weight:600}.cards--accent .card__more{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.cards--accent .card__more{color:color-mix(in oklab, var(--accent) 65%, var(--ink))}}@media (width>=56rem){.faq--split{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:3rem;display:grid}}.faq__list{border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__item summary{font-size:var(--text-step-1);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.125rem;font-weight:600;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);transition:rotate .2s var(--ease-out-quint);border-radius:999px;flex:none;place-items:center;font-weight:500;display:grid}.faq__item[open] summary:after{rotate:45deg}.faq__answer{color:var(--ink-soft);padding-bottom:1.25rem}.steps{counter-reset:step;gap:2rem;display:grid}@media (width>=56rem){.steps--horizontal{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}.step{align-content:start;gap:.75rem;display:grid}.step__number{color:var(--accent);font-size:var(--text-step-2);font-variant-numeric:tabular-nums;font-weight:740}.steps--horizontal .step{border-top:1px solid var(--line);padding-top:1rem}.steps--vertical{max-width:44rem}.steps--vertical .step{grid-template-columns:3.5rem minmax(0,1fr);gap:1rem;padding-bottom:1.5rem;position:relative}.steps--vertical .step:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:2.75rem;bottom:0;left:1.1rem}.step__title{font-size:var(--text-step-1)}.step__text{color:var(--ink-soft);margin-top:.375rem}.terminal,.code-window,.ctf{--code-bg:#0f1418;--code-bar:#182026;--code-ink:#d8e0dd;--code-muted:#93a1a8;--code-string:#a9dc76;--code-keyword:#ff6188;--code-variable:#78dce8;--code-comment:#8a979f;--code-tag:#ab9df2;--code-punct:#c6cfcb;--code-prompt:var(--brand)}@supports (color:color-mix(in lab, red, red)){.terminal,.code-window,.ctf{--code-prompt:color-mix(in oklab, var(--brand) 55%, #fff)}}.terminal,.code-window,.ctf{background:var(--code-bg);color:var(--code-ink);border-radius:.75rem;margin:0;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:clamp(.8125rem,.75rem + .25vw,.9375rem);line-height:1.7;overflow:hidden;box-shadow:0 1.5rem 3rem -1.5rem #00000073}.terminal__bar,.code-window__bar{background:var(--code-bar);color:var(--code-muted);align-items:center;gap:1rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.terminal__dots{gap:.375rem;display:flex}.terminal__dots i{background:#ff5f57;border-radius:999px;width:.75rem;height:.75rem}.terminal__dots i:nth-child(2){background:#febc2e}.terminal__dots i:nth-child(3){background:#28c840}.terminal__title,.code-window__file{text-align:center;flex:1}.terminal__screen,.code-window__screen{white-space:pre;margin:0;padding:1.25rem 1.25rem 1.5rem;overflow-x:auto}.terminal{max-width:52rem}.terminal__line--command:before{content:"$ ";color:var(--code-prompt)}.terminal__line--output{color:var(--code-muted)}.terminal__line--comment{color:var(--code-comment);font-style:italic}.terminal__line--comment:before{content:"# "}.terminal__line--success{color:var(--code-string)}.terminal__line--success:before{content:"✔ "}.nmap__head{color:var(--code-ink);font-weight:700}.nmap__port{color:var(--code-variable)}.nmap__state--open{color:var(--code-string)}.nmap__state--filtered{color:#ffd866}.nmap__service{color:var(--code-tag)}.nmap__version{color:var(--code-ink)}.terminal__line[data-typing=pending]{display:none}.terminal__cursor,.code-window[data-typing=done] .code-line:last-child:after{vertical-align:text-bottom;background:var(--code-prompt);width:.55em;height:1.15em;margin-left:.1em;animation:1.05s step-end infinite cursor-blink;display:inline-block}.code-window[data-typing=done] .code-line:last-child:after{content:""}@keyframes cursor-blink{50%{opacity:0}}.code-wall__layout{align-items:start;gap:2rem;display:grid}@media (width>=64rem){.code-wall__layout{grid-template-columns:minmax(0,7fr) minmax(18rem,4fr)}}.code-window__count{color:var(--code-muted)}.code-window__screen{overscroll-behavior:contain;counter-reset:line;scrollbar-color:#2b363d transparent;max-height:min(36rem,70svh);overflow:auto}.code-window__screen code{display:block}.code-line{counter-increment:line;min-height:1.7em;padding-right:1rem;display:block}.code-line:before{content:counter(line);color:#3d4a51;text-align:right;-webkit-user-select:none;user-select:none;width:2.5em;margin-right:1.25em;display:inline-block}.code-line[data-state=pending]{display:none}.code-line[data-state=typing]:after{content:"";vertical-align:text-bottom;background:var(--code-prompt);width:.55em;height:1.15em;margin-left:.1em;display:inline-block}.code-line--highlight{background:var(--code-prompt);margin-inline:-1.25rem;padding-left:1.25rem}@supports (color:color-mix(in lab, red, red)){.code-line--highlight{background:color-mix(in oklab, var(--code-prompt) 16%, transparent)}}.code-line--highlight{box-shadow:inset 3px 0 0 var(--code-prompt)}.tok--keyword{color:var(--code-keyword)}.tok--variable{color:var(--code-variable)}.tok--string{color:var(--code-string)}.tok--comment{color:var(--code-comment);font-style:italic}.tok--tag{color:var(--code-tag)}.tok--punct{color:var(--code-punct)}.tok--prompt{color:var(--code-prompt)}.code-wall__form-wrap{gap:1rem;display:grid}.code-wall__form{border:1px solid var(--line);background:var(--paper-raised);border-radius:.75rem;gap:1.125rem;padding:1.5rem;display:grid}.code-input-row{align-items:stretch;display:flex}.code-input-row__prefix{border:1px solid var(--line);background:var(--paper);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-step--1);white-space:nowrap;border-right:0;border-radius:.5rem 0 0 .5rem;place-items:center;padding-inline:.75rem;display:grid}.code-input-row .text-input{border-radius:0 .5rem .5rem 0}.code-wall__submit{justify-self:start}.code-wall__submit-code{box-shadow:inset 0 0 0 1px var(--on-accent);border-radius:.25rem;padding:.05rem .4rem}@supports (color:color-mix(in lab, red, red)){.code-wall__submit-code{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--on-accent) 55%, transparent)}}.code-wall__submit-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8em;font-weight:500}.code-wall__privacy{color:var(--ink-soft);font-size:.8125rem}.repos{gap:1rem;display:grid}@media (width>=40rem){.repos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.repos{grid-template-columns:repeat(3,minmax(0,1fr))}}.repo__link{border:1px solid var(--line);height:100%;transition:border-color .2s ease, translate .2s var(--ease-out-quint);border-radius:.75rem;gap:.5rem;padding:1.25rem;text-decoration:none;display:grid}.repo__link:hover{border-color:var(--accent);translate:0 -2px}.repo__name{align-items:center;gap:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;display:flex}.repo__description{color:var(--ink-soft);font-size:var(--text-step--1)}.repo__meta{color:var(--ink-soft);flex-wrap:wrap;align-self:end;gap:.25rem 1rem;font-size:.8125rem;display:flex}.repo__meta span{align-items:center;gap:.25rem;display:inline-flex}.repo__language:before{content:"";background:var(--accent-2);border-radius:999px;width:.625rem;height:.625rem}.project-list{gap:clamp(3.5rem,8vw,6rem);display:grid}.project-row{align-items:center;gap:1.5rem 3rem;display:grid}@media (width>=56rem){.project-row{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.project-row:nth-child(2n){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.project-row:nth-child(2n) .browser-frame{order:2}}.project-row__title{font-size:var(--text-step-2)}.project-row__title a{text-decoration:none}.project-row__title a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.project-row__excerpt{color:var(--ink-soft);margin-top:.75rem}.project-facts{font-size:var(--text-step--1);grid-template-columns:auto 1fr;gap:.375rem 1.25rem;margin-top:1.25rem;display:grid}.project-facts dt{color:var(--ink-soft)}.browser-frame{border:1px solid var(--line);background:var(--paper-raised);border-radius:.625rem;text-decoration:none;transition:border-color .2s;display:block;overflow:hidden}a.browser-frame:hover{border-color:var(--accent)}.browser-frame__bar{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;display:flex}.browser-frame__url{background:var(--paper);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:1;padding:.125rem .625rem;overflow:hidden}.browser-frame__screen{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;display:block}.browser-frame__placeholder{aspect-ratio:16/10;background:var(--accent);color:var(--on-accent);letter-spacing:-.03em;place-items:end start;padding:clamp(1.25rem,4vw,2.5rem);font-size:clamp(1.5rem,1rem + 2.5vw,3rem);font-weight:740;line-height:1;display:grid}.project-hero{gap:1.5rem;padding-block:clamp(2rem,6vw,5rem) clamp(2rem,5vw,3.5rem);display:grid}.project-hero h1{letter-spacing:-.03em;max-width:18ch;font-size:clamp(2.25rem,1.2rem + 4vw,4.5rem)}.project-hero p{max-width:40rem;font-size:var(--text-step-1);color:var(--ink-soft)}.project-body{gap:3rem;padding-block:clamp(2.5rem,6vw,4.5rem);display:grid}@media (width>=56rem){.project-body{grid-template-columns:minmax(0,8fr) minmax(14rem,4fr)}}.project-aside{border:1px solid var(--line);border-radius:.625rem;align-self:start;padding:1.5rem}@media (width>=56rem){.project-aside{position:sticky;top:2rem}}.project-aside .project-facts{margin-top:0}.screenshot-grid{gap:1.5rem;display:grid}@media (width>=48rem){.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-pager{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-top:2rem;display:flex}.github-stats{border-top:1px solid var(--line);padding-top:1.25rem}.github-stats__title{align-items:center;gap:.5rem;font-weight:650;display:flex}.github-stats__grid{font-size:var(--text-step--1);grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1rem;margin-top:1rem;display:grid}.github-stats__grid dt{color:var(--ink-soft)}.github-stats__grid dd{font-size:var(--text-step-0);font-variant-numeric:tabular-nums;font-weight:650}.github-stats__link{width:100%;margin-top:1.25rem}.github-stats--compact{color:var(--ink-soft);font-size:var(--text-step--1);border:0;flex-wrap:wrap;align-items:center;gap:.375rem 1rem;padding:0;display:flex}.github-stats--compact span{align-items:center;gap:.25rem;display:inline-flex}.project-row[data-brand] .browser-frame,.project[data-brand] .browser-frame{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-row[data-brand] .browser-frame,.project[data-brand] .browser-frame{border-color:color-mix(in oklab, var(--accent) 45%, var(--line))}}.project[data-brand] .project-aside{border-top:4px solid var(--accent)}.skill-groups{gap:2.5rem;display:grid}@media (width>=48rem){.skill-groups{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}.skill-group{border-top:2px solid var(--ink);padding-top:1.25rem}.skill-group h3{font-size:var(--text-step-1)}.skill-group>p{color:var(--ink-soft);font-size:var(--text-step--1);margin-top:.25rem}.skill-group ul{gap:.375rem;margin-top:1.25rem;display:grid}.timeline--list{max-width:52rem;display:grid}.timeline--list .timeline__item{border-top:1px solid var(--line);gap:.25rem 2rem;padding-block:1.5rem;display:grid}@media (width>=48rem){.timeline--list .timeline__item{grid-template-columns:9rem minmax(0,1fr)}}.timeline--list .timeline__item:last-child{border-bottom:1px solid var(--line)}.timeline--list .timeline__period{color:var(--ink-soft);font-variant-numeric:tabular-nums}.timeline__role{font-weight:650}.timeline__organisation{color:var(--ink-soft)}.timeline__description{max-width:var(--container-measure);margin-top:.5rem}.timeline--alternating{--dot:.875rem;--line-x:.4375rem;gap:1.5rem;max-width:64rem;margin-inline:auto;padding-left:2.25rem;display:grid;position:relative}@media (width>=48rem){.timeline--alternating{--line-x:50%;gap:0;padding-left:0}}.timeline--alternating:before{content:"";top:.5rem;bottom:.5rem;left:var(--line-x);background:linear-gradient(to bottom, var(--accent), var(--accent-2));border-radius:2px;width:2px;position:absolute;translate:-1px}.timeline--alternating .timeline__item{gap:.5rem;display:grid;position:relative}@media (width>=48rem){.timeline--alternating .timeline__item{grid-template-columns:minmax(0,1fr) 4rem minmax(0,1fr);grid-template-areas:"card.period";align-items:start;padding-block:1rem}.timeline--alternating .timeline__item:nth-child(2n){grid-template-areas:"period.card"}}.timeline--alternating .timeline__item:before{content:"";top:.3rem;left:calc(-2.25rem + var(--line-x));width:var(--dot);height:var(--dot);border:3px solid var(--paper);background:var(--accent);box-shadow:0 0 0 2px var(--accent);border-radius:50%;position:absolute;translate:-50%}@media (width>=48rem){.timeline--alternating .timeline__item:before{top:1.6rem;left:50%}}.timeline--alternating .timeline__item:last-child:before{background:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2)}.timeline--alternating .timeline__period{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:650}@media (width>=48rem){.timeline--alternating .timeline__period{font-size:var(--text-step-1);grid-area:period;padding-top:1.1rem}.timeline--alternating .timeline__item:nth-child(2n) .timeline__period{text-align:right}}.timeline--alternating .timeline__card{border:1px solid var(--line);background:var(--paper-raised);border-radius:.75rem;padding:1.25rem 1.375rem}@media (width>=48rem){.timeline--alternating .timeline__card{grid-area:card}}@media (prefers-reduced-motion:no-preference) and (width>=48rem){@supports (animation-timeline:view()){.timeline--alternating .timeline__card{--from:-1.5rem;animation:linear both timeline-in;animation-timeline:view();animation-range:entry entry 70%}.timeline--alternating .timeline__item:nth-child(2n) .timeline__card{--from:1.5rem}}}@keyframes timeline-in{0%{opacity:0;translate:var(--from) 0}}.git-log{--lane-main:.75rem;--lane-side:2.125rem;--node-y:1.4rem;--rail:2px;interpolate-size:allow-keywords;max-width:52rem;display:grid}.git-log__row{grid-template-columns:2.875rem minmax(0,1fr);column-gap:.5rem;display:grid}.git-log__graph{position:relative}.git-log__rail{width:var(--rail);translate:calc(var(--rail) / -2) 0;position:absolute}.git-log__rail--main{left:var(--lane-main);background:var(--accent)}.git-log__rail--side{left:var(--lane-side);background:var(--accent-2)}.git-log__rail--up{height:var(--node-y);top:0}.git-log__rail--down{top:var(--node-y);bottom:0}.git-log__bend{left:var(--lane-main);width:calc(var(--lane-side) - var(--lane-main) + var(--rail) / 2);border:0 solid var(--accent-2);border-right-width:var(--rail);position:absolute}.git-log__bend--up{height:var(--node-y);border-top-width:var(--rail);border-top-right-radius:.875rem;top:0}.git-log__bend--down{top:var(--node-y);border-bottom-width:var(--rail);border-bottom-right-radius:.875rem;bottom:0}.git-log__node{z-index:1;top:var(--node-y);left:var(--lane-main);border:var(--rail) solid var(--accent);background:var(--paper);border-radius:50%;width:.875rem;height:.875rem;position:absolute;translate:-50% -50%}.git-log__row--side .git-log__node{left:var(--lane-side);border-color:var(--accent-2)}.git-log__row--head .git-log__node{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.git-log__row--head.git-log__row--side .git-log__node{background:var(--accent-2);box-shadow:0 0 0 4px var(--accent-2-soft)}.git-log__commit{border:1px solid var(--line);background:var(--paper-raised);border-radius:.75rem;margin-bottom:.75rem;transition:background-color .15s}.git-log__row--side .git-log__commit{border-left:3px solid var(--accent-2)}.git-log__row--head .git-log__commit{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.git-log__row--head .git-log__commit{border-color:color-mix(in oklab, var(--accent) 45%, var(--line))}}.git-log__summary{border-radius:.75rem;gap:.25rem;padding:.75rem 1rem .875rem;list-style:none;display:grid}.git-log__summary::-webkit-details-marker{display:none}summary.git-log__summary{cursor:pointer}.git-log__commit:has(>summary:hover){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.git-log__commit:has(>summary:hover){background:color-mix(in oklab, var(--accent) 5%, var(--paper-raised))}}summary.git-log__summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.git-log__meta{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.8125rem;line-height:1.3;display:flex}.git-log__hash{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.git-log__ref{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:.0625rem .5rem;font-size:.75rem;font-weight:600}.git-log__ref--head{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.git-log__ref--side{border-color:var(--accent-2)}@supports (color:color-mix(in lab, red, red)){.git-log__ref--side{border-color:color-mix(in oklab, var(--accent-2) 40%, var(--line))}}.git-log__ref--side{background:var(--accent-2-soft);color:var(--ink)}.git-log__period{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.git-log__title{font-size:var(--text-step-1);line-height:1.3}.git-log__title strong{font-weight:650}.git-log__organisation,.git-log__text{color:var(--ink-soft)}.git-log__more{color:var(--accent);justify-self:start;margin-top:.25rem;font-size:.8125rem;font-weight:600}.git-log__more:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.4rem;height:.4rem;margin-left:.4rem;transition:rotate .2s,translate .2s;display:inline-block;translate:0 -.15rem;rotate:45deg}.git-log__more-open,.git-log__commit[open] .git-log__more-closed{display:none}.git-log__commit[open] .git-log__more-open{display:inline}.git-log__commit[open] .git-log__more:after{translate:0 .05rem;rotate:225deg}.git-log__body{border-top:1px dashed var(--line);gap:.75rem;margin-inline:1rem;padding-block:.875rem 1rem;display:grid}.git-log__body p{max-width:var(--container-measure)}.git-log__skills{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.git-log__skills li{background:var(--accent-soft);border-radius:999px;padding:.1875rem .625rem;font-size:.8125rem}@media (prefers-reduced-motion:no-preference){.git-log__commit::details-content{block-size:0;transition:block-size .25s ease, content-visibility .25s allow-discrete;overflow:clip}.git-log__commit[open]::details-content{block-size:auto}}.sev--critical{--sev:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8f80)}.sev--high{--sev:var(--lightningcss-light,#b43c0a)var(--lightningcss-dark,#ffa269)}.sev--medium{--sev:var(--lightningcss-light,#8a4b06)var(--lightningcss-dark,#f2c14e)}.sev--low{--sev:var(--lightningcss-light,#1d4ed8)var(--lightningcss-dark,#8fb0ff)}.sev--info{--sev:var(--ink-soft)}.report{border:1px solid var(--line);background:var(--paper-raised);border-radius:1rem;max-width:56rem;box-shadow:0 1.5rem 3rem -2rem #0000004d}.report__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;padding:1.25rem 1.5rem;display:flex}.report__kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:700}.report__scope{font-size:var(--text-step-1);font-weight:650}.report__meta{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;font-size:.8125rem;display:flex}.report__meta dt{color:var(--ink-soft)}.report__meta dd{margin:0;font-weight:600}.report__summary{border-bottom:1px solid var(--line);gap:.625rem;padding:1rem 1.5rem;display:grid}.report__bar{gap:2px;height:.5rem;display:flex}.report__bar span{background:var(--sev);border-radius:4px}.report__legend{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.report__legend li{align-items:center;gap:.375rem;display:flex}.sev-dot{background:var(--sev);border-radius:2px;width:.625rem;height:.625rem}.report__findings{gap:.75rem;margin:0;padding:1.25rem 1.5rem;list-style:none;display:grid}.finding__box{border:1px solid var(--line);border-left:4px solid var(--sev);background:var(--paper);interpolate-size:allow-keywords;border-radius:.625rem}.finding__summary{border-radius:.625rem;gap:.25rem;padding:.875rem 1rem;list-style:none;display:grid}.finding__summary::-webkit-details-marker{display:none}summary.finding__summary{cursor:pointer;padding-right:2.75rem;position:relative}summary.finding__summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.finding__box:has(>summary:hover){background:var(--sev)}@supports (color:color-mix(in lab, red, red)){.finding__box:has(>summary:hover){background:color-mix(in oklab, var(--sev) 5%, var(--paper))}}.finding__meta{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.finding__id{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sev-badge{background:var(--sev);border-radius:999px;padding:.0625rem .5rem}@supports (color:color-mix(in lab, red, red)){.sev-badge{background:color-mix(in oklab, var(--sev) 14%, var(--paper))}}.sev-badge{color:var(--sev);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.finding__score{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.finding__title{font-size:var(--text-step-1);font-weight:650;line-height:1.3}.finding__text{color:var(--ink-soft)}.finding__more{border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);width:.5rem;height:.5rem;transition:rotate .2s;position:absolute;top:1.15rem;right:1.1rem;rotate:45deg}.finding__box[open] .finding__more{top:1.35rem;rotate:225deg}.finding__body{border-top:1px dashed var(--line);gap:1rem;margin-inline:1rem;padding-block:.875rem 1rem;display:grid}.finding__body p{max-width:var(--container-measure)}.finding__body p+p{margin-top:.5rem}.finding__label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:700}.finding__tools{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.finding__tools li{background:var(--accent-soft);border-radius:999px;padding:.1875rem .625rem;font-size:.8125rem}.report__verdict{border-top:1px solid var(--line);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.report__check{background:var(--accent);width:1.75rem;height:1.75rem;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}@media (prefers-reduced-motion:no-preference){.finding__box::details-content{block-size:0;transition:block-size .25s ease, content-visibility .25s allow-discrete;overflow:clip}.finding__box[open]::details-content{block-size:auto}}.dossier{--redact:var(--lightningcss-light,#15181b)var(--lightningcss-dark,#050607);border:1px solid var(--line);background:var(--lightningcss-light,#fbf9f3)var(--lightningcss-dark,var(--paper-raised));border-radius:.375rem;max-width:52rem;padding:clamp(1.25rem,3vw,2.25rem);position:relative}@supports (color:color-mix(in lab, red, red)){.dossier{background:var(--lightningcss-light,#fbf9f3)var(--lightningcss-dark,color-mix(in oklab, var(--paper-raised) 85%, #fff))}}.dossier{box-shadow:0 1px 0 var(--line), 0 1.5rem 3rem -2rem #00000059}.dossier__stamp{border:3px solid var(--stamp);color:var(--stamp);letter-spacing:.14em;text-transform:uppercase;opacity:.85;--stamp:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8f80);border-radius:.25rem;padding:.25rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;font-weight:800;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);rotate:-7deg}@media (width<=40rem){.dossier__stamp{padding:.125rem .5rem;font-size:.6875rem}}.dossier__head{gap:.5rem;padding-bottom:1rem;padding-right:7rem;display:grid}@media (width>=40rem){.dossier__head{padding-right:10rem}}.dossier__head{border-bottom:2px solid var(--ink)}.dossier__title{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-step-1);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.dossier__meta{color:var(--ink-soft);flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;font-size:.8125rem;display:flex}.dossier__meta div{gap:.375rem;display:flex}.dossier__meta dt:after{content:":"}.dossier__meta dd{color:var(--ink);margin:0}.dossier__rows{margin:0}.dossier__row{border-bottom:1px dashed var(--line);gap:.25rem 1.5rem;padding-block:.875rem;display:grid}@media (width>=40rem){.dossier__row{grid-template-columns:11rem minmax(0,1fr)}}.dossier__row dt{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;font-weight:600}.dossier__row dd{margin:0;line-height:1.75}.js .redact{background:var(--redact);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#0000;font:inherit;line-height:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:2px;margin:0;padding:.05em .2em;transition:background-color .2s;display:inline}.js .redact:hover{background:var(--redact)}@supports (color:color-mix(in lab, red, red)){.js .redact:hover{background:color-mix(in oklab, var(--redact) 80%, var(--accent))}}.js .redact:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.redact--revealed{background:var(--accent-2);border-radius:2px;padding:.05em .2em}@supports (color:color-mix(in lab, red, red)){.redact--revealed{background:color-mix(in oklab, var(--accent-2) 22%, transparent)}}.redact--revealed{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit}@media (prefers-reduced-motion:no-preference){.redact--revealed{animation:.6s unredact}}@keyframes unredact{0%{background:var(--redact);color:#0000}}.dossier__foot{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding-top:1rem;display:flex}.dossier__note{color:var(--ink-soft);flex:18rem;font-size:.8125rem;font-style:italic}.dossier__progress{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem}.no-js .dossier__progress,.no-js .dossier__reveal,.dossier__reveal[hidden]{display:none}.ctf{max-width:52rem}.ctf__bar{background:var(--code-bar);color:var(--code-muted);align-items:center;gap:1rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.ctf__title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ctf__score{color:var(--code-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.ctf__body{gap:1.25rem;padding:1.25rem;display:grid}.ctf__flags{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.ctf__flags{grid-template-columns:repeat(2,minmax(0,1fr))}}.ctf__flag{border:1px solid var(--code-ink);grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;gap:.125rem .625rem;padding:.625rem .75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.ctf__flag{border:1px solid color-mix(in oklab, var(--code-ink) 14%, transparent)}}.ctf__flag{border-radius:.5rem;transition:border-color .3s,background-color .3s}.ctf__icon{width:1.25rem;height:1.25rem;color:var(--code-comment);grid-row:span 2}.ctf__name{color:var(--code-ink);font-weight:700}.ctf__status{color:var(--code-muted);font-size:.8125rem}.ctf__flag[data-found=true]{border-color:var(--code-string)}@supports (color:color-mix(in lab, red, red)){.ctf__flag[data-found=true]{border-color:color-mix(in oklab, var(--code-string) 55%, transparent)}}.ctf__flag[data-found=true]{background:var(--code-string)}@supports (color:color-mix(in lab, red, red)){.ctf__flag[data-found=true]{background:color-mix(in oklab, var(--code-string) 9%, transparent)}}.ctf__flag[data-found=true] .ctf__icon{color:var(--code-string);fill:var(--code-string)}@supports (color:color-mix(in lab, red, red)){.ctf__flag[data-found=true] .ctf__icon{fill:color-mix(in oklab, var(--code-string) 35%, transparent)}}.ctf__flag[data-found=true] .ctf__icon path{fill:var(--code-string)}@supports (color:color-mix(in lab, red, red)){.ctf__flag[data-found=true] .ctf__icon path{fill:color-mix(in oklab, var(--code-string) 35%, transparent)}}.ctf__flag[data-found=true] .ctf__status{color:var(--code-string)}.ctf__hint{grid-column:2;font-size:.8125rem}.ctf__hint summary{width:max-content;color:var(--code-variable);cursor:pointer}.ctf__hint p{color:var(--code-ink);margin-top:.25rem}.ctf__flag[data-found=true] .ctf__hint{display:none}.ctf__label{color:var(--code-muted);margin-bottom:.375rem;font-size:.8125rem;display:block}.ctf__input-row{border:1px solid var(--code-ink);align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.ctf__input-row{border:1px solid color-mix(in oklab, var(--code-ink) 22%, transparent)}}.ctf__input-row{background:var(--code-bar);border-radius:.5rem}@supports (color:color-mix(in lab, red, red)){.ctf__input-row{background:color-mix(in oklab, var(--code-bar) 70%, #000)}}.ctf__input-row:focus-within{border-color:var(--code-prompt);box-shadow:0 0 0 3px var(--code-prompt)}@supports (color:color-mix(in lab, red, red)){.ctf__input-row:focus-within{box-shadow:0 0 0 3px color-mix(in oklab, var(--code-prompt) 25%, transparent)}}.ctf__prompt{color:var(--code-prompt);padding-left:.75rem;font-weight:700}.ctf__input{min-width:0;color:var(--code-ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.625rem .5rem}.ctf__input::placeholder{color:var(--code-comment)}.ctf__submit{background:var(--code-prompt);color:var(--code-bg);font:inherit;cursor:pointer;border:0;border-radius:.375rem;margin:.25rem;padding:.375rem .875rem;font-weight:700}.ctf__submit:focus-visible{outline:2px solid var(--code-ink);outline-offset:2px}.ctf__feedback{min-height:1.7em;color:var(--code-muted);margin-top:.5rem;font-size:.875rem}.ctf[data-result=right] .ctf__feedback{color:var(--code-string)}.ctf[data-result=wrong] .ctf__feedback,.ctf[data-result=again] .ctf__feedback{color:#ffd866}.ctf__success{border:1px solid var(--code-string);padding:1rem 1.125rem}@supports (color:color-mix(in lab, red, red)){.ctf__success{border:1px solid color-mix(in oklab, var(--code-string) 55%, transparent)}}.ctf__success{background:var(--code-string);border-radius:.5rem}@supports (color:color-mix(in lab, red, red)){.ctf__success{background:color-mix(in oklab, var(--code-string) 10%, transparent)}}.ctf__success{color:var(--code-ink)}.ctf__success-title{color:var(--code-string);margin-bottom:.25rem;font-weight:700}@media (prefers-reduced-motion:no-preference){.ctf[data-result=wrong] .ctf__input-row{animation:.35s ctf-shake}.ctf__flag[data-found=true]{animation:.6s ctf-found}}@keyframes ctf-shake{25%{translate:-6px}75%{translate:6px}}@keyframes ctf-found{0%{background:color-mix(in oklab, var(--code-string) 35%, transparent)}}.photo-collage{--gap:clamp(.5rem, 1.2vw, 1rem);columns:1;column-gap:var(--gap)}@media (width>=36rem){.photo-collage{columns:2}}@media (width>=64rem){.photo-collage--3{columns:3}.photo-collage--4{columns:4}}.photo-collage__item{margin-bottom:var(--gap);break-inside:avoid;display:block}.photo-collage__item img{background:var(--paper-raised);width:100%;display:block}.photo-collage__caption{color:var(--ink-soft);font-size:var(--text-step--1);margin-top:.375rem}.figure-content{max-width:var(--container-measure)}.figure-full{margin-inline:calc(-1*clamp(1rem,4vw,2.5rem))}.figure-caption{color:var(--ink-soft);font-size:var(--text-step--1);margin-top:.75rem}.empty-state{max-width:var(--container-measure);border:1px dashed var(--line);color:var(--ink-soft);border-radius:.625rem;gap:.5rem;padding:2rem;display:grid}.empty-state strong{color:var(--ink)}.featured-photos__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;display:flex}.featured-photos__head .section-header{flex:24rem}.filmstrip-controls{gap:.5rem;margin-bottom:clamp(2rem,4vw,3.5rem);display:flex}@media (width<=40rem){.filmstrip-controls{display:none}}.filmstrip{--strip-height:clamp(15rem, 42vw, 32rem);--edge:max(clamp(1rem, 4vw, 2.5rem), (100vw - var(--container-page)) / 2 + clamp(1rem, 4vw, 2.5rem));overscroll-behavior-x:contain;padding-inline:var(--edge);scroll-padding-inline:var(--edge);scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;gap:clamp(.5rem,1.2vw,1rem);padding-bottom:.75rem;display:flex;overflow-x:auto}.filmstrip:focus-visible{outline-offset:-2px}.filmstrip__item{scroll-snap-align:start;flex:none}.filmstrip__item img{width:auto;max-width:min(80vw,56rem);height:var(--strip-height);object-fit:cover;background:var(--paper-raised);display:block}.photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.photo-button img{transition:opacity .2s ease, scale .4s var(--ease-out-quint)}.photo-button:hover img{opacity:.92}.featured-photos__caption{color:var(--ink-soft);font-size:var(--text-step--1);margin-top:.5rem}.featured-photos .photo-collage{margin-top:0}.no-js img.img-load:not(.logos__image),.js img.img-load:not([data-loaded]){background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.no-js img.img-load:not(.logos__image),.js img.img-load:not([data-loaded]){background-color:color-mix(in oklab, var(--ink) 7%, var(--paper))}}.js img.img-load:not([data-loaded]){color:#0000;background-image:linear-gradient(100deg, transparent 20%, var(--paper) 50%, transparent 80%)}@supports (color:color-mix(in lab, red, red)){.js img.img-load:not([data-loaded]){background-image:linear-gradient(100deg, transparent 20%, color-mix(in oklab, var(--paper) 55%, transparent) 50%, transparent 80%)}}.js img.img-load:not([data-loaded]){background-repeat:no-repeat;background-size:220% 100%;animation:1.3s ease-in-out infinite img-shimmer}.js img.img-load[data-loaded=load]{animation:img-focus .65s var(--ease-out-quint)}@keyframes img-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes img-focus{0%{opacity:0;filter:blur(12px);scale:1.02}to{opacity:1;filter:blur();scale:1}}.lightbox__stage:after{content:"";border:3px solid var(--lightbox-ink);width:2.75rem;height:2.75rem;position:absolute;top:50%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.lightbox__stage:after{border:3px solid color-mix(in oklab, var(--lightbox-ink) 25%, transparent)}}.lightbox__stage:after{border-top-color:var(--accent);opacity:0;pointer-events:none;border-radius:999px;transition:opacity .2s .15s;animation:.8s linear infinite spin}.lightbox__stage:has(.lightbox__image[data-loading]):after{opacity:1}@keyframes spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.js img.img-load:not([data-loaded]),.js img.img-load[data-loaded=load]{animation:none}}.unlock{place-items:center;min-height:70dvh;padding-block:3rem;display:grid}.unlock__panel{text-align:center;width:min(100%,30rem)}.unlock__panel h1{font-size:var(--text-step-3)}.unlock__eyebrow{color:var(--accent);font-size:var(--text-step--1);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;font-weight:650}.unlock--with-cover{align-items:center;gap:clamp(2rem,5vw,4rem)}@media (width>=56rem){.unlock--with-cover{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);place-items:center stretch}}.unlock--with-cover .unlock__panel{justify-self:center}.unlock__cover{border-radius:.75rem;margin:0;overflow:hidden;box-shadow:0 2rem 3rem -2rem #00000080}.unlock__cover img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}@media (width<=55.99rem){.unlock__cover img{aspect-ratio:3/2}}.captcha,.code-wall__captcha{--altcha-border-radius:.5rem;--altcha-border-color:var(--line);--altcha-color-base:var(--paper-raised);--altcha-color-base-content:var(--ink);--altcha-color-primary:var(--accent);--altcha-color-neutral:var(--ink-soft);--altcha-color-error:var(--danger);--altcha-spinner-color:var(--accent);--altcha-max-width:100%;text-align:left}.unlock__panel>p{color:var(--ink-soft);margin-top:.75rem}.unlock__form{gap:1rem;margin-top:2rem;display:grid}.field-label{font-size:var(--text-step--1);color:var(--ink-soft)}.code-input{border:1px solid var(--line);background:var(--paper-raised);width:100%;color:var(--ink);font:inherit;font-size:var(--text-step-2);letter-spacing:.18em;text-align:center;text-transform:uppercase;font-variant-numeric:tabular-nums;border-radius:.5rem;padding:.875rem 1rem;font-weight:650}.code-input::placeholder{color:var(--line);letter-spacing:.18em}.code-input:focus-visible{border-color:var(--accent);outline-offset:2px}.code-input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--text-step--1)}.notice{background:var(--accent-soft);font-size:var(--text-step--1);border-radius:.5rem;padding:.75rem 1rem}.text-input{border:1px solid var(--line);background:var(--paper-raised);width:100%;color:var(--ink);font:inherit;border-radius:.5rem;padding:.75rem .875rem}.text-input:focus-visible{border-color:var(--accent);outline-offset:2px}.text-input[aria-invalid=true]{border-color:var(--danger)}textarea.text-input{resize:vertical;min-height:7rem}.contact__layout{gap:2.5rem 4rem;display:grid}@media (width>=56rem){.contact__layout--details{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.contact__details{gap:1.25rem;display:grid}.contact__details dt{color:var(--ink-soft);font-size:var(--text-step--1)}.contact__socials{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.contact__form{align-content:start;gap:1.25rem;display:grid}.contact__form .button{justify-self:start}.contact__row{gap:1.25rem;display:grid}@media (width>=40rem){.contact__row{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{border:0;gap:.375rem;min-width:0;display:grid}.choice-group{flex-wrap:wrap;gap:.5rem;display:flex}.choice{position:relative}.choice input{opacity:0;position:absolute}.choice span{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.5rem .875rem;transition:background-color .15s,border-color .15s;display:inline-block}.choice input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.contact__trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact__sent{background:var(--accent-soft);font-size:var(--text-step-1);border-radius:.75rem;align-content:start;gap:.75rem;padding:2rem;display:grid}.gallery-body{background:var(--paper);color:var(--ink)}.gallery-topbar{font-size:var(--text-step--1);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.gallery-topbar a{text-decoration:none}.gallery-topbar a:hover{color:var(--ink)}.gallery-header{gap:1.5rem;padding-block:clamp(2rem,6vw,4.5rem) 2rem;display:grid}@media (width>=56rem){.gallery-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.gallery-header h1{letter-spacing:-.03em;font-size:clamp(2rem,1.2rem + 3.5vw,4rem)}.gallery-header__meta{color:var(--ink-soft);margin-top:.5rem}.gallery-header__intro{max-width:var(--container-measure);margin-top:1rem}.gallery-actions{flex-wrap:wrap;gap:.75rem;display:flex}.gallery-status{margin-bottom:1.5rem}.gallery-item{position:relative}.gallery-photo{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.gallery-photo img{transition:opacity .2s}.gallery-photo[style*=--photo-color] img.img-load:not([data-loaded]){background-color:var(--photo-color)}.gallery-photo:hover img{opacity:.88}.gallery-photo:focus-visible{outline-offset:4px}.gallery-empty{padding-block:4rem}.preview-banner{background:var(--accent);color:var(--on-accent);font-size:var(--text-step--1);text-align:center;padding:.5rem 1rem}.favorite-toggle{color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:2.5rem;height:2.5rem;transition:opacity .15s ease, background-color .15s ease, scale .2s var(--ease-out-quint);background:#080b0e73;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:.5rem;right:.5rem}.favorite-toggle svg,.favorite-toggle--lightbox svg{width:1.25rem;height:1.25rem}.gallery-item:hover .favorite-toggle,.favorite-toggle:focus-visible,.favorite-toggle[aria-pressed=true]{opacity:1}@media (hover:none){.favorite-toggle{opacity:1}}.favorite-toggle[aria-pressed=true],.favorite-toggle--lightbox[aria-pressed=true]{background:var(--accent-2);color:var(--on-accent-2)}.favorite-toggle[aria-pressed=true] svg,.favorite-toggle--lightbox[aria-pressed=true] svg{fill:currentColor}.favorite-toggle:active{scale:.9}.favorites-count{background:var(--accent-soft);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:1.5em;padding:.05rem .4rem}[data-favorites-filter][aria-pressed=true]{border-color:var(--accent-2);background:var(--accent-2);color:var(--on-accent-2)}[data-favorites-filter][aria-pressed=true] .favorites-count{background:var(--on-accent-2)}@supports (color:color-mix(in lab, red, red)){[data-favorites-filter][aria-pressed=true] .favorites-count{background:color-mix(in oklab, var(--on-accent-2) 20%, transparent)}}.favorites-panel{border:1px solid var(--line);background:var(--paper-raised);border-radius:.625rem;margin-bottom:1.5rem;padding:.75rem 1rem}.favorites-panel summary{cursor:pointer;align-items:center;gap:.5rem;font-weight:600;display:flex}.favorites-panel summary svg{width:1.125rem;height:1.125rem}.favorites-panel__form{gap:.75rem;max-width:36rem;margin-top:1rem;display:grid}.favorites-panel__form .button{justify-self:start}.gallery-opening{color:#fff;isolation:isolate;background:#050506;align-items:end;min-height:min(88svh,60rem);display:grid;position:relative;overflow:hidden}.gallery-opening__image{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gallery-opening:after{content:"";z-index:-1;background:linear-gradient(#0000000d,#00000026 45%,#000000b8);position:absolute;inset:0}.gallery-opening__text{width:100%;max-width:var(--container-page);margin-inline:auto;padding:clamp(2rem,8vh,5rem) clamp(1rem,4vw,2.5rem)}.gallery-opening__eyebrow{font-size:var(--text-step--1);letter-spacing:.22em;text-transform:uppercase;opacity:.85;font-weight:600}.gallery-opening h1{letter-spacing:-.035em;text-wrap:balance;max-width:18ch;margin-top:.5rem;font-size:clamp(2.5rem,1.4rem + 5vw,5.5rem);line-height:1.02}.gallery-opening__date{opacity:.85;margin-top:.75rem}.gallery-opening__go{color:inherit;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff80;border-radius:999px;align-items:center;gap:.5rem;margin-top:clamp(1.5rem,5vh,3rem);padding:.7rem 1.1rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.gallery-opening__go:hover{background:#ffffff24}.gallery-opening__go svg{width:1.125rem;height:1.125rem}.gallery-header--after-opening{padding-top:clamp(1.5rem,4vw,2.5rem)}@media (prefers-reduced-motion:no-preference){.gallery-opening__go svg{animation:2.2s ease-in-out 2s infinite opening-nudge}.js .gallery-opening--shutter img.gallery-opening__image{animation:shutter-open 1.5s var(--ease-out-quint) .25s both}.gallery-opening--shutter .gallery-opening__text{animation:opening-text .9s var(--ease-out-quint) 1.1s both}.gallery-opening--shutter:after{animation:.9s .9s both opening-text}}@keyframes shutter-open{0%{clip-path:polygon(51% 50%,50.5% 50.9%,49.5% 50.9%,49% 50%,49.5% 49.1%,50.5% 49.1%);scale:1.08}35%{clip-path:polygon(62.7% 55.9%,51.2% 63.9%,38.5% 58%,37.3% 44.1%,48.8% 36.1%,61.5% 42%)}to{clip-path:polygon(110% 153.9%,-10% 153.9%,-70% 50%,-10% -53.9%,110% -53.9%,170% 50%);scale:1}}@keyframes opening-text{0%{opacity:0;translate:0 1rem}}@keyframes opening-nudge{0%,to{translate:0}50%{translate:0 .25rem}}.gallery-welcome{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 .625rem .625rem 0;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin-bottom:1.5rem;padding:.875rem 1.125rem;display:flex}.gallery-welcome__hint{color:var(--ink-soft);font-size:var(--text-step--1)}.new-badge{background:var(--accent);color:var(--on-accent);letter-spacing:.04em;border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:650;display:inline-block}.gallery-item__new{pointer-events:none;position:absolute;top:.75rem;left:.75rem;box-shadow:0 2px 10px #00000040}.gallery-letter{border:1px solid var(--line);background:var(--paper-raised);max-width:40rem;box-shadow:0 1px 0 var(--line), 0 18px 40px -24px #00000073;border-radius:.375rem;margin:0 0 2.5rem;padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,3vw,2.25rem);rotate:-.6deg}.gallery-letter blockquote{font-size:var(--text-step-1);white-space:pre-line;margin:0;font-style:italic;line-height:1.6}.gallery-letter figcaption{margin-top:1.25rem;display:grid}.gallery-letter__name{color:var(--accent);font-size:var(--text-step-1);font-style:italic;font-weight:650}.gallery-letter__name:before{content:"— "}.gallery-letter__role{color:var(--ink-soft);font-size:var(--text-step--1)}.gallery-grid--grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:clamp(.375rem,1vw,.75rem);display:grid}.gallery-grid--grid .gallery-item{margin:0}.gallery-grid--grid .gallery-photo img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.gallery-grid--polaroid{--gap:clamp(1.25rem, 3vw, 2.25rem);padding-top:.5rem}.gallery-grid--polaroid .gallery-item{transition:rotate .3s var(--ease-out-quint), scale .3s var(--ease-out-quint), box-shadow .3s ease;background:#fbfaf6;padding:.75rem .75rem 2.75rem;rotate:-1.4deg;box-shadow:0 1px 2px #0000001f,0 14px 30px -18px #00000080}.gallery-grid--polaroid .gallery-item:nth-child(3n+2){rotate:1deg}.gallery-grid--polaroid .gallery-item:nth-child(3n){rotate:-.4deg}.gallery-grid--polaroid .gallery-item:nth-child(5n+4){rotate:1.8deg}.gallery-grid--polaroid .gallery-item:hover,.gallery-grid--polaroid .gallery-item:focus-within{z-index:1;rotate:0deg;scale:1.025;box-shadow:0 2px 4px #0000001f,0 24px 40px -20px #0000008c}.gallery-grid--polaroid .gallery-item__caption{color:#4a4640;font-size:var(--text-step--1);text-align:center;font-style:italic;position:absolute;bottom:.7rem;left:0;right:0}.gallery-grid--polaroid .favorite-toggle{top:1.25rem;right:1.25rem}.gallery-grid--contact{--film:#141210;--edge:#e98a2b;background:var(--film);color:var(--edge);border-radius:.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:1.75rem .875rem;padding:2.25rem clamp(.75rem,2vw,1.5rem);display:grid;position:relative}.gallery-grid--contact:before,.gallery-grid--contact:after{content:"";opacity:.75;background:repeating-linear-gradient(90deg,#0000 0 .5rem,#ece4d6cc .5rem 1.25rem,#0000 1.25rem 1.75rem);border-radius:2px;height:.625rem;position:absolute;left:.75rem;right:.75rem}.gallery-grid--contact:before{top:.75rem}.gallery-grid--contact:after{bottom:.75rem}.gallery-grid--contact .gallery-item{margin:0}.gallery-grid--contact .gallery-photo img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.gallery-grid--contact .gallery-item__caption{letter-spacing:.08em;justify-content:space-between;margin-top:.375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:700;display:flex}.gallery-grid--contact .gallery-item.is-favorite .gallery-photo:after{content:"";pointer-events:none;border:2px solid #e2483d;border-radius:46% 54% 48% 52%/55% 45%;position:absolute;inset:-.3rem;rotate:-2deg}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.gallery-grid--reveal .gallery-item{animation:linear both gallery-reveal;animation-timeline:view();animation-range:entry entry 55%}.gallery-grid--polaroid.gallery-grid--reveal .gallery-item{animation-name:gallery-reveal-drop}}}@keyframes gallery-reveal{0%{opacity:0;translate:0 2rem;scale:.97}}@keyframes gallery-reveal-drop{0%{opacity:0;translate:0 -1.5rem;rotate:-6deg}}.heart-burst{z-index:1000;pointer-events:none;width:0;height:0;position:fixed}.heart-burst span{color:var(--accent-2);font-size:var(--size,.8rem);animation:heart-fly .95s var(--ease-out-quint) var(--delay,0s) both;line-height:1;position:absolute;top:0;left:0;translate:-50% -50%}@keyframes heart-fly{0%{opacity:1;transform:translate(0)scale(.3)}70%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) scale(1)}}.gallery-closing{border-top:1px solid var(--line);text-align:center;justify-items:center;gap:.75rem;margin-bottom:4rem;padding-top:3rem;display:grid}.gallery-closing__text{max-width:36rem;font-size:var(--text-step-1);white-space:pre-line;text-wrap:pretty;font-style:italic;line-height:1.6}.gallery-closing__name{color:var(--accent);font-size:var(--text-step-1);font-style:italic;font-weight:650}.gallery-closing__name:before{content:"— "}.gallery-closing__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.gallery-closing__actions [hidden]{display:none}.unlock--full{isolation:isolate;min-height:calc(100svh - 4.5rem)}body:has(.unlock--full) .gallery-topbar{z-index:1;color:#ffffffd9;position:relative}body:has(.unlock--full) .gallery-topbar a:hover{color:#fff}.unlock--full .unlock__cover{z-index:-1;box-shadow:none;border-radius:0;position:fixed;inset:0}.unlock--full .unlock__cover img{aspect-ratio:auto;object-fit:cover;width:100%;height:100%}.unlock--full .unlock__cover:after{content:"";background:radial-gradient(#00000040,#000000a6);position:absolute;inset:0}@media (width>=56rem){.unlock--full{grid-template-columns:minmax(0,1fr)}}.unlock--full .unlock__panel{background:var(--paper);border:1px solid #ffffff2e;border-radius:1rem;padding:clamp(1.5rem,4vw,2.5rem)}@supports (color:color-mix(in lab, red, red)){.unlock--full .unlock__panel{background:color-mix(in oklab, var(--paper) 72%, transparent)}}.unlock--full .unlock__panel{-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);box-shadow:0 30px 60px -30px #0009}.unlock--polaroid .unlock__cover{background:#fbfaf6;border-radius:2px;justify-self:center;width:min(100%,26rem);padding:.9rem .9rem 3.75rem;overflow:visible;rotate:-3deg;box-shadow:0 2px 4px #00000026,0 30px 50px -28px #0009}.unlock--polaroid .unlock__cover img{aspect-ratio:1}.unlock__polaroid-caption{color:#3f3b35;font-size:var(--text-step-1);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-style:italic;position:absolute;bottom:1.1rem;left:1rem;right:1rem;overflow:hidden}.unlock--polaroid .unlock__cover{position:relative}@media (prefers-reduced-motion:no-preference){.unlock--polaroid .unlock__cover{animation:polaroid-drop .9s var(--ease-out-quint) both}}@keyframes polaroid-drop{0%{opacity:0;translate:0 -2rem;rotate:-10deg}}.js [data-unlock-focus] img{filter:blur(var(--focus-blur,18px));scale:var(--focus-scale,1.16);transition:filter .35s var(--ease-out-quint), scale .35s var(--ease-out-quint)}.unlock__photo{display:block;overflow:hidden}.unlock--full .unlock__photo{height:100%}[data-unlock-viewfinder].is-shooting .viewfinder__corner{animation:corner-shoot .24s var(--ease-out-quint) forwards}@keyframes corner-shoot{to{translate:var(--shoot,0 0)}}[data-unlock-viewfinder].is-shooting .viewfinder__corner--tl{--shoot:.4rem .4rem}[data-unlock-viewfinder].is-shooting .viewfinder__corner--tr{--shoot:-.4rem .4rem}[data-unlock-viewfinder].is-shooting .viewfinder__corner--bl{--shoot:.4rem -.4rem}[data-unlock-viewfinder].is-shooting .viewfinder__corner--br{--shoot:-.4rem -.4rem}.favorite-note{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:2.5rem;height:2.5rem;transition:background-color .15s ease, scale .2s var(--ease-out-quint);background:#080b0e73;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:.5rem;right:3.25rem}.favorite-note[hidden]{display:none}.favorite-note svg{width:1.2rem;height:1.2rem}.favorite-note.has-note,[data-lightbox-note].has-note{background:var(--accent);color:var(--on-accent)}.favorite-note:active{scale:.9}.gallery-grid--polaroid .favorite-note{top:1.25rem;right:4rem}.favorites-panel__hint{color:var(--ink-soft);font-size:var(--text-step--1)}.note-dialog{border:1px solid var(--line);background:var(--paper-raised);width:min(100% - 2rem,28rem);color:var(--ink);border-radius:.875rem;margin:auto;padding:0;box-shadow:0 30px 60px -30px #0009}.note-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c}.note-dialog__form{gap:.75rem;padding:1.25rem;display:grid}.note-dialog__title{font-size:var(--text-step-1)}.note-dialog__help{color:var(--ink-soft);font-size:var(--text-step--1)}.note-dialog__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.note-dialog__actions>span{flex:1}.note-dialog [hidden]{display:none}.chapter-nav{z-index:5;background:var(--paper);margin:0 calc(-1*clamp(1rem,4vw,2.5rem)) 1.5rem;padding:.625rem clamp(1rem,4vw,2.5rem);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.chapter-nav{background:color-mix(in oklab, var(--paper) 86%, transparent)}}.chapter-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.chapter-nav{border-bottom:1px solid color-mix(in oklab, var(--line) 70%, transparent)}}.chapter-nav ul{scrollbar-width:none;gap:.5rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.chapter-nav a{border:1px solid var(--line);color:var(--ink);font-size:var(--text-step--1);white-space:nowrap;border-radius:999px;align-items:baseline;gap:.4rem;padding:.4rem .85rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.chapter-nav a:hover{border-color:var(--accent)}.chapter-nav a[aria-current=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chapter-nav__count{opacity:.7;font-size:.75rem;font-weight:500}.gallery-chapter{scroll-margin-top:4.5rem}.gallery-chapter__title{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-bottom:1.25rem;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);display:flex}.gallery-chapter__title span{color:var(--ink-soft);font-size:var(--text-step--1);letter-spacing:0;font-weight:500}@media (prefers-reduced-motion:no-preference){html:has(.chapter-nav){scroll-behavior:smooth}}.gear__highlights{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:0 0 2rem;display:grid}.gear__highlight{border:1px solid var(--line);background:var(--paper-raised);border-radius:.875rem;padding:1.25rem 1.375rem;position:relative}.gear__highlight:before,.gear__highlight:after{content:"";border-color:var(--accent);border-style:solid;width:.875rem;height:.875rem;position:absolute}.gear__highlight:before{border-width:2px 0 0 2px;top:.5rem;left:.5rem}.gear__highlight:after{border-width:0 2px 2px 0;bottom:.5rem;right:.5rem}.gear__highlight dt{color:var(--ink-soft);font-size:var(--text-step--1)}.gear__highlight dd{letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);font-weight:700;line-height:1.1}.gear__highlight .gear__note{color:var(--ink-soft);font-size:var(--text-step--1);letter-spacing:0;margin-top:.375rem;font-weight:400}.gear__grid{gap:1rem;display:grid}@media (width>=52rem){.gear__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gear__panel{border:1px solid var(--line);border-radius:.875rem;margin:0;padding:1.25rem 1.375rem}@media (width>=52rem){.gear__panel--hours{grid-column:1/-1}}.gear__title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;margin-bottom:1rem;font-weight:650;display:flex}.gear__title span{color:var(--ink-soft);font-size:var(--text-step--1);font-weight:400}.gear__ranks{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.gear__rank{isolation:isolate;border-radius:.5rem;justify-content:space-between;gap:1rem;padding:.5rem .75rem;display:flex;position:relative}.gear__rank:before{content:"";z-index:-1;width:calc(var(--share) * 100%);border-radius:inherit;background:var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.gear__rank:before{background:color-mix(in oklab, var(--accent) 16%, transparent)}}.gear__rank:before{transform-origin:0}.gear__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gear__value{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none}.gear__focal{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.gear__focal li{text-align:center;gap:.25rem;display:grid}.gear__bar{height:max(calc(var(--share) * 7rem), 4px);background:linear-gradient(to top, var(--accent), var(--accent));border-radius:.375rem .375rem 0 0;display:block}@supports (color:color-mix(in lab, red, red)){.gear__bar{background:linear-gradient(to top, var(--accent), color-mix(in oklab, var(--accent) 55%, var(--accent-2)))}}.gear__bar{transform-origin:bottom}.gear__focal-label{font-size:var(--text-step--1);font-weight:600;line-height:1.2}.gear__focal-range{color:var(--ink-soft);font-size:.75rem}.gear__hours{background:linear-gradient(90deg,#1b2240 0%,#3c3f6e 20%,#f2b880 28%,#bfe0f2 40%,#d7ecf7 55%,#f6c27a 76%,#b65d6a 82%,#2e2c55 90%,#1b2240 100%);border-radius:.625rem;grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:3px;height:7rem;margin:0;padding:.5rem;list-style:none;display:grid}.gear__hours li{align-items:flex-end;height:100%;display:flex}.gear__hours span{width:100%;height:max(calc(var(--v) * 100%), 2px);transform-origin:bottom;background:#ffffffe0;border-radius:3px 3px 0 0;display:block;box-shadow:0 0 0 1px #0000001f}.gear__axis{color:var(--ink-soft);justify-content:space-between;margin-top:.375rem;font-size:.75rem;display:flex}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.gear__rank:before,.gear__bar,.gear__hours span{animation:linear both gear-grow;animation-timeline:view();animation-range:entry}.gear__rank:before{animation-name:gear-grow-x}}}@keyframes gear-grow{0%{scale:1 0}}@keyframes gear-grow-x{0%{scale:0 1}}.command-trigger{border:1px solid var(--line);color:var(--ink-soft);font:inherit;font-size:var(--text-step--1);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.5rem;margin-left:auto;padding:.4rem .5rem .4rem .75rem;transition:border-color .15s,color .15s;display:inline-flex}.command-trigger[hidden]{display:none}.command-trigger:hover{border-color:var(--accent);color:var(--ink)}.command-trigger kbd,.command kbd{border:1px solid var(--line);background:var(--paper);border-radius:.375rem;padding:.05rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}@media (width<=40rem){.command-trigger__label,.command-trigger kbd{display:none}.command-trigger{padding:.5rem}}.command{border:1px solid var(--line);background:var(--paper-raised);width:min(100% - 2rem,40rem);max-height:min(70vh,34rem);color:var(--ink);border-radius:1rem;margin:12vh auto auto;padding:0;box-shadow:0 40px 80px -30px #0000008c}.command::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073}.command[open]{animation:command-in .18s var(--ease-out-quint)}@keyframes command-in{0%{opacity:0;translate:0 -.5rem;scale:.98}}.command__box{max-height:inherit;grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.command__search{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.command__icon{width:1.25rem;height:1.25rem;color:var(--ink-soft);flex:none}.command__input{min-width:0;color:inherit;font:inherit;font-size:var(--text-step-1);background:0 0;border:0;outline:none;flex:1;padding:.25rem 0}.command__results{margin:0;padding:.5rem;list-style:none;overflow-y:auto}.command__group{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;padding:.625rem .625rem .25rem;font-size:.75rem;font-weight:600}.command__option{cursor:pointer;border-radius:.625rem;justify-content:space-between;align-items:baseline;gap:1rem;padding:.625rem .75rem;display:flex}.command__option[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.command__title{font-weight:600}.command__hint{min-width:0;color:var(--ink-soft);font-size:var(--text-step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command__option[aria-selected=true] .command__hint{color:inherit;opacity:.8}.command__empty{color:var(--ink-soft);font-size:var(--text-step--1);padding:1rem .75rem}.command__empty:empty{display:none}.command__terminal{color:#b9f6ca;white-space:pre-wrap;background:#0e1116;margin:0;padding:1rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.6;overflow:auto}.command__terminal[hidden]{display:none}.command__footer{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;gap:.5rem 1.25rem;padding:.625rem 1rem;font-size:.75rem;display:flex}.command__footer kbd{margin-right:.25rem}.command__tip{margin-left:auto}.camera-flash:after{content:"";z-index:9999;pointer-events:none;background:#fff;animation:.85s ease-out forwards camera-flash;position:fixed;inset:0}@keyframes camera-flash{0%{opacity:0}8%{opacity:1}to{opacity:0}}.lightbox{background:var(--lightbox);border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}@supports (color:color-mix(in lab, red, red)){.lightbox{background:color-mix(in oklab, var(--lightbox) 84%, var(--photo-tint,var(--lightbox)))}}.lightbox{color:var(--lightbox-ink);overscroll-behavior:contain;transition:background-color .9s}.lightbox::backdrop{background:var(--lightbox)}.lightbox:fullscreen{width:100%;height:100%}.lightbox[open]{animation:lightbox-in .22s var(--ease-out-quint);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.lightbox__bar{font-size:var(--text-step--1);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(.75rem,3vw,1.5rem);display:flex}.lightbox__counter{color:var(--lightbox-muted);font-variant-numeric:tabular-nums}.lightbox__tools{gap:.5rem;display:flex}.lightbox__stage{touch-action:pan-y;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;min-height:0;padding:0 clamp(.5rem,5vw,4.5rem) clamp(.5rem,3vw,2rem);display:grid;position:relative}.lightbox__image{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.lightbox__image[data-loading]{opacity:.4}.lightbox__image.is-entering{animation:lightbox-photo-in .45s var(--ease-out-quint)}@keyframes lightbox-photo-in{0%{opacity:0;scale:.985}}.lightbox__progress{background:var(--lightbox-ink);border-radius:2px;height:2px;position:absolute;bottom:0;left:clamp(.5rem,5vw,4.5rem);right:clamp(.5rem,5vw,4.5rem)}@supports (color:color-mix(in lab, red, red)){.lightbox__progress{background:color-mix(in oklab, var(--lightbox-ink) 14%, transparent)}}.lightbox__progress{pointer-events:none;overflow:hidden}.lightbox__progress[hidden]{display:none}.lightbox__progress:after{content:"";background:var(--accent);transform-origin:0;position:absolute;inset:0;scale:0 1}.lightbox__progress.is-running:after{animation:lightbox-progress var(--slide-duration,5s) linear forwards}@keyframes lightbox-progress{to{scale:1}}.lightbox__tempo{border:1px solid var(--lightbox-line);min-width:3.25rem;height:2.75rem;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:999px;padding-inline:.75rem}.lightbox__tempo:hover{border-color:var(--accent)}.lightbox__tempo[hidden],[data-lightbox-play] .lightbox__icon-pause,[data-lightbox-play][aria-pressed=true] .lightbox__icon-play{display:none}[data-lightbox-play][aria-pressed=true] .lightbox__icon-pause{display:block}[data-lightbox-play][aria-pressed=true],[data-lightbox-fullscreen][aria-pressed=true]{border-color:var(--lightbox-ink)}.lightbox[data-playing] .lightbox__bar,.lightbox[data-playing] .lightbox__nav,.lightbox[data-playing] .lightbox__info{transition:opacity .4s}.lightbox[data-playing][data-idle]{cursor:none}.lightbox[data-playing][data-idle] .lightbox__bar,.lightbox[data-playing][data-idle] .lightbox__nav,.lightbox[data-playing][data-idle] .lightbox__info{opacity:0}.icon-button{border:1px solid var(--lightbox-line);width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;background:0 0;border-radius:999px;place-items:center;text-decoration:none;display:inline-grid}.icon-button:hover{border-color:var(--accent)}.icon-button svg{width:1.25rem;height:1.25rem}.lightbox__nav{background:var(--lightbox);position:absolute;top:50%;translate:0 -50%}@supports (color:color-mix(in lab, red, red)){.lightbox__nav{background:color-mix(in oklab, var(--lightbox) 60%, transparent)}}.lightbox__nav--prev{left:clamp(.5rem,1.5vw,1.25rem)}.lightbox__nav--next{right:clamp(.5rem,1.5vw,1.25rem)}@media (width<=40rem){.lightbox__nav{display:none}}.lightbox__info{padding:.875rem clamp(.75rem, 3vw, 1.5rem) max(1rem, env(safe-area-inset-bottom));border-top:1px solid var(--lightbox-line);font-size:var(--text-step--1);text-align:center;justify-items:center;gap:.5rem;display:grid}.lightbox__info[hidden]{display:none}.lightbox__caption{color:var(--lightbox-ink);font-weight:600}.lightbox__specs{flex-wrap:wrap;justify-content:center;gap:.375rem 1.75rem;margin:0;display:flex}.lightbox__specs div{align-items:baseline;gap:.5rem;display:flex}.lightbox__specs dt{color:var(--lightbox-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.lightbox__specs dd{color:var(--lightbox-ink);margin:0}.lightbox__palette{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lightbox__swatch{background:var(--swatch);width:1.25rem;height:1.25rem;box-shadow:inset 0 0 0 1px var(--lightbox-ink);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.lightbox__swatch{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--lightbox-ink) 22%, transparent)}}[data-lightbox-info-toggle][aria-pressed=true]{border-color:var(--lightbox-ink)}@media (width<=40rem){.lightbox__specs{text-align:left;justify-items:start;gap:.25rem;display:grid}.lightbox__specs div{grid-template-columns:6.5rem minmax(0,1fr);display:grid}}@media (prefers-reduced-motion:reduce){.lightbox{transition:none}}@media (prefers-reduced-motion:no-preference){.lightbox__info:not([hidden]){animation:lightbox-in .2s var(--ease-out-quint)}}@keyframes lightbox-in{0%{opacity:0}}.is-vibrant .block--hero:not([data-tone]):not(:has(.hero--backdrop)){isolation:isolate;overflow-x:clip}.is-vibrant .block--hero:not([data-tone]):not(:has(.hero--backdrop)):before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side at 35% 40%, var(--accent), transparent), radial-gradient(closest-side at 65% 62%, var(--accent-2), transparent);width:min(60rem,90vw);position:absolute;inset:-20% -10% auto auto}@supports (color:color-mix(in lab, red, red)){.is-vibrant .block--hero:not([data-tone]):not(:has(.hero--backdrop)):before{background:radial-gradient(closest-side at 35% 40%, color-mix(in oklab, var(--accent) 26%, transparent), transparent), radial-gradient(closest-side at 65% 62%, color-mix(in oklab, var(--accent-2) 24%, transparent), transparent)}}.is-vibrant .block--hero:not([data-tone]):not(:has(.hero--backdrop)):before{filter:blur(24px);pointer-events:none}.is-vibrant .viewfinder__corner--tr,.is-vibrant .viewfinder__corner--bl{border-color:var(--accent-2)}.is-vibrant .section-header:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;width:2.75rem;height:.3125rem}.is-vibrant .skill-group{border-top-color:var(--accent)}.is-vibrant .skill-group:nth-child(3n+2){border-top-color:var(--accent-2)}.is-vibrant .skill-group:nth-child(3n+3){border-top-color:var(--ink)}.is-vibrant .availability:before{background:var(--accent-2);box-shadow:0 0 0 4px var(--accent-2-soft)}.is-vibrant .timeline__period{color:var(--accent);font-weight:600}.is-vibrant .browser-frame__placeholder{background:radial-gradient(circle at 85% 15%, var(--accent-2), transparent 55%), var(--accent)}@supports (color:color-mix(in lab, red, red)){.is-vibrant .browser-frame__placeholder{background:radial-gradient(circle at 85% 15%, color-mix(in oklab, var(--accent-2) 70%, transparent), transparent 55%), var(--accent)}}.is-vibrant .site-footer{background:linear-gradient(90deg, var(--accent), var(--accent-2)) top / 100% 3px no-repeat;border-top:0}.is-vibrant .site-brand__name:after{content:"";background:var(--accent-2);border-radius:50%;width:.4em;height:.4em;margin-left:.15em;display:inline-block}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.aspect-square{aspect-ratio:1}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.min-h-0{min-height:0}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[var\(--container-measure\)\]{max-width:var(--container-measure)}.max-w-xl{max-width:var(--container-xl)}.grow{flex-grow:1}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-paper{background-color:var(--paper)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[length\:var\(--text-step--1\)\]{font-size:var(--text-step--1)}.text-\[length\:var\(--text-step-3\)\]{font-size:var(--text-step-3)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-amber-900{color:var(--color-amber-900)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-ink-soft{color:var(--ink-soft)}.text-red-700{color:var(--color-red-700)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}@media (width>=40rem){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.md\:items-end{align-items:flex-end}}@media (width>=64rem){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:text-amber-200{color:var(--color-amber-200)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-red-400{color:var(--color-red-400)}}}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/build/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/build/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/build/assets/schibsted-grotesk-latin-ext-wght-italic-DXGbHdV-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/build/assets/schibsted-grotesk-latin-wght-italic-DtRJvQ1U.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#2f6f8f;--brand-2:#c8693a;--tint:4%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=dark],[data-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,[data-scheme]{--paper:var(--lightningcss-light,var(--brand))var(--lightningcss-dark,var(--brand))}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme]{--paper:var(--lightningcss-light,color-mix(in oklab, var(--brand) var(--tint), #f5f6f4))var(--lightningcss-dark,color-mix(in oklab, var(--brand) calc(var(--tint) * 1.5), #0d1216))}}:root,[data-scheme]{--paper-raised:var(--lightningcss-light,var(--brand))var(--lightningcss-dark,var(--brand))}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme]{--paper-raised:var(--lightningcss-light,color-mix(in oklab, var(--brand) calc(var(--tint) / 2), #fcfcfb))var(--lightningcss-dark,color-mix(in oklab, var(--brand) calc(var(--tint) * 1.5), #151c21))}}:root,[data-scheme]{--ink:var(--lightningcss-light,var(--brand))var(--lightningcss-dark,var(--brand))}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme]{--ink:var(--lightningcss-light,color-mix(in oklab, var(--brand) 20%, #10171c))var(--lightningcss-dark,color-mix(in oklab, var(--brand) 6%, #e9edeb))}}:root,[data-scheme]{--ink-soft:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme]{--ink-soft:color-mix(in oklab, var(--ink) 70%, var(--paper))}}:root,[data-scheme]{--line:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme]{--line:color-mix(in oklab, var(--ink) 17%, var(--paper))}}:root,[data-scheme]{--danger:var(--lightningcss-light,#a3322a)var(--lightningcss-dark,#ec8b80)}:root,[data-scheme],[data-brand]{--accent:var(--lightningcss-light,var(--brand))var(--lightningcss-dark,var(--brand))}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme],[data-brand]{--accent:var(--lightningcss-light,var(--brand))var(--lightningcss-dark,color-mix(in oklab, var(--brand) 62%, #fff))}}:root,[data-scheme],[data-brand]{--accent-2:var(--lightningcss-light,var(--brand-2))var(--lightningcss-dark,var(--brand-2))}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme],[data-brand]{--accent-2:var(--lightningcss-light,var(--brand-2))var(--lightningcss-dark,color-mix(in oklab, var(--brand-2) 70%, #fff))}}:root,[data-scheme],[data-brand]{--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1216);--on-accent-2:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1216);--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme],[data-brand]{--accent-soft:color-mix(in oklab, var(--accent) 15%, var(--paper))}}:root,[data-scheme],[data-brand]{--accent-2-soft:var(--accent-2)}@supports (color:color-mix(in lab, red, red)){:root,[data-scheme],[data-brand]{--accent-2-soft:color-mix(in oklab, var(--accent-2) 15%, var(--paper))}}:root,[data-scheme],[data-brand]{--brand-accent:var(--accent);--brand-accent-2:var(--accent-2);--brand-on-accent:var(--on-accent);--brand-on-accent-2:var(--on-accent-2)}@supports (color:oklch(from red l c h)){:root,[data-scheme],[data-brand]{--accent:var(--lightningcss-light,oklch(from var(--brand) min(l, .55) c h))var(--lightningcss-dark,oklch(from var(--brand) max(l, .76) min(c, .16) h));--accent-2:var(--lightningcss-light,oklch(from var(--brand-2) min(l, .58) c h))var(--lightningcss-dark,oklch(from var(--brand-2) max(l, .74) min(c, .17) h))}}.theme-darkroom{--tint:1%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--lightbox:#090d10;--lightbox-ink:#e3e9e7;--lightbox-muted:#93a5ab;--lightbox-line:#23323b}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:.17s cubic-bezier(.4,0,1,1) both vt-leave}::view-transition-new(root){animation:.42s var(--ease-out-quint) 50ms both vt-enter}html:active-view-transition-type(terug)::view-transition-old(root){animation-name:vt-leave-back}html:active-view-transition-type(terug)::view-transition-new(root){animation-name:vt-enter-back}::view-transition-group(*.morph){animation-duration:.52s;animation-timing-function:var(--ease-out-quint)}::view-transition-old(*.morph){object-fit:cover;height:100%;overflow:clip}::view-transition-new(*.morph){object-fit:cover;height:100%;overflow:clip}::view-transition-group(site-header){animation-duration:.3s}@keyframes vt-leave{to{opacity:0;translate:0 -.75rem}}@keyframes vt-enter{0%{opacity:0;translate:0 1.25rem}}@keyframes vt-leave-back{to{opacity:0;translate:0 .75rem}}@keyframes vt-enter-back{0%{opacity:0;translate:0 -1.25rem}}html:active-view-transition-type(entree-shutter)::view-transition{background:#000}html:active-view-transition-type(entree-shutter)::view-transition-old(root){animation:.42s cubic-bezier(.55,0,.9,.45) both vt-iris-close}html:active-view-transition-type(entree-shutter)::view-transition-new(root){animation:1.1s var(--ease-out-quint) .48s both vt-iris-open}html:active-view-transition-type(entree-flash)::view-transition{background:#fff}html:active-view-transition-type(entree-flash)::view-transition-old(root){animation:70ms linear both vt-gone}html:active-view-transition-type(entree-flash)::view-transition-new(root){animation:1s cubic-bezier(.2,.7,.3,1) .14s both vt-from-flash}html:active-view-transition-type(entree-develop)::view-transition{background:#1b0504}html:active-view-transition-type(entree-develop)::view-transition-old(root){animation:.35s ease-in both vt-gone}html:active-view-transition-type(entree-develop)::view-transition-new(root){animation:2.2s ease-out .25s both vt-develop}html.entrance-play[data-entrance=shutter] body{animation:1.1s var(--ease-out-quint) both vt-iris-open}html.entrance-play[data-entrance=flash] body{animation:1s cubic-bezier(.2,.7,.3,1) both vt-from-flash}html.entrance-play[data-entrance=develop] body{animation:2.2s ease-out both vt-develop}html.entrance-play[data-entrance=shutter]{background:#000}html.entrance-play[data-entrance=flash]{background:#fff}html.entrance-play[data-entrance=develop]{background:#1b0504}html[data-entrance=shutter] .gallery-opening--shutter img.gallery-opening__image{animation:none}@keyframes vt-iris-close{0%{clip-path:polygon(110% 153.9%,-10% 153.9%,-70% 50%,-10% -53.9%,110% -53.9%,170% 50%)}to{clip-path:polygon(51% 50%,50.5% 50.9%,49.5% 50.9%,49% 50%,49.5% 49.1%,50.5% 49.1%)}}@keyframes vt-iris-open{0%{clip-path:polygon(51% 50%,50.5% 50.9%,49.5% 50.9%,49% 50%,49.5% 49.1%,50.5% 49.1%)}35%{clip-path:polygon(62.7% 55.9%,51.2% 63.9%,38.5% 58%,37.3% 44.1%,48.8% 36.1%,61.5% 42%)}to{clip-path:polygon(110% 153.9%,-10% 153.9%,-70% 50%,-10% -53.9%,110% -53.9%,170% 50%)}}@keyframes vt-gone{to{opacity:0}}@keyframes vt-from-flash{0%{opacity:0;filter:brightness(2.4)saturate(.4)}}@keyframes vt-develop{0%{opacity:0;filter:sepia()saturate(4)hue-rotate(-28deg)brightness(.25)contrast(1.3)blur(3px)}35%{opacity:1;filter:sepia()saturate(3)hue-rotate(-28deg)brightness(.55)contrast(1.2)blur(1px)}to{filter:none}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.block{position:relative}.block[data-tone]{background:var(--paper);color:var(--ink)}.block:not([data-tone])+.block:not([data-tone])>.section{border-top:1px solid var(--line)}.block[data-tone=soft]{--paper:var(--accent-soft);--paper-raised:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=soft]{--paper-raised:color-mix(in oklab, var(--accent-soft) 60%, var(--lightningcss-light,#fff)var(--lightningcss-dark,#000))}}.block[data-tone=soft]{--ink-soft:var(--ink)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=soft]{--ink-soft:color-mix(in oklab, var(--ink) 74%, var(--paper))}}.block[data-tone=soft]{--accent:var(--brand-accent)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=soft]{--accent:color-mix(in oklab, var(--brand-accent) 70%, var(--ink))}}.block[data-tone=soft]{--accent-2:var(--brand-accent-2)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=soft]{--accent-2:color-mix(in oklab, var(--brand-accent-2) 70%, var(--ink))}}.block[data-tone=soft]{--line:var(--brand-accent)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=soft]{--line:color-mix(in oklab, var(--brand-accent) 24%, var(--paper))}}.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--ink-soft:var(--ink);--line:var(--ink)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--line:color-mix(in oklab, var(--ink) 28%, var(--paper))}}.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--paper-raised:var(--ink)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--paper-raised:color-mix(in oklab, var(--ink) 8%, var(--paper))}}.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--accent:var(--ink);--on-accent:var(--paper);--accent-soft:var(--ink)}@supports (color:color-mix(in lab, red, red)){.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--accent-soft:color-mix(in oklab, var(--ink) 16%, var(--paper))}}.block[data-tone=accent],.block[data-tone=accent-2],.block[data-tone=custom]{--accent-2:var(--ink)}.block[data-tone=accent]{--paper:var(--brand-accent);--ink:var(--brand-on-accent)}.block[data-tone=accent-2]{--paper:var(--brand-accent-2);--ink:var(--brand-on-accent-2)}.block[data-tone=custom]{--paper:var(--tone);--ink:var(--tone-ink)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
