body.forge-page{--paper:var(--forge-paper);--paper-clean:var(--forge-paper-clean);--ink:var(--forge-ink);--muted:var(--forge-muted);--line:var(--forge-line);--glass:var(--forge-glass);--panel:var(--forge-panel);--etch:var(--forge-etch);--soft-shadow:var(--forge-shadow);--ease:cubic-bezier(.22,1,.36,1)}body.forge-page *{box-sizing:border-box}html:has(body.forge-page){scroll-behavior:smooth;scroll-padding-top:100px}body.forge-page{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,Microsoft YaHei,PingFang SC,sans-serif;line-height:1.7;transition:background .65s,color .65s}body.forge-page button,body.forge-page a{-webkit-tap-highlight-color:transparent}body.forge-page button{font:inherit;color:inherit;cursor:pointer}body.forge-page a{color:inherit;text-decoration:none}body.forge-page .skip{color:var(--paper)}body.forge-page button{background:0 0;border:0}body.forge-page button:focus-visible,body.forge-page a:focus-visible,body.forge-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}body.forge-page button:disabled{cursor:default}body.forge-page ::selection{background:var(--accent);color:var(--paper)}body.forge-page .mono,body.forge-page .eyebrow,body.forge-page .work-index{font-family:IBM Plex Mono,Microsoft YaHei,monospace}body.forge-page .eyebrow{letter-spacing:.08em;color:var(--muted);font-size:12px}body.forge-page .heading-dot{color:var(--accent)}body.forge-page .hero{height:320svh;position:relative}body.forge-page .hero-stage{isolation:isolate;height:100svh;min-height:620px;position:sticky;top:0;overflow:clip}body.forge-page[data-chain-scroll-lock=true] .hero-stage{z-index:1;position:fixed;left:0;right:0}body.forge-page .etched-surface{z-index:-2;background:radial-gradient(ellipse at 50% 48%,var(--paper-clean) 0%,var(--paper) 68%);transition:background .65s;position:absolute;inset:0}body.forge-page .etch{width:min(85vw,1244px);height:125%;color:var(--etch);opacity:.65;stroke-width:.8px;will-change:transform;position:absolute}body.forge-page .etch-left{transform:translate3d(0,calc(var(--progress,0) * -28px),0) rotate(-18deg);top:-9%;left:-33%}body.forge-page .etch-right{transform:translate3d(0,calc(var(--progress,0) * 35px),0) rotate(22deg);top:6%;right:-37%}body.forge-page .surface-grain{opacity:.16;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.22' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}html.dark body.forge-page .surface-grain{opacity:.12;mix-blend-mode:screen}body.forge-page .hero-topline{color:var(--muted);letter-spacing:.05em;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:108px;left:7%;right:7%}body.forge-page .hero-topline .mono{letter-spacing:.16em;font-size:10px}body.forge-page .hero-heading{z-index:2;pointer-events:none;transform:translate3d(0,calc(var(--leave,0) * -48px),0);opacity:calc(1 - var(--leave,0));will-change:opacity,transform;position:absolute;top:20%;left:10%}body.forge-page .hero-heading .eyebrow{align-items:center;gap:10px;margin:0 0 12px;display:flex}body.forge-page .tiny-line{background:var(--accent);width:22px;height:1px}body.forge-page h1{letter-spacing:-.075em;margin:0;font-size:clamp(68px,7.4vw,112px);font-weight:600;line-height:1.12}body.forge-page h1 .heading-dot{margin-left:4px}body.forge-page .hero-subtitle{color:var(--muted);letter-spacing:.12em;margin:18px 0 0;font-size:16px}body.forge-page .object-caption{z-index:2;pointer-events:none;opacity:calc(1 - var(--leave,0));transform:translateY(calc(var(--leave,0) * -24px));flex-direction:column;gap:16px;display:flex;position:absolute;top:25%;right:10%}body.forge-page .object-caption .mono{letter-spacing:.1em;color:var(--accent);font-size:10px}body.forge-page .object-caption>span:last-child{color:var(--muted);font-size:13px;line-height:1.9}body.forge-page .scene-wrap{pointer-events:none;position:absolute;inset:0}body.forge-page .scene-wrap:after{content:"";background:radial-gradient(ellipse,var(--forge-object-shadow),transparent 68%);filter:blur(18px);width:45%;height:6%;opacity:calc(.7 - var(--leave,0) * .3);z-index:-1;position:absolute;top:76%;left:28%}html.dark body.forge-page .scene-wrap:after{background:radial-gradient(ellipse,var(--forge-object-shadow),transparent 68%)}body.forge-page #forge-scene{opacity:0;width:100%;height:100%;transition:opacity 1s;display:block}body.forge-page .scene-wrap[data-ready=true] #forge-scene{opacity:1}body.forge-page .scene-fallback{opacity:.85;width:54%;position:absolute;top:32%;left:23%}body.forge-page .scene-wrap[data-ready=true] .scene-fallback{display:none}body.forge-page .arrival-note{z-index:3;opacity:var(--arrive,0);transform:translate3d(0,calc((1 - var(--arrive,0)) * 30px),0);pointer-events:none;position:absolute}body.forge-page .arrival-note.is-active{pointer-events:auto}body.forge-page .arrival-note-left{top:48%;left:10%}body.forge-page .arrival-note-right{text-align:right;top:55%;right:11%}body.forge-page .arrival-note p{letter-spacing:.04em;margin:14px 0 18px;font-size:clamp(19px,2.1vw,30px);line-height:1.7}body.forge-page .arrival-note-left a{border-bottom:1px solid var(--line);padding-bottom:9px;font-size:12px;display:inline-block}body.forge-page .arrival-note-left a span{color:var(--accent);margin-left:18px}body.forge-page .arrival-note-right .mono{color:var(--muted);letter-spacing:.1em;font-size:10px}body.forge-page .small-mark{color:var(--accent);font-size:36px}body.forge-page .hero-bottom{z-index:4;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:36px;left:7%;right:7%}body.forge-page .scroll-cue{color:var(--muted);align-items:center;gap:13px;margin:0;font-size:12px;display:flex}body.forge-page .scroll-icon{border:1px solid var(--line);width:35px;height:35px;color:var(--accent);border-radius:50%;place-items:center;display:grid}body.forge-page .stage-nav{gap:28px;padding-bottom:16px;display:flex;position:relative}body.forge-page .stage-nav button{color:var(--muted);padding:10px 0;font-size:12px;transition:color .3s}body.forge-page .stage-nav button span{margin-right:7px;font-family:IBM Plex Mono,monospace;font-size:10px}body.forge-page .stage-nav button[aria-current=step]{color:var(--accent)}body.forge-page .stage-progress{background:var(--line);width:100%;height:1px;position:absolute;bottom:0}body.forge-page .stage-progress i{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(max(.025,var(--progress,0)));will-change:transform;display:block}body.forge-page .section-wrap{width:84%;max-width:1220px;margin:0 auto}body.forge-page .works{padding-top:105px}body.forge-page .section-heading{justify-content:space-between;align-items:end;margin-bottom:90px;display:flex}body.forge-page .section-heading .eyebrow{margin:0 0 16px}body.forge-page h2{letter-spacing:-.04em;margin:0;font-size:clamp(38px,4.2vw,60px);font-weight:600;line-height:1.25}body.forge-page .section-aside{color:var(--muted);margin:0 0 4px;font-size:14px;line-height:1.9}body.forge-page .work-row{border-bottom:1px solid var(--line);grid-template-columns:1.42fr 1fr;align-items:center;gap:8%;margin-bottom:104px;padding-bottom:104px;display:grid}body.forge-page .work-row-reverse{grid-template-columns:1fr 1.42fr}body.forge-page .work-row-reverse :is(.work-visual,[data-project-placeholder]){order:2}body.forge-page [data-project-placeholder]{aspect-ratio:1.26}body.forge-page .work-row-reverse .work-copy{order:1}body.forge-page .work-visual{aspect-ratio:1.26;text-align:left;background:var(--panel);width:100%;box-shadow:0 24px 64px -40px var(--soft-shadow);isolation:isolate;border-radius:3px;padding:0;display:block;position:relative;overflow:hidden}body.forge-page .work-visual:after{content:"";border:1px solid var(--line);pointer-events:none;border-radius:3px;position:absolute;inset:0}body.forge-page .visual-open{border:1px solid var(--forge-button-line);background:var(--forge-button);-webkit-backdrop-filter:blur(16px);color:var(--forge-preview-ink);z-index:4;transition:transform .35s var(--ease),background .3s;border-radius:3px;align-items:center;gap:20px;padding:9px 14px;font-size:11px;display:flex;position:absolute;bottom:17px;right:18px}body.forge-page .work-visual:hover .visual-open{background:var(--forge-button-hot);transform:translateY(-4px)}body.forge-page .work-index{letter-spacing:.12em;color:var(--accent);font-size:11px}body.forge-page .work-copy h3{letter-spacing:-.04em;margin:15px 0 19px;font-size:40px;font-weight:600;line-height:1.35}body.forge-page .work-copy .work-line{color:var(--ink);margin-bottom:15px;font-size:16px}body.forge-page .work-copy>p{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.95}body.forge-page .work-tags{color:var(--muted);gap:15px;margin:23px 0 27px;font-size:10px;display:flex}body.forge-page .work-tags span{border-bottom:1px solid var(--line);padding-bottom:6px}body.forge-page .text-link{align-items:center;gap:28px;padding:10px 0;font-size:12px;display:flex}body.forge-page .text-link span{color:var(--accent);transition:transform .35s var(--ease)}body.forge-page .text-link:hover span{transform:translate(4px,-4px)}body.forge-page .site-visual{background:var(--forge-preview-mat);justify-content:center;align-items:center;display:flex}body.forge-page .mini-site{background:var(--forge-preview-paper);color:var(--forge-preview-ink);border:1px solid var(--forge-model-line);width:83%;height:79%;box-shadow:4px 26px 35px var(--forge-model-shadow);transition:transform .8s var(--ease);border-radius:3px;position:relative;overflow:hidden;transform:rotate(-5deg)}body.forge-page .mini-nav{border-bottom:1px solid var(--forge-preview-line);justify-content:space-between;padding:14px 19px;font-family:IBM Plex Mono,monospace;font-size:7px;display:flex}body.forge-page .mini-site-body{height:90%;padding:23px 25px;position:relative}body.forge-page .mini-date{color:var(--forge-preview-muted);font-size:7px}body.forge-page .mini-site-body h3{letter-spacing:-.06em;z-index:1;margin:13px 0 15px;font-size:clamp(19px,2.4vw,34px);font-weight:600;line-height:1.35;position:relative}body.forge-page .mini-site-body p{color:var(--forge-preview-muted);z-index:1;font-size:9px;position:relative}body.forge-page .mini-infinity{color:var(--forge-preview-symbol);opacity:.45;font-family:Georgia,serif;font-size:200px;font-weight:400;line-height:1;position:absolute;top:12%;right:-25px;transform:rotate(-18deg)}body.forge-page .mini-posts{z-index:1;flex-direction:column;gap:8px;margin-top:20px;font-size:8px;display:flex;position:relative}body.forge-page .mini-posts span{border-top:1px solid var(--forge-preview-line);padding-top:8px}body.forge-page .desk-visual{background:var(--forge-preview-mat);justify-content:center;align-items:center;display:flex}body.forge-page .mini-editor{background:var(--forge-preview-paper);width:87%;height:77%;color:var(--forge-preview-ink);box-shadow:0 22px 40px var(--forge-editor-shadow);border:1px solid var(--forge-preview-line);transition:transform .8s var(--ease);border-radius:5px;grid-template-columns:26% 74%;display:grid;overflow:hidden;transform:perspective(1100px)rotateY(-9deg)rotate(3deg)}body.forge-page .mini-editor aside{background:var(--forge-editor-sidebar);color:var(--forge-editor-sidebar-ink);flex-direction:column;gap:17px;padding:20px 12px;font-size:9px;display:flex}body.forge-page .editor-logo{color:var(--forge-editor-sidebar-ink);margin-bottom:9px;font-size:14px;font-weight:600}body.forge-page .editor-active{color:var(--forge-editor-sidebar-ink);background:var(--forge-editor-active);border-radius:2px;margin:-5px;padding:5px}body.forge-page .mini-editor aside small{opacity:.6;margin-top:auto;font-size:7px}body.forge-page .editor-top{border-bottom:1px solid var(--forge-preview-line);justify-content:space-between;padding:13px 15px;font-size:9px;display:flex}body.forge-page .editor-top i{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-top:4px}body.forge-page .editor-paper{padding:18px 23px}body.forge-page .editor-date{color:var(--forge-preview-muted);font-size:7px}body.forge-page .editor-paper h3{letter-spacing:-.04em;margin:13px 0 10px;font-size:18px}body.forge-page .editor-paper p{color:var(--forge-preview-muted);font-size:9px;line-height:1.9}body.forge-page .code-sample{background:var(--forge-preview-code);border:1px solid var(--forge-preview-line);border-radius:2px;margin-top:13px;padding:8px 11px;font-family:IBM Plex Mono,monospace}body.forge-page .code-sample>span{color:var(--forge-preview-muted);margin-bottom:7px;font-size:6px;display:block}body.forge-page .code-sample code{color:var(--forge-preview-code-ink);font-size:8px;line-height:1.8}body.forge-page .code-sample b{color:var(--forge-preview-code-key);font-weight:400}body.forge-page .editor-save{text-align:right;color:var(--forge-preview-muted);margin-top:14px;font-size:7px}body.forge-page .editor-save span{color:var(--accent);margin-left:10px}body.forge-page .notebook{border-top:1px solid var(--line);grid-template-columns:1fr 1.45fr;gap:13%;padding:100px 0 120px;display:grid;position:relative}body.forge-page .notebook-heading .eyebrow{margin:0 0 25px}body.forge-page .notebook-heading h2{font-size:45px;line-height:1.35}body.forge-page .notebook-loop{color:var(--accent);margin-top:30px;font-family:Georgia,serif;font-size:72px;font-weight:400;line-height:1;display:block}body.forge-page .notebook-list details{border-top:1px solid var(--line)}body.forge-page .notebook-list details:last-child{border-bottom:1px solid var(--line)}body.forge-page .notebook-list summary{cursor:pointer;align-items:center;gap:22px;padding:24px 0;font-size:16px;list-style:none;display:flex}body.forge-page .notebook-list summary::-webkit-details-marker{display:none}body.forge-page .notebook-list summary .mono{color:var(--accent);font-size:10px}body.forge-page .notebook-list summary i{color:var(--muted);margin-left:auto;font-style:normal;font-weight:400;transition:transform .4s}body.forge-page .notebook-list details[open] summary i{transform:rotate(45deg)}body.forge-page .notebook-list details p{color:var(--muted);margin:0;padding:0 26px 30px 39px;font-size:13px;line-height:2}body.forge-page.js-ready .reveal{opacity:0;transition:opacity .9s var(--ease),transform 1.1s var(--ease);transform:translateY(32px)}body.forge-page.js-ready .reveal.is-visible{opacity:1;transform:none}body.forge-page .project-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}body.forge-page .project-dialog::backdrop{background:0 0}body.forge-page .dialog-scrim{background:var(--forge-dialog-backdrop);-webkit-backdrop-filter:blur(12px);position:absolute;inset:0}body.forge-page .dialog-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;padding:40px 20px;position:absolute;inset:0;overflow:auto}body.forge-page .dialog-flight{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}body.forge-page .dialog-hero{aspect-ratio:1.6;border-radius:4px;margin:26px 0 30px;overflow:hidden}body.forge-page .dialog-hero .work-visual{aspect-ratio:auto;width:100%;height:100%}body.forge-page :is([data-project-card-title],[data-project-title]){max-width:100%;display:inline-block}body.forge-page :is(.dialog-hero,.dialog-flight) .visual-open{display:none}body.forge-page :is(.dialog-hero,.dialog-flight) .work-visual{pointer-events:none}body.forge-page .dialog-flight .work-visual{will-change:transform}body.forge-page .dialog-card{border:1px solid var(--line);background:var(--paper-clean);width:min(840px,100%);box-shadow:0 30px 100px var(--forge-dialog-shadow);border-radius:8px;margin:auto;padding:56px 60px;position:relative}body.forge-page .dialog-close{float:right;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3;border-radius:4px;align-items:center;gap:22px;padding:9px 14px;font-size:11px;display:flex;position:sticky;top:16px}body.forge-page .dialog-close span{font-size:20px;line-height:1}body.forge-page .dialog-card .eyebrow{padding-top:8px}body.forge-page .dialog-card h2{margin:24px 0 20px;font-size:43px}body.forge-page .dialog-intro{color:var(--ink);margin-bottom:30px;font-size:19px;line-height:1.8}body.forge-page .dialog-copy{color:var(--muted);font-size:14px;line-height:2}body.forge-page .dialog-copy h3{color:var(--ink);margin-top:30px;font-size:16px;font-weight:600}body.forge-page .dialog-link{border-bottom:1px solid var(--line);color:var(--accent);gap:32px;margin-top:24px;padding-bottom:8px;font-size:13px;display:inline-flex}body.forge-page .dialog-gallery{margin-top:30px}body.forge-page .dialog-gallery figure{margin:0 0 30px}body.forge-page .dialog-gallery img{object-fit:contain;border-radius:3px;width:100%;max-height:520px;display:block}body.forge-page .dialog-gallery figcaption{color:var(--muted);margin-top:9px;font-size:11px}body.forge-page .dialog-gallery .gallery-image-dark,html.dark body.forge-page .dialog-gallery .has-dark{display:none}html.dark body.forge-page .dialog-gallery .gallery-image-dark{display:block}body.forge-page .connection-copy{text-align:center;z-index:2;pointer-events:none;opacity:var(--connection,0);transform:translateY(calc((1 - var(--connection,0)) * 16px));position:absolute;top:23%;left:20px;right:20px}body.forge-page .connection-copy p{letter-spacing:.03em;margin:0 0 13px;font-size:30px;font-weight:600;line-height:1.4}body.forge-page .connection-copy span{color:var(--muted);letter-spacing:.06em;font-size:12px}@media (max-width:760px){body.forge-page .connection-copy p{font-size:26px}body.forge-page .connection-copy span{font-size:11px}}@media (min-width:761px){body.forge-page .arrival-note-right{top:42%}body.forge-page .arrival-note-right .small-mark{display:none}body.forge-page[data-motion=reduce] .hero-heading{text-align:center;top:19%;left:0;right:0}body.forge-page[data-motion=reduce] .hero-heading .eyebrow{justify-content:center}body.forge-page[data-motion=reduce] .hero-heading h1{font-size:72px}body.forge-page[data-motion=reduce] .hero-subtitle{margin-top:12px;font-size:13px}body.forge-page[data-motion=reduce] .object-caption{display:none}}@media (min-width:1700px){body.forge-page .hero-heading{top:21%;left:15%}body.forge-page .object-caption{right:16%}body.forge-page .arrival-note-left{left:15%}body.forge-page .arrival-note-right{right:16%}body.forge-page .hero-bottom,body.forge-page .hero-topline{left:10%;right:10%}body.forge-page .scene-fallback{width:46%;left:27%}}@media (max-height:750px) and (min-width:761px){body.forge-page .hero-heading{top:23%}body.forge-page .hero-heading h1{font-size:72px}body.forge-page .hero-subtitle{margin-top:10px;font-size:13px}body.forge-page .hero-topline{top:101px}body.forge-page .hero-bottom{bottom:24px}body.forge-page .object-caption{top:25%}body.forge-page .hero-stage{min-height:570px}}@media (max-width:1000px){body.forge-page .hero-heading{left:8%}body.forge-page .object-caption{right:8%}body.forge-page .section-wrap{width:86%}body.forge-page .work-row{gap:6%}body.forge-page .work-copy h3{font-size:33px}body.forge-page .work-copy .work-line{font-size:14px}body.forge-page .work-copy>p{font-size:13px}body.forge-page .mini-site-body{padding:18px}body.forge-page .mini-nav{padding:10px;font-size:6px}body.forge-page .mini-site-body h3{font-size:25px}body.forge-page .editor-paper{padding:12px 14px}body.forge-page .mini-editor aside{gap:14px;padding:16px 10px;font-size:8px}body.forge-page .editor-paper h3{font-size:16px}body.forge-page .code-sample code{font-size:7px}body.forge-page .notebook{gap:8%}body.forge-page .notebook-heading h2{font-size:37px}}@media (max-width:760px){html:has(body.forge-page){scroll-padding-top:84px}body.forge-page .hero{height:270svh}body.forge-page .hero-stage{min-height:600px}body.forge-page .hero-topline{font-size:10px;top:93px;left:24px;right:24px}body.forge-page .hero-topline .mono{display:none}body.forge-page .hero-heading{top:20%;left:28px;right:20px}body.forge-page .hero-heading .eyebrow{margin-bottom:13px;font-size:10px}body.forge-page .hero-heading h1{letter-spacing:-.065em;font-size:72px}body.forge-page .hero-subtitle{margin-top:17px;font-size:13px}body.forge-page .object-caption{text-align:right;gap:10px;top:41%;right:27px}body.forge-page .object-caption .mono{font-size:8px}body.forge-page .object-caption>span:last-child{display:none}body.forge-page .scene-wrap:after{width:70%;height:6%;top:72%;left:15%}body.forge-page .scene-fallback{width:94%;top:42%;left:3%}body.forge-page .hero-bottom{flex-direction:column;align-items:stretch;gap:23px;display:flex;bottom:25px;left:27px;right:27px}body.forge-page .scroll-cue{justify-content:center;gap:10px;font-size:10px}body.forge-page .scroll-icon{width:26px;height:26px}body.forge-page .stage-nav{justify-content:space-between;gap:0;padding-bottom:10px}body.forge-page .stage-nav button{padding:5px 0;font-size:11px}body.forge-page .stage-nav button span{font-size:9px}body.forge-page .arrival-note-left{top:25%;left:28px}body.forge-page .arrival-note-left p{margin:12px 0 13px;font-size:26px}body.forge-page .arrival-note-left .eyebrow,body.forge-page .arrival-note-left a{font-size:10px}body.forge-page .arrival-note-right{top:68%;right:27px}body.forge-page .arrival-note-right p{margin:6px 0;font-size:14px}body.forge-page .arrival-note-right .mono{font-size:8px}body.forge-page .arrival-note-right .small-mark{display:none}body.forge-page .etch{opacity:.6;width:200%}body.forge-page .etch-left{top:-12%;left:-133%}body.forge-page .etch-right{top:20%;right:-140%}body.forge-page .section-wrap{width:calc(100% - 48px)}body.forge-page .works{padding-top:64px}body.forge-page .section-heading{margin-bottom:46px;display:block}body.forge-page .section-heading h2{font-size:35px}body.forge-page .section-heading .eyebrow{margin-bottom:12px;font-size:10px}body.forge-page .section-aside{margin-top:22px;font-size:12px}body.forge-page .section-aside br{display:none}body.forge-page .work-row,body.forge-page .work-row-reverse{flex-direction:column;align-items:stretch;gap:30px;margin-bottom:55px;padding-bottom:55px;display:flex}body.forge-page .work-row-reverse :is(.work-visual,[data-project-placeholder]){order:0}body.forge-page [data-project-placeholder]{aspect-ratio:1.16}body.forge-page .work-row-reverse .work-copy{order:0}body.forge-page .work-visual{aspect-ratio:1.16}body.forge-page .work-copy h3{margin:12px 0 15px;font-size:30px}body.forge-page .work-index{font-size:9px}body.forge-page .work-copy .work-line{margin-bottom:12px;font-size:14px}body.forge-page .work-copy>p{margin-bottom:15px;font-size:13px;line-height:2}body.forge-page .work-tags{margin:16px 0 15px;font-size:10px}body.forge-page .text-link{gap:30px;font-size:12px}body.forge-page .mini-site-body h3{font-size:27px}body.forge-page .mini-site-body{padding:19px}body.forge-page .mini-site-body p{font-size:9px}body.forge-page .mini-posts{gap:6px;margin-top:14px;font-size:7px}body.forge-page .mini-infinity{font-size:180px;top:18%;right:-20px}body.forge-page .mini-editor aside{gap:15px;padding:17px 9px;font-size:7px}body.forge-page .editor-logo{font-size:12px}body.forge-page .editor-paper{padding:13px 17px}body.forge-page .editor-top{font-size:8px}body.forge-page .editor-paper h3{font-size:16px}body.forge-page .editor-paper p{font-size:8px}body.forge-page .code-sample{padding:7px 8px}body.forge-page .code-sample code{font-size:7px}body.forge-page .editor-save{margin-top:10px}body.forge-page .visual-open{padding:7px 11px;font-size:10px;bottom:13px;right:13px}body.forge-page .notebook{padding:57px 0 60px;display:block}body.forge-page .notebook-heading{margin-bottom:38px;position:relative}body.forge-page .notebook-heading .eyebrow{margin-bottom:14px;font-size:10px}body.forge-page .notebook-heading h2{font-size:35px}body.forge-page .notebook-loop{margin:0;font-size:64px;position:absolute;top:30px;right:8px}body.forge-page .notebook-list summary{gap:18px;padding:21px 0;font-size:14px}body.forge-page .notebook-list details p{padding:0 12px 25px 33px;font-size:12px}body.forge-page .dialog-scroll{padding:12px}body.forge-page .dialog-hero{aspect-ratio:1.26}body.forge-page .dialog-card{padding:28px 24px}body.forge-page .dialog-close{gap:15px;padding:7px 10px;top:10px}body.forge-page .dialog-card h2{clear:both;padding-top:8px;font-size:33px}body.forge-page .dialog-card .eyebrow{font-size:9px}body.forge-page .dialog-intro{font-size:17px}body.forge-page .dialog-copy{font-size:13px}body.forge-page .dialog-gallery img{max-height:400px}}@media (max-width:370px){body.forge-page .hero-heading h1{font-size:64px}body.forge-page .section-wrap{width:calc(100% - 40px)}body.forge-page .editor-paper{padding:10px 13px}body.forge-page .editor-save{display:none}body.forge-page .hero-stage{min-height:580px}body.forge-page .arrival-note-right{top:66%}}@media (prefers-reduced-motion:reduce){html:has(body.forge-page){scroll-behavior:auto}body.forge-page *,body.forge-page :before,body.forge-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important}body.forge-page.js-ready .reveal{opacity:1;transform:none}}html:has(body.forge-page[data-motion=reduce]){scroll-behavior:auto}body.forge-page[data-motion=reduce] .hero{height:auto}body.forge-page[data-motion=reduce] .hero-stage{position:relative}body.forge-page[data-motion=reduce] .stage-nav{display:none}body.forge-page[data-motion=reduce] .theme-toggle:hover,body.forge-page[data-motion=reduce] .work-visual:hover .visual-open,body.forge-page[data-motion=reduce] .text-link:hover span{transform:none}body.forge-page[data-motion=reduce] .reveal{opacity:1;transform:none}body.forge-page[data-motion=reduce] *{transition-duration:.01ms!important}body.forge-page .page-inf{display:none}body.forge-page .topbar{z-index:30;background:0 0;min-height:80px;padding:10px 4%;position:fixed;inset:0 0 auto}body.forge-page .topbar:before{box-shadow:none;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}body.forge-page .topbar>.site{letter-spacing:.08em;white-space:nowrap;font-size:12px}body.forge-page .topbar>nav:not(.navpanel){gap:.12rem;font-size:12px}body.forge-page .topbar>nav:not(.navpanel)>a{padding:.4rem .62rem}body.forge-page .hero{margin:0}body.forge-page .section-aside{max-width:22em}body.forge-page .object-caption{max-width:155px}body.forge-page .work-tags{flex-wrap:wrap}body.forge-page .scene-fallback{color:var(--forge-metal)}body.forge-page .dialog-copy :is(h2,h3){letter-spacing:0;color:var(--ink);margin:28px 0 12px;font-size:19px;font-weight:600;line-height:1.5}body.forge-page .dialog-copy p{margin:0 0 16px}body.forge-page .dialog-copy a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}body.forge-page .project-links{flex-wrap:wrap;gap:10px 28px;display:flex}body.forge-page .project-permalink{color:var(--muted);text-underline-offset:5px;margin-top:30px;font-size:11px;text-decoration:underline;display:block}body.forge-page .forge-back{text-align:center;color:var(--muted);padding:28px 0 50px;font-size:12px;display:block}body.forge-page .project-reading{width:min(760px,86%);margin:0 auto;padding:140px 0 90px}body.forge-page .project-reading h1{margin:22px 0;font-size:clamp(38px,5vw,70px)}body.forge-page .project-reading .eyebrow{margin-top:32px}body.forge-page .code-sample code{white-space:pre-wrap}body.forge-page .visual-object{transition:transform .85s var(--ease),filter .7s;will-change:transform}body.forge-page .work-visual{perspective:1100px}body.forge-page .project-images{width:86%;height:80%;margin:auto;position:relative;transform:rotate(-3deg)}body.forge-page .image-visual{background:var(--forge-preview-mat);place-items:center;display:grid}body.forge-page .project-shot{border:6px solid var(--forge-preview-paper);box-shadow:0 16px 35px var(--forge-model-shadow);transition:transform .85s var(--ease);position:absolute;inset:0;overflow:hidden}body.forge-page .project-shot:not([data-layer="0"]){display:none}body.forge-page .project-photo{object-fit:cover;width:100%;height:100%;transition:filter .8s,transform 1.1s var(--ease)}body.forge-page .project-photo-dark,html.dark body.forge-page .project-photo.has-dark{display:none}html.dark body.forge-page .project-photo-dark{display:block}body.forge-page [data-effect=stack] .project-images{width:67%;height:72%;transform:none}body.forge-page [data-effect=stack] .project-shot{display:block}body.forge-page [data-effect=stack] .project-shot[data-layer="0"]{z-index:3;transform:rotate(-5deg)}body.forge-page [data-effect=stack] .project-shot[data-layer="1"]{z-index:2;transform:translate(9%,2%)rotate(5deg)}body.forge-page [data-effect=stack] .project-shot[data-layer="2"]{z-index:1;transform:translate(-7%,-2%)rotate(-11deg)}body.forge-page .effect-light{pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 30%,var(--forge-button-line) 50%,transparent 70%);z-index:3;position:absolute;inset:0;transform:translate(-110%)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.forge-page:not([data-motion=reduce]) [data-effect=develop] .project-photo{filter:saturate(.45)contrast(.88)}body.forge-page:not([data-motion=reduce]) [data-effect=lift]:hover .visual-object{transform:translateY(-10px)rotate(-2deg)}body.forge-page:not([data-motion=reduce]) [data-effect=tilt]:hover .visual-object{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(0deg) translateY(-5px) scale(1.02);transition-duration:.35s}body.forge-page:not([data-motion=reduce]) [data-effect=stack]:hover .project-shot[data-layer="0"]{transform:translateY(-5%)rotate(0)}body.forge-page:not([data-motion=reduce]) [data-effect=stack]:hover .project-shot[data-layer="1"]{transform:translate(21%,5%)rotate(13deg)}body.forge-page:not([data-motion=reduce]) [data-effect=stack]:hover .project-shot[data-layer="2"]{transform:translate(-22%,2%)rotate(-16deg)}body.forge-page:not([data-motion=reduce]) [data-effect=zoom]:hover .project-photo{transform:scale(1.12)}body.forge-page:not([data-motion=reduce]) [data-effect=scan]:hover .effect-light{opacity:1;transition:transform 1s var(--ease),opacity .2s;transform:translate(110%)}body.forge-page:not([data-motion=reduce]) [data-effect=develop]:hover .project-photo{filter:saturate()contrast();transform:scale(1.035)}}body.forge-page [data-effect]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}body.forge-page[data-motion=reduce] .visual-object,body.forge-page[data-motion=reduce] .project-photo,body.forge-page[data-motion=reduce] .project-shot{filter:none!important;transition:none!important}body.forge-page[data-motion=reduce] .effect-light{display:none}@media (prefers-reduced-motion:reduce),(hover:none){body.forge-page .effect-light{display:none}body.forge-page .theme-toggle:hover,body.forge-page .work-visual:hover .visual-open,body.forge-page .text-link:hover span{transform:none}}@media (max-width:760px){body.forge-page .topbar{min-height:64px;padding:8px 22px}body.forge-page .topbar>.site{letter-spacing:.04em;font-size:10px;display:block}body.forge-page .hero-topline{max-width:calc(100% - 200px);font-size:9px;top:98px}body.forge-page .object-caption{max-width:none}body.forge-page .project-reading{padding-top:110px}body.forge-page .dialog-copy :is(h2,h3){font-size:17px}}@media (min-width:761px){body.forge-page .hero-bottom{right:max(7%,248px)}}@media (max-width:760px){body.forge-page .hero-bottom{bottom:96px}body.forge-page .hero-topline{max-width:calc(100% - 54px);top:32px}}
