.sf-hero,.sf-facts,.sf-family,.sf-split,.sf-closing{--sf-body:1.0625rem;--sf-lede:clamp(1.0625rem, 1.3vw, 1.25rem);--sf-h2:clamp(2.1rem, 4.4vw, 4rem);--sf-timber:#3a2415}.sf-cap{font-family:var(--portfolio-font-mono);font-size:var(--sf-body);text-wrap:pretty;line-height:1.5}.pf-page .sf-facts h2,.pf-page .sf-split-words h2,.pf-page .sf-closing h2,.sf-h1-pkg{text-wrap:balance}.sf-hero{background:var(--pf-ink);color:var(--pf-paper);grid-template-columns:1fr;display:grid;position:relative}.sf-hero-media{height:58svh;position:relative;overflow:hidden}.sf-hero-scrim{display:none}.sf-hero-words{flex-direction:column;gap:1.1rem;padding:1.75rem 1rem 2.5rem;display:flex}.sf-h1{flex-direction:column;gap:.7rem;margin:0;font-weight:400;display:flex}.sf-h1-proj,.sf-h1-area{font-family:var(--portfolio-font-mono);font-size:var(--sf-body);letter-spacing:.02em;color:#f4f4f0d1}.sf-h1-pkg{font-family:var(--portfolio-font-display);letter-spacing:-.01em;max-width:14ch;padding-bottom:.14em;font-size:clamp(3rem,6vw,6.25rem);font-weight:500;line-height:.98}.sf-role{font-size:var(--sf-lede);color:#f4f4f0e6;max-width:44ch;line-height:1.55}.sf-hero .sf-cap{color:#f4f4f0a8;max-width:52ch}@media (width>=900px){.sf-hero{min-height:100svh;display:block;overflow:hidden}.sf-hero-media{height:auto;position:absolute;inset:0}.sf-hero-scrim{z-index:1;pointer-events:none;background:linear-gradient(#0a0a0a00 40%,#0a0a0ab8 62%,#0a0a0af2 84%,#0a0a0af7 100%);display:block;position:absolute;inset:0}.sf-hero-words{z-index:3;pointer-events:none;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:1.1rem clamp(2rem,4vw,4.5rem);padding:clamp(2rem,4vw,3.5rem) clamp(7rem,10vw,10rem) clamp(2rem,4vw,3.5rem) clamp(2rem,4vw,4rem);display:grid;position:absolute;bottom:0;left:0;right:0}.sf-hero-words .sf-h1{grid-area:1/1/span 2}.sf-hero-words .sf-role{grid-area:1/2}.sf-hero-words .sf-cap{grid-area:2/2}.sf-h1-pkg{max-width:none}}@media (prefers-reduced-motion:no-preference){.sf-hero-words>*{animation:sf-up .9s var(--pf-ease) both}.sf-hero-words>:nth-child(2){animation-delay:80ms}.sf-hero-words>:nth-child(3){animation-delay:.14s}@keyframes sf-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.sf-facts{background:var(--pf-paper);color:var(--pf-ink);padding:clamp(3.5rem,10vw,8rem) clamp(1rem,6vw,5rem) clamp(2.5rem,6vw,4rem)}.sf-facts-inner{gap:clamp(2rem,5vw,3.25rem);max-width:62rem;margin:0 auto;display:grid}.pf-page .sf-facts h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--sf-h2);max-width:16ch;line-height:1.02}.sf-dl{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,4vw,3rem);margin:0;display:grid}.sf-dl div{flex-direction:column;gap:.35rem;display:flex}.sf-dl dt{font-family:var(--portfolio-font-mono);font-size:var(--sf-body);opacity:.66}.sf-dl dd{margin:0;font-size:clamp(1.1875rem,1.8vw,1.375rem);font-weight:500;line-height:1.35}.sf-facts-desc{font-size:var(--sf-lede);color:#0a0a0ad6;max-width:60ch;line-height:1.62}.sf-family{background:var(--pf-paper);color:var(--pf-ink);justify-content:center;padding:clamp(1rem,4vw,2.5rem) 1rem clamp(3rem,8vw,5rem);display:flex}.sf-family-link{font-family:var(--portfolio-font-mono);font-size:var(--sf-body);text-underline-offset:.25em;text-align:center;text-decoration-thickness:1px}.sf-family-link:focus-visible{outline-offset:4px;outline:2px solid}.sf-split{background:var(--sf-ground,var(--pf-ink));color:var(--sf-fg,var(--pf-paper));grid-template-columns:1fr;display:grid}.sf-split[data-ground=paper]{--sf-ground:var(--pf-paper);--sf-fg:var(--pf-ink);--sf-soft:#0a0a0ac7}.sf-split[data-ground=ink]{--sf-ground:var(--pf-ink);--sf-fg:var(--pf-paper);--sf-soft:#f4f4f0cc}.sf-split[data-ground=blue]{--sf-ground:var(--pf-blue);--sf-fg:var(--pf-paper);--sf-soft:#f4f4f0e6}.sf-split[data-ground=timber]{--sf-ground:var(--sf-timber);--sf-fg:var(--pf-paper);--sf-soft:#f4f4f0d1}.sf-split-figure{flex-direction:column;margin:0;display:flex}.sf-split-media{height:58svh;position:relative;overflow:hidden}.sf-split-figure[data-portrait] .sf-split-media{height:78svh}.sf-split-media[data-zoom] .pf-scene-img{max-width:none;width:calc(100% * var(--sf-zoom));height:calc(100% * var(--sf-zoom));inset:auto;left:calc((100% - 100% * var(--sf-zoom)) * var(--sf-fx));top:calc((100% - 100% * var(--sf-zoom)) * var(--sf-fy))}.sf-split-figure .sf-cap{color:var(--sf-soft);max-width:58ch;padding:.9rem 1rem 0}.sf-split-words{flex-direction:column;justify-content:center;gap:1.4rem;padding:2.75rem 1rem 3.5rem;display:flex}.pf-page .sf-split-words h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--sf-h2);max-width:13ch;line-height:1}.sf-split-words p{font-size:var(--sf-lede);color:var(--sf-soft);max-width:44ch;line-height:1.6}.sf-items{flex-direction:column;gap:clamp(.8rem,1.6vw,1.15rem);margin:.4rem 0;padding:0;list-style:none;display:flex}.sf-items li{font-family:var(--portfolio-font-display);font-size:clamp(1.45rem,2.3vw,2rem);font-weight:500;line-height:1.12}@media (width>=900px){.sf-items li{max-width:22ch}.sf-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh}.sf-split[data-side=right] .sf-split-figure{order:2}.sf-split-media,.sf-split-figure[data-portrait] .sf-split-media{flex:1;height:auto;min-height:70svh}.sf-split-figure .sf-cap{padding:1rem clamp(1.5rem,3vw,2.5rem) 1.5rem}.sf-split-words{gap:1.75rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem)}}.sf-text{--sf-body:1.0625rem;--sf-lede:clamp(1.0625rem, 1.3vw, 1.25rem);--sf-h2:clamp(2.1rem, 4.4vw, 4rem);--sf-timber:#3a2415;background:var(--sf-ground,var(--pf-paper));color:var(--sf-fg,var(--pf-ink));padding:clamp(4rem,11vw,9rem) clamp(1rem,6vw,5rem)}.sf-text[data-ground=paper]{--sf-ground:var(--pf-paper);--sf-fg:var(--pf-ink);--sf-soft:#0a0a0acc}.sf-text[data-ground=ink]{--sf-ground:var(--pf-ink);--sf-fg:var(--pf-paper);--sf-soft:#f4f4f0cc}.sf-text[data-ground=timber]{--sf-ground:var(--sf-timber);--sf-fg:var(--pf-paper);--sf-soft:#f4f4f0d1}.sf-text-inner{gap:clamp(1.75rem,4vw,3rem);max-width:76rem;margin:0 auto;display:grid}.pf-page .sf-text h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--sf-h2);text-wrap:balance;max-width:14ch;line-height:1.02}.sf-text-body{flex-direction:column;gap:1.4rem;display:flex}.sf-text-body p{font-size:var(--sf-lede);color:var(--sf-soft);text-wrap:pretty;max-width:56ch;line-height:1.62}@media (width>=900px){.sf-text-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;column-gap:clamp(3rem,7vw,7rem)}}.pf-page .sf-label{top:var(--pf-nav-clear);z-index:4;backdrop-filter:blur(14px)saturate(1.2);color:#f4f4f0;font-family:var(--portfolio-font-mono);pointer-events:none;background:#0a0a0a6b;border-radius:.9rem;margin:0;padding:.5rem .95rem;font-size:1.0625rem;line-height:1.3;position:absolute;left:clamp(.75rem,2vw,1.5rem)}@supports not (backdrop-filter:blur(1px)){.pf-page .sf-label{background:#0a0a0ab8}}@media (width>=900px){.pf-page .sf-hero .sf-label{top:var(--pf-nav-clear);left:clamp(2rem,4vw,4rem)}}.sf-text-details{flex-direction:column;gap:1.1rem;display:flex}.sf-text-details summary{cursor:pointer;font-family:var(--portfolio-font-mono);font-size:var(--sf-body);color:var(--sf-fg);text-underline-offset:.25em;text-decoration:underline 1px}.sf-text-details summary:focus-visible{outline-offset:4px;outline:2px solid}.sf-text-details[open] summary{margin-bottom:.2rem}.sf-closing{background:var(--pf-blue);color:var(--pf-paper);text-align:center;flex-direction:column;align-items:center;min-height:80svh;padding:clamp(4rem,10vw,8rem) 1rem clamp(2.5rem,6vw,4rem);display:flex}.sf-closing-inner{flex-direction:column;align-items:center;gap:1.5rem;max-width:50rem;margin:auto 0;display:flex}.pf-page .sf-closing-family{margin-top:clamp(3.5rem,9vw,6rem)}.pf-page .sf-closing h2{font-family:var(--portfolio-font-display);max-width:14ch;font-size:clamp(2.4rem,6vw,5.25rem);font-weight:500;line-height:1}.sf-closing-prose{color:#f4f4f0eb;max-width:52ch;font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.6}.sf-closing .sf-cap{color:#f4f4f0db}
