/* Scroll-linked flywheel and expanding portfolio sheets. */
:root{--pin-top:88px}.flywheel-section{padding:0;position:relative;overflow:visible}.flywheel-pin{padding:70px 0;background:#f8faf5}.flywheel-layout{align-items:center}.wheel-reading{grid-template-columns:1fr;gap:4px;margin-top:25px}.wheel-reading li{padding:12px 16px;border:0;border-left:2px solid #dce4d3;border-radius:0 12px 12px 0;transition:background .2s,border-color .2s,opacity .2s}.wheel-reading span{font-size:8px}.wheel-reading h3{font-size:17px;margin-top:5px}.wheel-reading p{font-size:12px;margin-top:5px;max-width:400px}.wheel-timeline{display:none}.wheel-options{position:absolute;inset:0;transform:rotate(var(--pinned-wheel-turn,0deg));transform-origin:center}.wheel-track{transform:rotate(var(--pinned-wheel-turn,0deg));transition:none}.wheel-node{rotate:calc(-1 * var(--pinned-wheel-turn,0deg));transition:background .2s,border-color .2s;color:var(--ink)}.wheel-node.node-top{background:#fdfefb;border-color:#dce4d3}.wheel-pointer{position:absolute;left:50%;top:-1%;transform:translateX(-50%);display:none;text-align:center;color:#729544}.wheel-pointer>span{display:block;font-size:8px;letter-spacing:.12em;margin-bottom:5px}.wheel-pointer>i{font-size:14px;font-style:normal}.wheel-art{position:relative;top:auto;margin-top:0}.wheel-reading li.is-active{background:#e7f3cf;border-color:#a8ce39}.wheel-reading li.is-active h3{color:#334b26}.wheel-node.is-active{background:var(--accent);border-color:var(--accent);box-shadow:0 5px 24px #aec86922}.wheel-pinned .flywheel-pin{position:sticky;top:var(--pin-top);height:calc(100svh - var(--pin-top));padding:25px 0;display:flex;align-items:center}.wheel-pinned .flywheel-layout{height:100%;max-height:800px;grid-template-columns:47% 53%}.wheel-pinned .flywheel-copy{padding:0 35px 0 0}.wheel-pinned .flywheel-copy>.eyebrow{margin-bottom:13px}.wheel-pinned h2{font-size:clamp(30px,3vw,42px)}.wheel-pinned .flywheel-intro{font-size:12px;margin-top:15px;line-height:1.8}.wheel-pinned .wheel-reading{margin-top:20px}.wheel-pinned .wheel-reading li:not(.is-active){opacity:.46}.wheel-pinned .wheel-art{max-width:min(600px,calc(100svh - 200px));width:100%;max-height:none}.wheel-pinned .wheel-pointer{display:block}.wheel-pinned .wheel-timeline{display:flex;align-items:center;gap:14px;font-size:7px;letter-spacing:.05em;color:#869878;margin-top:20px}.wheel-timeline>i{height:2px;flex:1;background:#dbe6cd;max-width:170px}.wheel-timeline b{display:block;height:100%;background:#a1c536;transform:scaleX(var(--wheel-progress,0));transform-origin:left}.wheel-return{bottom:-8px}
.portfolio-stack{position:relative;isolation:isolate;margin:0 0 90px;padding-bottom:1px}.stack-sheet{position:relative;margin-bottom:35px}.stack-frame,.stack-frame.opening-work{width:calc(100% - 72px);max-width:1560px;margin:0 auto;min-height:600px;grid-template-columns:32% 68%;border-radius:25px;background:var(--case-bg);color:var(--case-ink);transform:none;overflow:hidden;position:relative}.stack-frame .reference-copy{padding:40px 35px;justify-content:center}.stack-frame .reference-index{font-size:9px}.stack-frame .reference-category{margin-top:35px;font-size:10px}.stack-frame .reference-copy h3{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin-top:12px}.stack-frame .reference-copy>p:not(.reference-category){font-size:14px;line-height:1.85;margin-top:22px;max-width:300px}.stack-frame .reference-copy .text-link{margin-top:30px;padding-top:0;color:inherit}.stack-frame .reference-image{height:100%;min-height:600px;background:var(--case-bg)}.stack-frame .reference-image img{width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;transform:none}.stack-frame[data-project=forget-me-not] .reference-image img{object-fit:cover}.stack-frame[data-project=mend] .reference-image{background:#172921;padding:25px}.stack-frame[data-project=mend] .reference-copy{color:#eff3e8}.stack-frame .opening-word{font-size:43px;margin-top:25px}.stack-active .stack-sheet{position:sticky;top:var(--pin-top);height:calc(100svh - var(--pin-top));margin-bottom:15svh;scroll-margin-top:var(--pin-top)}.stack-active .stack-sheet:last-child{margin-bottom:0}.stack-active .stack-frame,.stack-active .stack-frame.opening-work{width:100%;height:100%;max-width:none;min-height:0;border-radius:var(--sheet-radius,0px);clip-path:inset(0 var(--sheet-inset,0px) round var(--sheet-radius,0px));transform:scale(var(--sheet-scale,1));transform-origin:center top;will-change:transform,clip-path}.stack-active .stack-frame:after{content:'';position:absolute;inset:0;background:#102518;opacity:var(--sheet-shade,0);pointer-events:none;z-index:2}.stack-active .stack-frame .reference-copy{padding:35px max(35px,calc((100vw - 1280px)/2));padding-right:28px}.stack-active .stack-frame .reference-image{min-height:0;height:100%;overflow:hidden}.stack-active .stack-frame .reference-image img{height:100%;max-height:none;min-height:0}.stack-active .stack-frame .reference-copy h3{font-size:clamp(26px,3vw,43px)}.stack-active .stack-frame .reference-copy>p:not(.reference-category){font-size:14px}.stack-active .opening-word{font-size:clamp(35px,4vw,58px)}
@media(max-width:1190px){.wheel-pinned .flywheel-layout{grid-template-columns:48% 52%}.wheel-pinned .flywheel-copy{padding-right:20px}.wheel-pinned h2{font-size:33px}.wheel-pinned .wheel-reading h3{font-size:15px}.wheel-pinned .wheel-reading p{font-size:11px}.wheel-reading li{padding:10px 12px}.stack-frame .reference-copy{padding:32px 28px}.stack-frame .reference-copy h3{font-size:28px}.stack-frame .reference-copy>p:not(.reference-category){font-size:12px}.stack-active .stack-frame .reference-copy{padding-left:36px}.stack-active .stack-frame .reference-copy>p:not(.reference-category){font-size:12px}.stack-frame .opening-word{font-size:35px}}
@media(max-width:999px) and (min-width:681px){.wheel-pinned h2{font-size:28px}.wheel-pinned .flywheel-intro{font-size:11px}.wheel-pinned .wheel-reading h3{font-size:14px}.wheel-pinned .wheel-reading p{font-size:10px}.wheel-pinned .wheel-reading li{padding:9px 10px}.wheel-pinned .wheel-art{max-width:370px}.wheel-pinned .wheel-timeline{font-size:6px}.stack-frame{grid-template-columns:36% 64%}.stack-active .stack-frame .reference-copy{padding:28px}.stack-active .stack-frame .reference-copy h3{font-size:27px}}
@media(max-width:680px){:root{--pin-top:72px}.flywheel-pin{padding:50px 0 60px}.wheel-reading{grid-template-columns:1fr 1fr;gap:10px}.wheel-reading li{padding:12px 10px}.wheel-reading h3{font-size:14px}.wheel-reading p{font-size:11px}.wheel-art{margin-top:35px}.wheel-pinned .flywheel-pin{padding:15px 0 20px}.wheel-pinned .flywheel-layout{display:flex;flex-direction:column;justify-content:center;gap:0}.wheel-pinned .flywheel-copy{padding:0;width:100%}.wheel-pinned .flywheel-copy>.eyebrow{font-size:7px;margin-bottom:8px}.wheel-pinned h2{font-size:26px;line-height:1.25}.wheel-pinned .flywheel-intro{font-size:10px;line-height:1.6;margin-top:10px}.wheel-pinned .wheel-reading{grid-template-columns:1fr 1fr;gap:5px 10px;margin-top:13px;min-height:150px;align-content:start}.wheel-pinned .wheel-reading li{padding:8px 9px}.wheel-pinned .wheel-reading span{font-size:6px}.wheel-pinned .wheel-reading h3{font-size:12px;margin-top:4px}.wheel-pinned .wheel-reading p{font-size:10px;margin-top:4px;line-height:1.65}.wheel-pinned .wheel-reading li:not(.is-active) p{max-height:0;overflow:hidden;margin-top:0;opacity:0}.wheel-pinned .wheel-timeline{margin-top:5px;font-size:6px}.wheel-pinned .wheel-art{flex:none;width:min(270px,calc(100svh - 430px));max-width:270px;min-width:200px;margin-top:24px}.wheel-pinned .wheel-node{width:54px;height:54px;gap:3px}.wheel-pinned .wheel-node>span{font-size:3px}.wheel-pinned .wheel-node>strong{font-size:15px}.wheel-pinned .wheel-center>strong{font-size:48px;letter-spacing:-6px}.wheel-pinned .wheel-center>span{font-size:6px}.wheel-pinned .wheel-center>small{font-size:3px}.wheel-pinned .wheel-pointer>span{font-size:5px;margin-bottom:1px}.wheel-pinned .wheel-pointer>i{font-size:9px}.wheel-pinned .wheel-pointer{top:-4%}.wheel-pinned .wheel-return{font-size:6px;bottom:-15px}.portfolio-stack{margin-bottom:55px}.stack-sheet{margin-bottom:25px}.stack-frame,.stack-frame.opening-work{width:calc(100% - 24px);min-height:0;display:flex;flex-direction:column-reverse;border-radius:20px}.stack-frame .reference-copy,.stack-frame.opening-work .reference-copy{display:block;padding:25px}.stack-frame .reference-category{font-size:8px;margin-top:18px}.stack-frame .reference-copy h3{font-size:26px}.stack-frame .reference-copy>p:not(.reference-category){font-size:12px;margin-top:13px}.stack-frame .reference-copy .text-link{font-size:11px;margin-top:18px}.stack-frame .reference-image{height:330px;min-height:0;width:100%;flex:none}.stack-frame .reference-image img{height:100%;min-height:0;object-fit:contain}.stack-frame .opening-word{display:none}.stack-active .stack-sheet{margin-bottom:12svh}.stack-active .stack-frame,.stack-active .stack-frame.opening-work{display:flex;flex-direction:column-reverse}.stack-active .stack-frame .reference-copy,.stack-active .stack-frame.opening-work .reference-copy{padding:20px 25px;flex:none}.stack-active .stack-frame .reference-index{font-size:7px}.stack-active .stack-frame .reference-category{font-size:7px;margin-top:12px}.stack-active .stack-frame .reference-copy h3{font-size:24px;margin-top:7px}.stack-active .stack-frame .reference-copy>p:not(.reference-category){font-size:11px;margin-top:10px;line-height:1.65;max-width:320px}.stack-active .stack-frame .reference-copy .text-link{font-size:10px;margin-top:13px}.stack-active .stack-frame .reference-image{flex:1;min-height:160px;height:auto;width:100%;position:relative}.stack-active .stack-frame .reference-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.stack-active .stack-frame[data-project=forget-me-not] .reference-image img{object-fit:cover}.stack-active .stack-frame[data-project=mend] .reference-image img{padding:15px}.stack-active .stack-frame[data-project=mend] .reference-image{padding:0}}
@media(max-width:360px){.wheel-pinned h2{font-size:24px}.wheel-pinned .wheel-reading h3{font-size:11px}.wheel-pinned .wheel-reading p{font-size:9px}.wheel-pinned .flywheel-intro{font-size:9px}.stack-active .stack-frame .reference-copy{padding:17px 20px}.stack-active .stack-frame .reference-copy h3{font-size:22px}.stack-active .stack-frame .reference-copy>p:not(.reference-category){font-size:10px}}
.wheel-art{overflow:clip;overflow-clip-margin:20px}.wheel-node{rotate:none}.wheel-node-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transform:rotate(calc(-1 * var(--pinned-wheel-turn,0deg)))}.wheel-node-content>span{font-size:6px;letter-spacing:.05em;color:#8a9a7b}.wheel-node-content>strong{font-size:24px;font-weight:600;letter-spacing:-.05em}.wheel-pinned .wheel-reading li:not(.is-active){opacity:.6}
@media(max-width:1190px){.wheel-node-content>span{font-size:5px}.wheel-node-content>strong{font-size:22px}}
@media(max-width:900px){.wheel-node-content{gap:5px}.wheel-node-content>span{font-size:4px}.wheel-node-content>strong{font-size:18px}}
@media(max-width:680px){.wheel-pinned .wheel-node-content{gap:3px}.wheel-pinned .wheel-node-content>span{font-size:3px}.wheel-pinned .wheel-node-content>strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.wheel-track,.wheel-options,.wheel-node-content{transform:none!important}.wheel-node{rotate:none!important}.stack-frame{clip-path:none!important;transform:none!important}.wheel-reading li:not(.is-active){opacity:1}.wheel-reading p{max-height:none!important;opacity:1!important}}
