:root{--paper: #ece8df;--paper-2: #e4dfd3;--paper-3: #f4f2ec;--ink: #14130f;--ink-70: #45423a;--ink-45: #7d786c;--ink-25: #a9a396;--rule: rgba(20, 19, 15, .16);--rule-soft: rgba(20, 19, 15, .08);--night: #100f0c;--night-2: #1a1814;--night-ink: #ece8df;--night-rule: rgba(236, 232, 223, .16);--night-rule-soft: rgba(236, 232, 223, .08);--iris-a: #0d6d62;--iris-b: #27499b;--iris-c: #6b3a8e;--iris-d: #a96a2c;--iris: linear-gradient( 100deg, var(--iris-a) 0%, var(--iris-b) 34%, var(--iris-c) 62%, var(--iris-d) 100% );--display: "Instrument Serif", "Times New Roman", serif;--sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--gut: clamp(1.25rem, 4vw, 2.5rem);--bleed: clamp(1.25rem, 5vw, 5.5rem);--stack: clamp(5rem, 13vh, 9.5rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:clamp(1rem,.96rem + .2vw,1.075rem);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body.is-locked{overflow:hidden}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--paper)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:60;pointer-events:none;opacity:.28;mix-blend-mode:multiply}.plate{position:relative;padding:var(--stack) var(--bleed)}.plate--night{background:var(--night);color:var(--night-ink)}.plate--night ::selection{background:var(--night-ink);color:var(--night)}.shell{max-width:1440px;margin:0 auto;width:100%}.shell--narrow{max-width:940px}.plate-mark{display:flex;align-items:baseline;gap:.85rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45);padding-bottom:.9rem;margin-bottom:clamp(2.25rem,5vw,3.5rem);border-bottom:1px solid var(--rule)}.plate--night .plate-mark{color:#ece8df80;border-bottom-color:var(--night-rule)}.plate-mark span:last-child{margin-left:auto;text-align:right}.tick{position:absolute;width:13px;height:13px;border:1px solid var(--rule);pointer-events:none}.plate--night .tick{border-color:var(--night-rule)}.tick--tl{top:18px;left:18px;border-right:0;border-bottom:0}.tick--tr{top:18px;right:18px;border-left:0;border-bottom:0}.tick--bl{bottom:18px;left:18px;border-right:0;border-top:0}.tick--br{bottom:18px;right:18px;border-left:0;border-top:0}.display{font-family:var(--display);font-weight:400;line-height:.94;letter-spacing:-.018em}.d-xl{font-size:clamp(2.9rem,8.4vw,7.6rem)}.d-lg{font-size:clamp(2.5rem,7.2vw,6rem)}.d-md{font-size:clamp(2rem,4.6vw,3.6rem)}.display em{font-style:italic}.lede{font-size:clamp(1.125rem,.98rem + .72vw,1.6rem);line-height:1.42;color:var(--ink-70);max-width:34ch;font-weight:300}.plate--night .lede{color:#ece8dfbd}.body{max-width:62ch;color:var(--ink-70)}.plate--night .body{color:#ece8dfb8}.label{font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45)}.plate--night .label{color:#ece8df80}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:300}.iris-text{background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--d, 0ms)}.js .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.js .reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.btn{display:inline-flex;align-items:center;gap:.7rem;padding:.85rem 1.4rem;border:1px solid var(--rule);border-radius:999px;font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;transition:background .4s,color .4s,border-color .4s}.btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.plate--night .btn{border-color:var(--night-rule)}.plate--night .btn:hover{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:2rem;padding:1.15rem var(--bleed);color:var(--ink);mix-blend-mode:normal;transition:color .45s ease,background .45s ease,backdrop-filter .45s ease}.nav--lifted{background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(9px) saturate(1.2);backdrop-filter:blur(9px) saturate(1.2)}.nav--dark{color:var(--night-ink)}.nav--dark.nav--lifted{background:color-mix(in srgb,var(--night) 72%,transparent)}.nav__mark{font-family:var(--mono);font-size:.8125rem;letter-spacing:.3em;font-weight:500;display:flex;align-items:baseline;gap:.7rem}.nav__mark-sub{font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;opacity:.5}.nav__links{margin-left:auto;display:flex;gap:1.6rem}.nav__links a,.nav__studio{font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;opacity:.62;transition:opacity .3s}.nav__links a:hover,.nav__studio:hover{opacity:1}.nav__studio{padding-left:1.6rem;border-left:1px solid currentColor;border-left-color:color-mix(in srgb,currentColor 22%,transparent)}.nav__burger{display:none;margin-left:auto;width:34px;height:22px;position:relative}.nav__burger span{position:absolute;left:4px;right:4px;height:1.5px;background:currentColor;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}.nav__burger span:nth-child(1){top:7px}.nav__burger span:nth-child(2){top:14px}.nav__burger[aria-expanded=true] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}.nav__burger[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--night);color:var(--night-ink);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1);display:grid;place-items:center}.menu--open{opacity:1;pointer-events:auto}.menu__inner{display:flex;flex-direction:column;gap:.35rem;padding:var(--bleed);width:100%}.menu__inner a{font-family:var(--display);font-size:clamp(2rem,9vw,3rem);line-height:1.18;display:flex;align-items:baseline;gap:1rem;opacity:0;transform:translateY(14px);transition:opacity .55s var(--i, 0ms),transform .55s cubic-bezier(.22,1,.36,1) var(--i, 0ms)}.menu--open .menu__inner a{opacity:1;transform:none}.menu__inner .num{font-size:.6875rem;letter-spacing:.16em;opacity:.45}.menu__studio{margin-top:1.6rem;font-family:var(--mono)!important;font-size:.75rem!important;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.closure{position:relative;width:100%;touch-action:pan-y;outline:none}.closure--live{cursor:grab}.closure--live:active{cursor:grabbing}.closure--live:focus-visible{outline:1px dashed currentColor;outline-offset:12px}.closure__handle{pointer-events:none}.closure__hint{position:absolute;left:50%;bottom:-1.9rem;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;white-space:nowrap;animation:hintPulse 3.4s ease-in-out infinite}.closure__hint-arrow{display:inline-block;animation:hintSlide 3.4s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.4}50%{opacity:.9}}@keyframes hintSlide{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(6.5rem,14vh,9rem);padding-bottom:clamp(2rem,5vh,3.5rem)}.hero__mark{margin-bottom:clamp(1.5rem,4vh,2.75rem)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--gut);align-items:end}.hero__title{margin-left:-.06em}.hero__aside{padding-bottom:.7rem;display:flex;flex-direction:column;gap:1.1rem}.hero__spec{color:var(--ink-45)}.hero__stage{margin:clamp(1.75rem,4.5vh,3rem) 0 clamp(2.5rem,5vh,3.25rem)}.hero__foot{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:1rem}.hero__readout{display:flex;align-items:baseline;gap:.9rem}.hero__state{font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border:1px solid var(--rule);border-radius:999px;transition:all .4s}.hero__state--closed{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero__pct{font-size:.8125rem;color:var(--ink-45)}.hero__done{font-family:var(--display);font-size:1.25rem;opacity:0;transform:translateY(6px);transition:opacity .7s,transform .7s}.hero__done.is-on{opacity:1;transform:none}.hero__scroll{margin-left:auto}.problem__head,.fplate__head,.mech__head,.forces__head,.material__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--gut);align-items:end;margin-bottom:clamp(3rem,8vh,5.5rem)}.problem__demo{margin-bottom:clamp(3.5rem,9vh,6rem)}.zip__stage{cursor:grab;touch-action:pan-y;outline:none}.zip__stage:active{cursor:grabbing}.zip__stage:focus-visible{outline:1px dashed currentColor;outline-offset:12px}.zip__readout{display:flex;align-items:center;gap:1rem;margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--night-rule)}.zip__state{padding:.3rem .7rem;border:1px solid var(--night-rule);border-radius:999px;transition:all .35s}.zip__state--bad{background:#a9432c;border-color:#a9432c;color:#f4efe6}.problem__verdict{font-family:var(--display);font-size:clamp(1.2rem,2.4vw,1.75rem);margin-top:1.6rem;max-width:30ch;opacity:0;transform:translateY(8px);transition:opacity .8s,transform .8s}.problem__verdict.is-on{opacity:.85;transform:none}.problem__list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut);border-top:1px solid var(--night-rule);padding-top:2rem}.problem__n,.fstep__n{font-size:.6875rem;letter-spacing:.18em;color:var(--ink-45);display:block;margin-bottom:.9rem}.problem__item h3{margin-bottom:.85rem}.fplate__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}.fplate__sticky{position:sticky;top:15vh}.fplate__art{position:relative;border:1px solid var(--rule);padding:1.25rem;background:var(--paper-3)}.fplate__svg{width:100%;height:auto;color:var(--ink);position:relative}.dgm{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1);pointer-events:none}.dgm.is-on{opacity:1}.dgm__cap{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;fill:currentColor;opacity:.55}.fplate__cap{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--rule)}.fplate__steps{list-style:none}.fstep{padding:clamp(2.5rem,9vh,5.5rem) 0;border-bottom:1px solid var(--rule-soft);opacity:.34;transition:opacity .6s}.fstep.is-active{opacity:1}.fstep h3{margin-bottom:.9rem}.fstep__art{display:none;margin-top:1.75rem}.mech__stage{margin:0 0 clamp(2.5rem,6vh,4rem)}.mech__ctl{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4rem);align-items:start;border-top:1px solid var(--night-rule);padding-top:clamp(1.75rem,4vh,2.75rem)}.seg{display:inline-flex;flex-direction:column;gap:.4rem;align-items:flex-start}.seg--wide{flex-direction:row;flex-wrap:wrap;gap:.6rem;margin-bottom:2.25rem}.seg__b{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;padding:.6rem 1.1rem;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 20%,transparent);border-radius:999px;opacity:.55;transition:all .35s}.seg__b:hover{opacity:.9}.seg__b.is-on{opacity:1;background:var(--ink);color:var(--paper);border-color:var(--ink)}.plate--night .seg__b.is-on{background:var(--night-ink);color:var(--night);border-color:var(--night-ink)}.mech__copy h3{margin-bottom:.9rem}.mech__spec{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid var(--night-rule)}.forces__rig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;border-top:1px solid var(--rule);padding-top:clamp(2rem,5vh,3.5rem)}.forces__dial{position:relative;border:1px solid var(--rule);background:var(--paper-3);padding:1rem;cursor:grab;touch-action:pan-y;color:var(--ink)}.forces__dial:active{cursor:grabbing}.forces__dial:focus-visible{outline:1px dashed currentColor;outline-offset:6px}.forces__grab{position:absolute;bottom:1rem;right:1rem}.forces__readout{border-bottom:1px solid var(--rule);padding-bottom:1.4rem;margin-bottom:1.4rem}.forces__big{display:flex;align-items:baseline;gap:.5rem;margin-top:.4rem}.forces__big .num{font-size:clamp(3.4rem,9vw,5.6rem);line-height:1;letter-spacing:-.03em}.forces__unit{font-family:var(--mono);font-size:1.1rem;color:var(--ink-45)}.forces__tags{display:flex;align-items:center;gap:.8rem;margin-top:.9rem;font-size:.8125rem}.forces__tag{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--rule)}.forces__tag--shear{background:var(--ink);color:var(--paper);border-color:var(--ink)}.forces__tag--peel{background:transparent;color:var(--ink-45)}.forces__curve{width:100%;height:auto;color:var(--ink);margin-bottom:1.2rem}.forces__note strong{font-weight:500;color:var(--ink)}.route{list-style:none;display:grid;gap:0;border-top:1px solid var(--rule);margin-bottom:2rem}.route__s{display:flex;align-items:center;gap:1.1rem;padding:1rem 0;border-bottom:1px solid var(--rule-soft);animation:routeIn .6s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--i, 0ms)}@keyframes routeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.route__dot{width:9px;height:9px;border-radius:50%;background:var(--iris);flex:none}.route__s--dead{opacity:.4}.route__s--dead .route__dot{background:none;border:1px solid var(--ink-45)}.route__s--dead .route__t{text-decoration:line-through;text-decoration-color:var(--ink-25)}.route__n{font-size:.6875rem;color:var(--ink-45);letter-spacing:.16em}.route__t{font-family:var(--display);font-size:clamp(1.15rem,2.4vw,1.6rem)}.material__end{animation:routeIn .6s cubic-bezier(.22,1,.36,1) both}.spec__h{margin-bottom:clamp(2.5rem,7vh,4.5rem)}.spec__uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--night-rule-soft);border:1px solid var(--night-rule-soft);margin-bottom:clamp(3rem,8vh,5rem)}.use{background:var(--night);padding:clamp(1.5rem,3vw,2.25rem)}.use h3{font-family:var(--display);font-size:1.6rem;font-weight:400;margin-bottom:.7rem}.use p{color:#ece8dfa8;font-size:.95rem}.spec__table{max-width:780px}.spec__thead,.spec__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--night-rule-soft)}.spec__thead{border-bottom-color:var(--night-rule)}.spec__row span:last-child{color:#ece8dfad;font-size:.9rem}.honest__h{margin-bottom:clamp(2rem,5vh,3rem)}.honest__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut);margin-bottom:2.5rem}.honest__cols .label{margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule)}.honest__end{border-top:1px solid var(--rule);padding-top:1.6rem}.foot__strip{margin-bottom:clamp(3rem,8vh,5rem)}.foot__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);gap:var(--gut);align-items:start;border-top:1px solid var(--night-rule);padding-top:2rem}.foot__mark{letter-spacing:.02em;margin-bottom:.6rem}.foot__cta{display:flex;flex-direction:column;gap:1.4rem;align-items:flex-start}.foot__colophon p+p{margin-top:.5rem}@media (max-width: 1024px){.problem__list,.spec__uses,.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.nav__links,.nav__studio{display:none}.nav__burger{display:block}.hero__grid,.problem__head,.fplate__head,.mech__head,.forces__head,.material__head,.mech__ctl,.forces__rig,.honest__cols{grid-template-columns:minmax(0,1fr)}.hero__grid{gap:1.75rem}.hero__aside{padding-bottom:0}.fplate__body{grid-template-columns:minmax(0,1fr)}.fplate__sticky{display:none}.fstep{opacity:1}.fstep__art{display:block}.seg{flex-direction:row;flex-wrap:wrap;margin-bottom:1.75rem}.problem__list,.spec__uses{grid-template-columns:minmax(0,1fr)}.foot__grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}.hero__done{order:3;width:100%}}@media (max-width: 520px){.hero{min-height:92svh}.hero__stage{margin:2.25rem 0 3rem}.plate-mark{flex-wrap:wrap;gap:.5rem .85rem}.plate-mark span:last-child{margin-left:0;text-align:left;width:100%}.hero__foot{gap:.9rem}.hero__scroll{margin-left:0}.forces__big .num{font-size:3.2rem}.route__s{gap:.8rem}.tick{display:none}}
