.jf-page{--jf-name: clamp(4.4rem, 2rem + 10.5vw, 10.5rem)}.jf-page .gf-cover{--gf-cover-size: var(--jf-name)}.jf-cover-it{font-size:1.08em;line-height:.86}.jf-cover-foot{display:grid;gap:1.5rem;width:100%;margin-top:.25rem}.jf-role{margin:0;max-width:26em;font-size:clamp(1.15rem,1rem + .55vw,1.5rem);line-height:1.5;color:var(--ink-200);text-wrap:pretty}.jf-role .gf-it{font-size:1.12em}.jf-meta{display:flex;flex-wrap:wrap;gap:.6rem 0;list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--ink-300)}.jf-meta li+li:before{content:"";display:inline-block;vertical-align:.2em;width:4px;height:4px;margin-inline:.9rem;border-radius:50%;background:var(--gold-500)}.jf-meta strong{font-weight:500;color:var(--bone-100)}@media(max-width:767px){.jf-meta{flex-direction:column;gap:.4rem}.jf-meta li:before{content:"";display:inline-block;vertical-align:.2em;width:4px;height:4px;margin:0 .75rem 0 0;border-radius:50%;background:var(--gold-500)}.jf-meta li+li:before{margin:0 .75rem 0 0}}.jf-seal{--w: min(46vw, 12rem);position:absolute;top:calc(var(--header-h) + 1.5rem);right:calc(var(--w) * -.3);width:var(--w);aspect-ratio:1;opacity:.4}@media(max-width:767px){.jf-seal{-webkit-mask-image:linear-gradient(to left,#000 30%,transparent 78%);mask-image:linear-gradient(to left,#000 30%,transparent 78%)}}.jf-seal-glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(212,168,90,.26),rgba(212,168,90,.06) 60%,transparent)}.jf-seal-spin{position:absolute;inset:0}.jf-seal-svg{display:block;width:100%;height:100%;overflow:visible}.jf-seal-c{fill:none;stroke:#e6c47d57;stroke-width:1;vector-effect:non-scaling-stroke}.jf-seal-c--in{stroke:#e6c47d80}.jf-seal-c--dash{stroke:#e6c47d33;stroke-dasharray:2 6}.jf-seal-t{stroke:#e6c47d66;stroke-width:1;vector-effect:non-scaling-stroke}.jf-seal-t.is-major{stroke:var(--gold-400);stroke-width:1.4}.jf-seal-txt{font:400 21px var(--font-mono);fill:var(--gold-300)}.jf-seal-star{fill:var(--gold-300);filter:drop-shadow(0 0 6px rgba(240,217,163,.9))}.jf-seal-mark{position:absolute;top:50%;left:50%;width:34%;height:auto;translate:-50% -50%;filter:drop-shadow(0 0 30px rgba(212,168,90,.35))}@media(min-width:768px){.jf-seal{--w: min(40vw, 22rem);right:calc(var(--w) * -.12);top:calc(var(--header-h) + 2.5rem);opacity:.75}}@media(min-width:1024px){.jf-seal{--w: min(32vw, 32rem);right:auto;left:calc(max(var(--gf-pad-l),(100vw - var(--gf-max)) / 2 + var(--gf-pad-l)) + 4.4 * var(--jf-name) + 3rem);top:calc(var(--header-h) + 3.5rem);opacity:1}}.jf-bio{overflow-x:clip}.jf-bio:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(42% 50% at 10% 60%,rgba(212,168,90,.07),transparent 70%)}.jf-quote{display:none}.jf-lead{margin:0;max-width:14em;font:500 clamp(2rem,.9rem + 3.9vw,5.2rem) / 1.04 "JF Bricolage bloc",var(--gf-display);font-variation-settings:"opsz" 96;letter-spacing:-.042em;text-wrap:balance;color:var(--bone-100)}.jf-prose{margin-top:clamp(2.5rem,6vw,4.5rem);max-width:40rem}.jf-prose p{margin:0 0 1.4rem;font-size:var(--fs-body-lg);line-height:1.72;color:var(--ink-200);text-wrap:pretty}.jf-prose p:last-child{margin-bottom:0}@media(min-width:1024px){.jf-bio-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}.jf-bio-side{position:sticky;top:calc(var(--header-h) + 3rem)}.jf-quote{position:relative;display:block;margin:clamp(3rem,7vw,5rem) 0 0;padding-top:1.5rem;border-top:1px solid var(--gf-line);font:500 clamp(1.5rem,.9rem + 1.2vw,2.3rem) / 1.12 var(--gf-display);letter-spacing:-.03em;color:var(--bone-100)}.jf-quote .gf-it{font-size:1.08em}.jf-quote-mark{display:block;height:.62em;margin-bottom:.1em;font:italic 400 3.2em / 1 var(--font-serif);color:var(--gold-400)}}.jf-projects{overflow-x:clip}.jf-proj-list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--gf-line)}.jf-proj{position:relative;border-top:1px solid var(--gf-line)}.jf-proj-link{position:relative;isolation:isolate;display:grid;gap:1.5rem;padding-block:clamp(2rem,5vw,3.75rem);color:var(--bone-100)}.jf-proj-link:before{content:"";position:absolute;inset:0 -4vw;z-index:-1;background:radial-gradient(50% 80% at 78% 50%,var(--case-glow, rgba(212, 168, 90, .12)),transparent 70%);opacity:0;transition:opacity .6s var(--ease-out)}.jf-proj-link:is(:hover,:focus-visible){color:var(--bone-100)}.jf-proj-link:is(:hover,:focus-visible):before{opacity:.55}.jf-proj-rank{display:none;color:var(--ink-400);transition:color var(--dur-base) var(--ease-out)}.jf-proj-text{display:grid;align-content:start;gap:1rem}.jf-proj-head{display:grid;gap:.6rem}.jf-proj-name{margin:0;font:500 clamp(2rem,1.2rem + 2.6vw,3.9rem) / 1 var(--gf-display);font-variation-settings:"opsz" 96;letter-spacing:-.042em;transition:color var(--dur-base) var(--ease-out)}.jf-proj-role{color:var(--gold-400)}.jf-proj-d{max-width:36em;font-size:1.04rem;line-height:1.7;color:var(--ink-200);text-wrap:pretty}.jf-proj-more{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem;font-weight:500;color:var(--gold-400)}.jf-proj-more svg{transition:translate var(--dur-base) var(--ease-out)}.jf-proj-media{display:block;order:-1;transition:translate .6s var(--ease-out)}.jf-proj-link:is(:hover,:focus-visible) .jf-proj-name{color:var(--gold-300)}.jf-proj-link:is(:hover,:focus-visible) .jf-proj-rank{color:var(--gold-400)}.jf-proj-link:is(:hover,:focus-visible) .jf-proj-more svg{translate:4px 0}.jf-proj-link:is(:hover,:focus-visible) .jf-proj-media{translate:0 -6px}@media(min-width:768px){.jf-proj-media{width:min(100%,36rem)}}@media(min-width:1024px){.jf-proj-link{grid-template-columns:3.5rem minmax(0,1fr) minmax(0,38%);column-gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center}.jf-proj-rank{display:block;align-self:start;padding-top:.9rem}.jf-proj-media{order:0;width:auto}.jf-proj:nth-child(2n) .jf-proj-media{rotate:1.2deg}.jf-proj:nth-child(odd) .jf-proj-media{rotate:-1.2deg}.jf-proj .jf-proj-media{transition:translate .6s var(--ease-out),rotate .6s var(--ease-out)}.jf-proj .jf-proj-link:is(:hover,:focus-visible) .jf-proj-media{rotate:0deg}}.jf-story .gf-h2{max-width:12em}.jf-dir{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--gf-line)}.jf-dir-item{border-top:1px solid var(--gf-line)}.jf-dir-link{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label arrow" "handle arrow" "note arrow";align-items:center;gap:.35rem 1rem;padding:clamp(1.4rem,3vw,2.1rem) 0;color:var(--bone-100)}.jf-dir-link:before{content:"";position:absolute;inset:0 -1.25rem;z-index:-1;background:linear-gradient(90deg,rgba(212,168,90,.1),rgba(212,168,90,.02) 70%,transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease-out)}.jf-dir-link:is(:hover,:focus-visible){color:var(--bone-100)}.jf-dir-link:is(:hover,:focus-visible):before{transform:none}.jf-dir-label{grid-area:label;color:var(--gold-400)}.jf-dir-handle{grid-area:handle;min-width:0;overflow-wrap:anywhere;font:500 clamp(1.55rem,.95rem + 2.4vw,3.4rem) / 1.08 var(--gf-display);font-variation-settings:"opsz" 96;letter-spacing:-.035em;transition:translate .6s var(--ease-out),color var(--dur-base) var(--ease-out)}.jf-dir-note{grid-area:note;font-size:.92rem;color:var(--ink-300)}.jf-dir-arrow{grid-area:arrow;color:var(--gold-400);transition:rotate .6s var(--ease-out),translate .6s var(--ease-out)}.jf-dir-link:is(:hover,:focus-visible) .jf-dir-handle{translate:.5rem 0;color:var(--gold-300)}.jf-dir-link:is(:hover,:focus-visible) .jf-dir-arrow{rotate:45deg}@media(min-width:1024px){.jf-dir-link{grid-template-columns:minmax(0,2.4fr) minmax(0,6fr) minmax(0,3fr) auto;grid-template-areas:"label handle note arrow";column-gap:clamp(1.5rem,3vw,3rem)}}.jf-proj .bf-img{--sd: sd-px;--sd-range: cover;--px: .035}@media(prefers-reduced-motion:no-preference){.jf-seal-spin{animation:jf-spin 120s linear infinite}}@media(prefers-reduced-motion:reduce){.jf-seal-spin{animation:none!important}}@keyframes jf-spin{to{rotate:360deg}}
