@layer base{:root{--color-black:#000;--color-blackish:#0f0f0f;--color-white:#fff;--color-whiteish:#f0f0f0;--book-inset:0rem;--menu-width:20em;--menu-toggle-size:2.125em;--caption-width:16rem;--hairline:.0625rem;--transition-bg:.2s;--transition-text:.1s;--transition-cover:.3s;--ease-in:cubic-bezier(.32, 0, .67, 0);--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-in-out:cubic-bezier(.66, 0, .34, 1)}:root,:where([class*=theme-]){--color-theme-light:var(--color-whiteish);--color-theme-dark:var(--color-blackish);--color-theme-accent:light-dark(var(--color-white),var(--color-black));--color-bg:light-dark(var(--color-theme-light),var(--color-theme-dark));--color-text:light-dark(var(--color-theme-dark),var(--color-theme-light));--color-text-hs:light-dark(var(--color-theme-dark),var(--color-theme-light));--color-text-ps:contrast-color(var(--color-bg));--color-text-muted:color-mix(in srgb, currentColor 70%, transparent);--color-text-faded:color-mix(in srgb, currentColor 50%, transparent);--color-text-link:color-mix(in srgb, currentColor 85%, transparent);--color-underline-link:color-mix(in srgb, currentColor 33%, transparent);--color-separator:color-mix(in srgb, currentColor 12%, transparent);--color-bg-drawer:var(--color-theme-accent);--color-text-drawer:contrast-color(var(--color-bg-drawer));--color-shadow-book:light-dark(color-mix(in srgb, var(--color-black) 10%, transparent),var(--color-black));--color-shadow-overlay:light-dark(color-mix(in srgb, var(--color-black) 8%, transparent),color-mix(in srgb, var(--color-black) 12%, transparent));--color-shadow-drawer:light-dark(color-mix(in srgb, var(--color-bg-drawer) 80%, var(--color-black)),color-mix(in srgb, var(--color-bg-drawer) 60%, var(--color-black)))}:where(*){box-sizing:border-box}:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,hr,pre){margin:0}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(ul,ol){margin:0;padding:0;list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,video){max-width:100%;height:auto}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button,a){-webkit-tap-highlight-color:color-mix(in srgb, currentColor 33%, transparent)}:where(:focus-visible){outline:calc(var(--hairline) * 3) solid var(--color-text);outline-offset:calc(var(--hairline) * 2);outline-style:dotted}html{color-scheme:light;background-color:var(--color-bg);scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100%;&.no-snap{scroll-snap-type:none}}body{font-optical-sizing:auto;min-height:100%;color:var(--color-text);margin:0;font-family:Outfit,sans-serif;font-size:1rem;font-weight:300;line-height:1.4}::selection{background-color:var(--color-text);color:var(--color-bg)}}@layer themes{.scheme-light{color-scheme:light;--scheme-inverted:dark}.scheme-dark{color-scheme:dark;--scheme-inverted:light}.theme-granite{--color-theme-light:#c7c7cc;--color-theme-dark:#54565b;--color-theme-accent:light-dark(#9ba5ac,#616e77)}.theme-bubblegum{--color-theme-light:#ffcde6;--color-theme-dark:#2e5880;--color-theme-accent:light-dark(#76b5d8,#b33963)}.theme-ember{--color-theme-light:light-dark(#cc7a7c,#ca6567);--color-theme-dark:#304454;--color-theme-accent:light-dark(#6b7c89,#644e5a)}.theme-vanilla{--color-theme-light:#ffebaf;--color-theme-dark:#187085;--color-theme-accent:light-dark(#4c9db0,#ffebaf)}.theme-cosmos{--color-theme-light:#d4d9d5;--color-theme-dark:#202a30;--color-theme-accent:light-dark(#748c92,#124e65)}.theme-vintage{--color-theme-light:#fce9d2;--color-theme-dark:light-dark(#e74933,#244857);--color-theme-accent:light-dark(#91aead,#cf3723)}.theme-vineyard{--color-theme-light:#b2b4a0;--color-theme-dark:#743c3c;--color-theme-accent:light-dark(#8a4747,#e6cfb1)}.theme-colada{--color-theme-light:#f9d67a;--color-theme-dark:light-dark(#c2450b,#0a7c87);--color-theme-accent:light-dark(#0a7c87,#ec7e4b)}}@layer layout{.book{transition:margin-right .3s var(--ease-in-out);position:relative;&[inert]{pointer-events:none;margin-right:var(--menu-width)}.book-booting &{visibility:hidden}}.page{height:100svh;color:var(--color-text-ps);scroll-snap-align:start;content-visibility:auto;contain-intrinsic-size:calc(100vw - var(--book-inset)) 100vh;container:page-container/scroll-state;& p{color:var(--color-text-ps);text-wrap-style:balance;margin:0 0 .8em}& h1{color:var(--color-text-hs);margin-bottom:1.5rem;font-size:1.75rem;font-weight:500}& h2{color:var(--color-text-hs);margin:1.6rem 0 .8rem;font-size:.95rem;font-weight:600}& hr{border:none;border-top:var(--hairline) solid var(--color-underline-link);margin:1.5rem 0}& :first-child{margin-top:0}& :last-child{margin-bottom:0}& .back{margin-bottom:3rem;display:inline-block;&:before{content:"";opacity:.6;background-color:currentColor;width:1em;height:1em;margin-right:-1em;display:inline-block;position:relative;top:.25em;transform:translate(calc(-100% - 1ch));mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHlsZT0ib3BhY2l0eToxOyI+PHBhdGggZmlsbD0ibm9uZSIgICAgIGQ9Im05IDExbC00IDRsNCA0bS00LTRoMTFhNCA0IDAgMCAwIDAtOGgtMSIvPjwvc3ZnPg==);mask-position:50% 66%;mask-size:100%;mask-repeat:no-repeat}}& .social{margin-top:1.5rem}& .note{color:var(--color-text-muted);margin-top:1.5rem}& .copyright{color:var(--color-text-faded);margin-top:1.5rem;font-size:.9em}}.portfolio-page,.quote-page,.break-page{justify-content:center;align-items:center;display:flex}.quote-page,.break-page{text-align:center;padding:2vh 2vh 8vh}.quote,.break-text{font-size:1.25em}}@layer utilities{.stack{flex-direction:column;gap:.12em;display:flex}.serif{--soft:30;--wght:450;--wonk:1;--opsz:60;color:var(--color-text-hs);font-optical-sizing:auto;font-variation-settings:"opsz" var(--opsz), "wght" var(--wght), "SOFT" var(--soft), "WONK" var(--wonk);font-family:Fraunces,serif}.muted{color:var(--color-text-muted)}.faded{color:var(--color-text-faded)}.invert{color-scheme:var(--scheme-inverted,dark);background-color:var(--color-bg);color:var(--color-text);& p{color:inherit}}.amp{font-optical-sizing:auto;font-family:Alice,serif;font-size:1.1em;font-weight:400}del{text-decoration:none;position:relative;&:after{content:" ";background:currentColor;width:calc(100% - .1em);height:.1em;position:absolute;top:55%;left:0}:where(h1,h2,h3,h4,h5,h6) &{&:nth-of-type(odd){&:after{width:100%;transform:rotate(-5deg)}}}:where(p) &{&:nth-of-type(odd){&:after{transform:rotate(-2deg)}}&:nth-of-type(2n+2){&:after{transform:rotate(4deg)}}}}}@layer components{.link-row{flex-wrap:wrap;align-items:baseline;display:flex}.link-list{padding:0;list-style:none;display:inline-block;&>*{display:inline;&:after{content:" ";letter-spacing:1.25em;background-image:linear-gradient(180deg, transparent 0, var(--link-underline-color,var(--color-underline-link)) calc(var(--hairline)), var(--link-underline-color,var(--color-underline-link)) calc(100% - var(--hairline)), transparent 100%);background-position:50% .33em;background-repeat:no-repeat;background-size:var(--hairline) 66%}}}.other-page a,.link-list a,.text-link{padding-inline:var(--hairline);margin-inline:calc(var(--hairline) * -1);color:var(--link-text-color,var(--color-text-link));text-decoration:underline;-webkit-text-decoration-color:var(--link-underline-color,var(--color-underline-link));text-decoration-color:var(--link-underline-color,var(--color-underline-link));text-decoration-thickness:var(--hairline);text-decoration-skip-ink:all;text-underline-position:from-font;text-underline-offset:calc(var(--hairline) * 1);outline-offset:.125rem;transition:color .2s,text-decoration-color .2s,text-decoration-thickness .2s,text-underline-offset .2s;transition-timing-function:var(--ease-in-out);border-radius:.25rem;&:hover,&:focus-visible,&.is-active{color:var(--link-hover-color,currentColor);text-decoration-color:currentColor}&:hover{text-decoration-thickness:calc(var(--hairline) * 2)}}[data-tooltip]{position:relative;&:after{content:attr(data-tooltip);bottom:66%;left:var(--tooltip-align-x,50%);transform:translate(calc(var(--tooltip-align-x,50%) * -1), calc(var(--tooltip-offset,.5rem) * -1));background:var(--tooltip-bg,var(--color-theme-accent));color:var(--tooltip-color,contrast-color(var(--color-theme-accent)));white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--color-shadow-overlay) 0 0 .35rem .1rem;transition:opacity .2s,bottom .2s;transition-timing-function:var(--ease-in-out);border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:400;line-height:1.2;position:absolute}&[data-tooltip-align=left]{--tooltip-align-x:0%}&[data-tooltip-align=right]{--tooltip-align-x:100%}&:hover:after,&:focus-visible:after{opacity:1;bottom:100%}}.toast{z-index:60;background:var(--color-bg-drawer);color:var(--color-text-drawer);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--color-shadow-overlay) 0 0 .4rem .15rem;transition:opacity .2s, color var(--transition-text), background var(--transition-bg);transition-timing-function:var(--ease-in-out);border-radius:.25rem;padding:.375rem .75rem;font-weight:400;line-height:1.2;position:fixed;bottom:2vh;left:2vh;&.is-visible{opacity:1}@media screen and (width<=512px){:has([inert]) &{color:var(--color-text-ps);background:var(--color-bg);bottom:calc(var(--menu-toggle-size) + 2vh)}}}.swatch-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;padding:1rem 1.125rem .25rem;display:flex}.swatch-btn{--tooltip-offset:.66rem;cursor:pointer;width:auto;height:auto;transition:transform .15s;transition-timing-function:var(--ease-in-out);background:0 0;border:.25rem solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative;& .swatch{box-sizing:border-box;border:.125rem solid var(--color-theme-accent);background:var(--color-bg);width:1.25rem;height:1.25rem;color:var(--color-text);transition:transform .15s, color var(--transition-text), background var(--transition-bg), border-color var(--transition-text);transition-timing-function:var(--ease-in-out);border-radius:50%;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;line-height:1;display:flex;&:before{content:"A"}}&:hover,&:focus-visible{& .swatch{transform:scale(1.15)}}&.is-active{border-color:color-mix(in srgb, currentColor 70%, transparent);transform:translateY(-.35rem);& .swatch{border-color:#0000;transform:scale(1.2)}}}.icon-btn{width:var(--icon-btn-size,1.875rem);height:var(--icon-btn-size,1.875rem);cursor:pointer;color:var(--icon-btn-color,currentColor);transition:color .2s;transition-timing-function:var(--ease-in-out);background:0 0;border:none;border-radius:100%;justify-content:center;align-items:center;padding:0;display:flex;position:relative;& svg{width:var(--icon-btn-svg-size,calc(var(--icon-btn-size,1.875rem) / 2));height:var(--icon-btn-svg-size,calc(var(--icon-btn-size,1.875rem) / 2));display:block}&:hover,&:focus-visible{color:var(--icon-btn-color-hover,var(--icon-btn-color,currentColor))}}.copy-btn{--copy-btn-opacity:.66;--icon-btn-size:2rem;--icon-btn-svg-size:1rem;--icon-btn-color:var(--color-text-hs);--icon-btn-color-hover:var(--color-text-hs);--tooltip-offset:0rem;--tooltip-align-x:100%;z-index:1;opacity:var(--copy-btn-opacity,.66);transition:bottom .2s, opacity .2s, display 0s .2s, color var(--transition-text), background var(--transition-bg);transition-behavior:allow-discrete;transition-timing-function:var(--ease-in-out);border-radius:100%;position:absolute;bottom:3vh;right:3vh;transform:translate(1vh,1vh);@starting-style{--copy-btn-opacity:0;bottom:0}.even &{--tooltip-align-x:0%;left:3vh;right:auto;transform:translate(-1vh,1vh)}@media screen and (width<=420px){bottom:var(--padding-bottom,3vh)}&:hover,&:focus-visible{--copy-btn-opacity:1}[inert] &{--copy-btn-opacity:0;display:none}}.scheme-btn{& .icon-sun{display:none}[data-theme=dark] &{& .icon-moon{display:none}& .icon-sun{display:block}}}.secret-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;width:max(4.66vh,4vw);height:max(4.66vh,4vw);margin:0;padding:0;position:absolute;bottom:clamp(64.5%,43vw,95%);left:50%;transform:translate(-50%,50%);&:hover,&:active,&:focus-visible{background:0 0;border:0;outline:none}}.menu-toggle{z-index:45;width:1.875rem;height:8.625rem;color:var(--color-text-drawer);background:var(--color-bg-drawer);cursor:pointer;transition:color var(--transition-text), background var(--transition-bg), opacity .2s .1s, right .3s, bottom .3s, transform .3s, visibility 0s .3s;transition-timing-function:var(--ease-in-out);transition-behavior:allow-discrete;border:none;border-radius:.5rem 0 0 .5rem;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);@starting-style{opacity:1;right:0;transform:translateY(-50%)}:has(.page.is-active.invert) &{color-scheme:var(--scheme-inverted,dark)}:has(.menu-toggle[aria-expanded=true]) &{visibility:hidden;right:var(--menu-width);transform:translate(100%,-50%)}:has(.title-page.is-active) &:not(:focus-visible){opacity:0;visibility:hidden;transform:translate(100%,-50%)}:is(:has(.menu-toggle[aria-expanded=true]) &,:has(.title-page:not(.is-active)) &){transition:color var(--transition-text), background var(--transition-bg), opacity .2s, right .3s, bottom .3s, transform .3s, visibility .3s;transition-timing-function:var(--ease-in-out)}@media (hover){background:color-mix(in srgb, var(--color-bg-drawer) 80%, var(--color-bg));&:hover,&:focus-visible{background:var(--color-bg-drawer)}}& .menu-toggle-word{letter-spacing:.25em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.66em;font-weight:600;display:inline-block;transform:rotate(90deg)}}.menu{--link-text-color:color-mix(in srgb, var(--color-text-drawer) 65%, transparent);--link-hover-color:var(--color-text-drawer);--tooltip-bg:var(--color-bg);--tooltip-color:var(--color-text-ps);width:var(--menu-width);z-index:50;background:var(--color-bg-drawer);color:var(--color-text-drawer);visibility:hidden;box-shadow:color-mix(in srgb, var(--color-shadow-drawer) 100%, transparent) .5rem 0 .5rem -.5rem inset, color-mix(in srgb, var(--color-shadow-drawer) 60%, transparent) 3rem 0 3rem -3rem inset;transition:color var(--transition-text), background var(--transition-bg), transform .3s var(--ease-in-out), visibility 0s linear .3s;transition-timing-function:var(--ease-in-out);position:fixed;top:0;bottom:0;right:0;transform:translate(100%);& :focus-visible{outline-color:var(--color-text-drawer)}:has(.page.is-active.invert) &{color-scheme:var(--scheme-inverted,dark)}:has(.menu-toggle[aria-expanded=true]) &{visibility:visible;transition:color var(--transition-text), background var(--transition-bg), transform .3s, visibility 0s linear 0s;transition-timing-function:var(--ease-in-out);transform:translate(0)}& .menu-container{flex-direction:column;height:100%;padding:1.125rem 0 .75rem;font-weight:300;display:flex}& .menu-head{justify-content:space-between;align-items:baseline;padding:0 1.125rem .625rem;display:flex}& .menu-title{text-transform:uppercase;font-size:.8em;font-weight:600}& .menu-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, currentColor 25%, transparent) transparent;flex:auto;margin:0;padding:.25em 0;list-style:none;position:relative;overflow-y:auto;&::-webkit-scrollbar{width:.375rem}&::-webkit-scrollbar-thumb{background:color-mix(in srgb, currentColor 25%, transparent);border-radius:.1875rem}&::-webkit-scrollbar-track{background:0 0}}& .menu-row{width:100%;font:inherit;color:color-mix(in srgb, currentColor 75%, transparent);text-align:left;cursor:pointer;transition:color .2s;transition-timing-function:var(--ease-in-out);white-space:nowrap;background:0 0;border:none;align-items:baseline;gap:.25rem;margin:0;padding:.25rem 1.125rem;font-size:.9em;line-height:1.35;text-decoration:none;display:flex;&:hover{color:color-mix(in srgb, currentColor 100%, transparent)}&:focus-visible{outline-offset:calc(var(--hairline) * -3)}&.is-active{color:currentColor;font-weight:500;& .menu-num{color:color-mix(in srgb, currentColor 50%, transparent)}}&.menu-row--plain{text-transform:uppercase;color:color-mix(in srgb, currentColor 50%, transparent);font-size:.8em;font-weight:600;&:hover{color:color-mix(in srgb, currentColor 80%, transparent)}&.is-active{color:currentColor}}}& .menu-num{color:color-mix(in srgb, currentColor 25%, transparent);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:1.6em;font-size:.8em;font-weight:800}& .menu-label{text-overflow:ellipsis;overflow:hidden}& .menu-divider{width:90%;height:var(--hairline);background:var(--color-separator);margin:.5rem auto}& .menu-index{color:color-mix(in srgb, currentColor 50%, transparent);font-variant-numeric:tabular-nums;align-items:baseline;gap:.125rem;font-size:.8em;font-weight:600;line-height:1;display:flex}& .menu-slash{opacity:.4;margin:0 .0625rem}& .menu-foot{justify-content:space-between;align-items:center;padding:.5rem 1.125rem 0;display:flex}& .menu-foot-lang,& .menu-foot-scheme{justify-content:flex-end;width:4rem;display:flex}& .menu-foot-nav{gap:.125rem;display:flex}& .menu-foot-lang{justify-content:flex-start;font-size:.9em}& .menu-btn{--icon-btn-color:color-mix(in srgb, currentColor 66%, transparent);--icon-btn-color-hover:currentColor;--tooltip-offset:0rem}}@media screen and (width<=1680px){.book{&[inert]{margin-right:0}}.menu{box-shadow:color-mix(in srgb, var(--color-black) 20%, transparent) 0 0 .5rem 0, color-mix(in srgb, var(--color-black) 10%, transparent) 0 0 3rem 0}}@media screen and (width<=1080px){.menu{height:calc(100svh - var(--menu-toggle-size));border-radius:.5rem .5rem 0 0;max-height:66svh;top:auto;left:50%;transform:translate(-50%,100%);:has(.menu-toggle[aria-expanded=true]) &{transform:translate(-50%)}}.menu-container{height:100%;min-height:0}.menu-toggle{height:var(--menu-toggle-size);border-radius:.5rem .5rem 0 0;width:8.625rem;inset:auto auto 0 50%;transform:translate(-50%);:has(.menu-toggle[aria-expanded=true]) &{bottom:66svh;transform:translate(-50%,100%)}:has(.title-page.is-active) &:not(:focus-visible){transform:translate(-50%,100%)}& .menu-toggle-word{transform:none}}}@media screen and (width<=420px){.menu{border-radius:0;width:100%;left:0;transform:translateY(100%);:has(.menu-toggle[aria-expanded=true]) &{transform:translate(0)}}.menu-toggle{border-radius:0;width:100%;left:0;right:0;transform:translate(0);:has(.menu-toggle[aria-expanded=true]) &{transform:translateY(100%)}:has(.title-page.is-active) &:not(:focus-visible){transform:translateY(100%)}}}}@layer pages{.title-page{flex-direction:column;justify-content:center;display:flex;& .cover-image-container{flex:auto;min-height:0;padding:0;display:flex;position:relative;overflow:hidden;& .cover-image--large{z-index:0;position:absolute;inset:0}&.is-loading{& .cover-image--large{opacity:0;filter:blur(10px);transition:opacity .2s var(--ease-in-out), filter .3s var(--ease-in-out) .1s}}&.is-loaded{& .cover-image--large{opacity:1;filter:blur()}}& .cover-image--tiny{object-fit:cover;object-position:center bottom;filter:blur(10px);opacity:0;width:100%;height:100%;transition:opacity .3s var(--ease-in-out);z-index:1;position:absolute;inset:0;transform:scale(1.05)}&.is-loading .cover-image--tiny{opacity:1}&.is-loaded .cover-image--tiny{opacity:0}}& .cover-image{object-fit:cover;object-position:center bottom;width:100%;height:100%}& .cover-title-container{text-align:center;padding:6vh 3vh 10vh;& .title{letter-spacing:-.02em;font-size:clamp(1.5rem,.54rem + 5.13vw,3rem)}}}.quote-container{text-align:left;width:clamp(22rem,11.13rem + 43.48vw,32rem);margin:0 auto;& .quote{color:var(--color-text-hs)}& .quote-meta{color:var(--color-text-muted);text-align:right;margin-top:5rem;font-size:.875em;&>*{margin:0}& .link-row{justify-content:flex-end}}}.etc-page{text-align:center;scroll-snap-align:end;flex-direction:column;gap:.1em;& .link-row{justify-content:center}& .title{margin:0 0 1rem;font-size:clamp(1.4rem,1.07rem + 1.53vw,1.8rem);font-weight:500}& .substack{color-scheme:light}}.portfolio-page{--image-gap:clamp(1.2rem, -1.03rem + 4.66vw, 1.875rem);--image-width:calc(100vw - 6vh - var(--image-gap) - var(--caption-width) - var(--menu-toggle-size));--image-height:calc(100svh - 3vh - var(--padding-bottom,3vh));--image-size:min(var(--image-width), var(--image-height));padding:3vh;padding-bottom:var(--padding-bottom,3vh);gap:var(--image-gap);position:relative;& .image-container{max-width:var(--image-size);z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;& .image-source{width:min(var(--image-size), calc(var(--image-w,1) * 1px), calc(var(--image-size) * var(--image-w,1) / var(--image-h,1)));height:min(var(--image-size), calc(var(--image-h,1) * 1px), calc(var(--image-size) * var(--image-h,1) / var(--image-w,1)));object-fit:contain;border-radius:.25rem}}& .text-container{flex-direction:column;flex:0 auto;width:fit-content;min-width:min-content;max-width:min(33vw,31.25rem);margin-top:-4vh;display:flex;& .title{white-space:nowrap;min-width:8rem;margin-bottom:clamp(.5625rem,3.88vw - 1.23rem,1.125rem);font-size:clamp(1.4rem,3.28vw - .17rem,1.875rem)}& .caption{white-space:pre-line;text-wrap-style:balance;font-size:clamp(.9em,.4rem + 1.03vw,1.05em);line-height:clamp(1.3em,.97em + .69vw,1.4em)}}&:where(.odd){& .image-container{justify-content:flex-start}& .text-container{text-align:left;&>*{justify-self:flex-start}}}&:where(.even){& .image-container{order:2;justify-content:flex-end}& .text-container{text-align:right;order:1;&>*{justify-self:flex-end}}}@media screen and (width<=1680px){padding-right:calc(1.875rem + 2vh)}@media screen and (width<=1080px){--padding-bottom:calc(var(--menu-toggle-size) + 3vh);--image-width:100vw;--image-height:calc((100svh - 3vh - var(--padding-bottom) - 6rem));--image-offset:min(0, calc(50% - var(--image-size) / 2));flex-direction:column;gap:2vh;padding-right:3vh;&.odd{align-items:flex-start}&.even{align-items:flex-end}& .image-container{order:revert-layer;&.image-landscape{width:100%;max-width:var(--image-size);justify-content:center;.odd &{margin-left:var(--image-offset)}.even &{margin-right:var(--image-offset)}& .image-source{max-width:var(--image-size);border-radius:min(calc(100vw - var(--image-size)), .25rem)}}}& .text-container{order:revert-layer;width:auto;margin-top:revert-layer;max-width:min(var(--image-size), 31.25rem)}}}.other-page{flex-direction:column;justify-content:center;height:auto;min-height:100svh;padding:0;display:flex;& .wrap{order:0;max-width:45rem;margin:0 auto;padding:8vh 5vh}& .footer{color:var(--color-text-drawer);background:var(--color-bg-drawer);border-top:calc(var(--hairline) * 1) solid var(--color-separator);flex-wrap:wrap;order:1;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:3vh 5vh;display:flex;position:sticky;bottom:0;left:0;right:0;&>*{margin:0}& .title{order:2;font-size:1.25rem;line-height:1}& .back{order:0;margin-bottom:0;&:before{margin-right:1ch;transform:none}}& .copyright{order:1}@media screen and (width<=1080px){gap:.5rem;& .title{order:1}& .copyright{flex-basis:100%;order:2}}}}.imprint-page{place-content:flex-start space-between;& h2{text-transform:uppercase}}.error-page{--padding-bottom:calc(6vh + 1.25rem);padding-bottom:var(--padding-bottom);& .portfolio-page{--padding-bottom:3vh;align-items:center;height:100%}& .image-container{--image-size:min(var(--image-width), 66svh)}& .text-container{margin-top:0;@media screen and (width<=1080px){text-align:center;align-items:center}}& .footer{position:fixed}}}@layer animations{@keyframes fade{0%,to{opacity:0;transform:scale(1.05)}33%,66%{opacity:1;transform:scale(1)}}@keyframes move{0%{opacity:0;transform:translate(calc(var(--animation-move-x,0rem) * 1), calc(var(--animation-move-y,0rem) * 1))}33%{opacity:1}50%{transform:translate(0)}66%{opacity:1}to{opacity:0;transform:translate(calc(var(--animation-move-x,0rem) * 1), calc(var(--animation-move-y,0rem) * -1))}}@keyframes copy{0%,to{opacity:0}33%,66%{opacity:var(--copy-btn-opacity,.66)}}@keyframes veil-start{0%{--veil-start:1}to{--veil-start:0}}@keyframes veil-end{0%{--veil-end:0}to{--veil-end:1}}:where(html,body,footer){transition:background var(--transition-bg) var(--ease-in-out) 0s}:where(.page,.quote,.title,.caption){transition:color var(--transition-text) var(--ease-in-out) 0s}@media screen{@supports (animation-timeline:view()){.page{view-timeline-name:--timeline-page;view-timeline-axis:block;view-timeline-inset:25svh 25svh}.copy-btn{animation:1ms linear both copy;animation-timeline:view(calc(90vh - 4rem) 0);animation-range:entry-crossing contain}.quote,.quote-meta,.break-text,.quote-container{--animation-move-y:24svh;animation:1ms linear both move;animation-timeline:--timeline-page;animation-range:entry 25% exit 75%}.cover-image-container,.image-container{animation:1ms linear both fade;animation-timeline:--timeline-page;animation-range:entry exit}.cover-title-container{--animation-move-y:-12svh}.text-container{--animation-move-y:8svh}.cover-title-container,.text-container{animation:1ms linear both move;animation-timeline:--timeline-page;animation-range:entry exit;@media screen and (width<=1080px){--animation-move-y:0rem;animation-range:entry exit;.odd &{--animation-move-x:12vw}.even &{--animation-move-x:-12vw}}}}@supports (animation-timeline:scroll()){.veil{--veil-size:2.5em;mask-image:linear-gradient(to bottom, #0000 0, var(--color-black) calc(var(--veil-size) * max(0, 1 - var(--veil-start))), var(--color-black) calc(100% - var(--veil-size) * max(0, 1 - var(--veil-end))), #0000 100%);animation-name:veil-start,veil-end;animation-duration:0s,0s;animation-timing-function:linear,linear;animation-iteration-count:1,1;animation-direction:normal,normal;animation-play-state:running,running;animation-delay:0s,0s;animation-fill-mode:both,both;animation-timeline:scroll(self);animation-range:0 calc(var(--veil-size) * 2), calc(100% - var(--veil-size) * 2) 100%;animation-duration:1ms}}}}@layer responsive{.hint-mobile{display:none}@media (pointer:coarse){.hint-desktop{display:none}.hint-mobile{display:inline}}}@layer overrides{[hidden]{visibility:hidden;pointer-events:none;display:none}.no-transitions{scroll-behavior:auto;& *{transition:none!important;animation:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media (prefers-contrast:more){:root{--color-theme-light:var(--color-whiteish);--color-theme-dark:var(--color-blackish);--color-theme-accent:light-dark(var(--color-white),var(--color-black))}}@media (prefers-contrast:less){:root{--color-theme-light:#c7c7c7;--color-theme-dark:#585858;--color-theme-accent:light-dark(#aaa,#767676)}}@media (forced-colors:active){:root{color-scheme:auto;--color-theme-light:var(--color-white);--color-theme-dark:var(--color-black);--color-theme-accent:var(--color-white);--color-text-link:LinkText}}@media print{:root{--color-theme-light:var(--color-white);--color-theme-dark:var(--color-black);--color-theme-accent:var(--color-white);--menu-width:0;--margin-top:8mm;--margin-bottom:16mm;--margin-inner:8mm;--margin-outer:16mm;--portfolio-gap:10mm;--caption-width:90mm}@page{size:landscape;margin:0}@page:first{margin:0 var(--margin-inner) 0 var(--margin-inner)}@page:left{margin:0 var(--margin-outer) 0 var(--margin-inner)}@page:right{margin:0 var(--margin-inner) 0 var(--margin-outer)}html,body{color-scheme:light;color:var(--color-black);background:0 0;margin:0;padding:0;font-size:14pt;line-height:1.4}nav,button,iframe,.menu,.menu-toggle,.instructions{display:none}a{color:inherit;border-bottom:none;text-decoration:underline}a:after{content:" (" attr(href) ")"}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}p{orphans:3;widows:3}.page{page-break-before:always;padding:var(--margin-top) 0 var(--margin-bottom) 0;content-visibility:visible;margin:0;position:static}.title-page{page-break-before:unset;& .cover-title-container{padding:var(--margin-top) 0;font-size:38pt}}.portfolio-page{--image-width:calc(100vw - var(--portfolio-gap) - var(--caption-width));--image-height:calc(100vh - var(--margin-top) - var(--margin-bottom));gap:var(--portfolio-gap);& .text-container{width:var(--caption-width);& .title{margin-bottom:8pt;font-size:18pt}& .caption{font-size:10pt}& del{text-decoration:line-through;&:after{content:none}}}}.invert{color:revert;background:revert;color-scheme:light}.title{font-size:20pt}.copyright{margin-top:0}}}@property --veil-start{syntax:"<number>";inherits:false;initial-value:1}@property --veil-end{syntax:"<number>";inherits:false;initial-value:0}
/*$vite$:1*/