:root{--paper:#f3f2ed;--ink:#161614;--muted:#6b6a65;--faint:#a8a7a1;--line:#a5a49e;--soft-line:#a5a49e73;--font-geist-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-geist-mono:"Courier New", Courier, monospace;--font-caveat:"Segoe Print", "Bradley Hand", cursive;--page-progress:0;--page-progress-y:0%}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0;overflow-x:clip}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button{border:0}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.skip-link{background:var(--ink);color:var(--paper);font-family:var(--font-geist-mono), monospace;z-index:100;padding:.8rem 1rem;font-size:.75rem;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{pointer-events:none;z-index:30;background:#f3f2edeb;justify-content:space-between;align-items:center;padding:2rem clamp(2.2rem,5.5vw,6.25rem) 2.25rem;transition:opacity .18s,visibility .18s;display:flex;position:fixed;top:0;left:0;right:0}.site-header a{pointer-events:auto}.wordmark,.footer-wordmark{letter-spacing:-.07em;font-size:1.55rem;font-weight:760;line-height:1;text-decoration:none}.header-email,.footer-email{font-family:var(--font-geist-mono), monospace;letter-spacing:-.02em;font-size:.75rem;text-decoration:none}.progress-rail{z-index:25;width:8rem;transition:opacity .18s,visibility .18s;position:fixed;top:8.8rem;bottom:5.5rem;left:clamp(3.75rem,6.2vw,6.6rem)}.footer-in-view .progress-rail{opacity:0;pointer-events:none;visibility:hidden}.progress-track{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:.5rem}.progress-fill{background:var(--ink);height:100%;transform:scaleY(var(--page-progress));transform-origin:top;width:1px;position:absolute;top:0;left:0}.progress-label{background:var(--ink);color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;min-width:max-content;left:2rem;top:clamp(1.5rem, var(--page-progress-y), calc(100% - 1.5rem));padding:.4rem .58rem;font-size:.62rem;position:absolute;transform:translateY(-50%)}.progress-rail ol{height:100%;margin:0;padding:0;list-style:none;position:absolute;top:0;left:0}.progress-rail li{height:2.75rem;left:-.85rem;top:var(--section-progress-y);width:2.75rem;position:absolute;transform:translateY(-50%)}.progress-rail a{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.progress-rail a span{background:var(--line);width:.6rem;height:1px;transition:background-color .18s,width .18s}.progress-rail a[aria-current=step] span{background:var(--ink);width:1.2rem}.site-section{min-height:100svh;scroll-margin-top:5rem;position:relative}.section-inner{max-width:76rem;margin-left:clamp(14rem,21.5vw,21rem);margin-right:clamp(3.25rem,7vw,7rem);padding:clamp(8rem,14vh,11rem) 0 clamp(6rem,11vh,9rem);position:relative}.section-code{display:none}.eyebrow,.section-code,.item-number,.project-number,.project-credit,.review-number,.review-list blockquote footer span,.contact-form legend,.contact-form label>span:first-child{font-family:var(--font-geist-mono), monospace;letter-spacing:.03em;text-transform:uppercase;font-size:.66rem}.eyebrow{color:var(--muted);margin:0 0 1.35rem}.hand-note{font-family:var(--font-caveat), "Segoe Print", cursive;letter-spacing:.01em;font-size:1.1rem;line-height:1.15}.hero{display:flex}.hero-inner{align-self:center;width:100%;min-height:100svh;padding-top:clamp(8rem,15vh,11rem);padding-bottom:4rem;display:grid}.hero-copy{align-self:center;max-width:64rem;transform:translateY(-1.5rem)}.hero h1{letter-spacing:-.075em;text-wrap:balance;max-width:63rem;margin:0;font-size:clamp(3.35rem,4.8vw,4.7rem);font-weight:720;line-height:.97}.hero h1 span{display:block}.hero-lead{max-width:43rem;margin:2.05rem 0 0;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.55}.hero-note{width:fit-content;max-width:100%;margin:1.15rem 0 0;text-decoration:none;display:block;transform:rotate(-1.5deg)}.proof-list{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;max-width:49rem;margin:2.2rem 0 0;padding:0;display:grid}.proof-list div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:1.7rem 1fr;gap:.7rem;padding:.8rem .95rem;display:grid}.proof-list dt{color:var(--muted);font-family:var(--font-geist-mono), monospace;padding-top:.15rem;font-size:.64rem}.proof-list dd{margin:0;font-size:clamp(.9rem,1vw,1rem);font-weight:620;line-height:1.4}.hero-actions{align-items:center;gap:1.3rem;margin-top:1.9rem;display:flex}.button{border:1px solid var(--ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;text-transform:uppercase;justify-content:center;align-items:center;min-height:3.05rem;padding:.75rem 1.15rem;font-size:.72rem;font-weight:560;text-decoration:none;transition:background-color .18s,color .18s;display:inline-flex}.button--dark{background:var(--ink);color:var(--paper)}.button--dark:hover{color:var(--ink);background:0 0}.text-link,.project-credit a,.review-source,.form-submit a{font-size:.78rem;font-weight:600}.section-heading{max-width:52rem;margin-bottom:clamp(3.5rem,7vh,5.5rem)}.section-heading h2,.contact-intro h2{letter-spacing:-.065em;text-wrap:balance;margin:0;font-size:clamp(2.45rem,4.1vw,4.25rem);font-weight:690;line-height:1.02}.section-heading>p:last-child:not(.eyebrow){margin:1.45rem 0 0;font-size:1rem;line-height:1.5}.advantages .section-inner{padding-bottom:clamp(8rem,15vh,13rem)}.advantage-list{border-bottom:1px solid var(--line);max-width:68rem}.advantage-item{border-top:1px solid var(--line);opacity:.16;will-change:opacity, transform;grid-template-columns:2.7rem minmax(0,1fr) minmax(8rem,13rem);align-content:center;align-items:start;gap:1.6rem;min-height:clamp(24rem,56vh,34rem);padding:clamp(3rem,6vh,5rem) 0;transition:opacity 90ms linear,transform .11s linear;display:grid}.advantage-item:hover,.advantage-item:focus-within{opacity:1!important}.item-number{color:var(--muted);padding-top:.55rem}.advantage-item h3{letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(1.85rem,2.8vw,3.05rem);font-weight:660;line-height:1.02}.advantage-item p{max-width:43rem;margin:1.35rem 0 0;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.55}.advantage-note{text-align:right;place-self:center end;max-width:12rem;transform:rotate(-2deg)}.projects .section-inner,.reviews .section-inner{max-width:78rem}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3.5rem,6vw,5.5rem) clamp(1.5rem,3vw,2.5rem);display:grid}.project-item{align-self:start;min-width:0}.project-image-link{text-decoration:none;display:block}.project-image-frame{aspect-ratio:1.44;border:1px solid var(--line);background:#e9e8e2;place-items:center;display:grid;overflow:hidden}.project-image-frame img{object-fit:contain;width:100%;height:100%;display:block}.project-image-link:hover .project-image-frame,.project-image-link:focus-visible .project-image-frame{border-color:var(--ink)}.project-meta{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr);gap:.2rem 1rem;padding:1.25rem 0 1.6rem;display:grid}.project-number{color:var(--muted);margin:0;padding-top:.3rem}.project-copy{min-width:0}.project-copy .eyebrow{margin-bottom:.55rem}.project-copy h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.05}.project-copy>p:last-child{margin:.7rem 0 0;font-size:.86rem;line-height:1.48}.project-credit{flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:end;gap:.7rem 1rem;margin-top:.8rem;display:flex}.project-credit p{color:var(--muted);max-width:18rem;margin:0;font-size:.61rem;line-height:1.35}.reviews{border-top:1px solid var(--line)}.review-list{columns:2;column-gap:clamp(2rem,4vw,3.5rem)}.review-list blockquote{border-top:1px solid var(--line);break-inside:avoid;grid-template-columns:2rem minmax(0,1fr);gap:.9rem 1rem;margin:0 0 clamp(2.5rem,5vw,4rem);padding:1.8rem 0 0;display:grid}.review-number{color:var(--muted);padding-top:.2rem}.review-list blockquote>p{grid-column:2;margin:0;font-size:clamp(1rem,1.25vw,1.15rem);font-weight:530;line-height:1.55}.review-list blockquote footer{border-top:1px solid var(--soft-line);flex-direction:column;grid-column:2;align-items:flex-start;gap:.35rem;margin-top:.6rem;padding-top:.8rem;display:flex}.review-list blockquote footer strong{font-size:.83rem;line-height:1.3}.review-list blockquote footer span{color:var(--muted);font-size:.6rem;line-height:1.35}.review-source{margin-top:1rem;display:inline-block}.contact{border-top:1px solid var(--line)}.contact .section-inner{max-width:68rem}.contact-intro{max-width:59rem;margin-bottom:clamp(3rem,6vh,5rem)}.contact-challenge{color:var(--muted);margin:0 0 1.35rem;font-size:1rem}.contact-form{max-width:62rem}.field-grid{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.contact-form label{display:grid}.contact-form label>span:first-child,.contact-form legend{color:var(--ink);margin-bottom:.9rem;font-size:.72rem}.contact-form input:not([type=radio]),.contact-form textarea{border:0;border-bottom:1px solid var(--line);resize:vertical;background:0 0;border-radius:0;outline:0;min-height:2.8rem;padding:.45rem 0;font-size:1rem}.contact-form input:not([type=radio]):focus,.contact-form textarea:focus{border-bottom-color:var(--ink);border-bottom-width:2px}.contact-form fieldset{border:0;min-inline-size:0;margin:3.25rem 0 0;padding:0}.contact-form legend{width:100%;padding:0;display:block}.choice-row{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.choice-row label{border-bottom:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;place-items:center;min-height:4rem;display:grid;position:relative}.choice-row label>span{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:normal;text-align:center;text-transform:none;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:.75rem 1rem;font-size:.82rem;transition:background-color .16s,color .16s;display:flex}.choice-row input{appearance:none;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.choice-row input:checked+span{background:var(--ink);color:var(--paper);font-weight:700}.choice-row label:hover span{background:#e7e6e0}.choice-row label:hover input:checked+span{background:var(--ink)}.choice-row input:focus-visible+span{outline:2px solid var(--ink);outline-offset:-4px}.choice-row input:checked:focus-visible+span{outline-color:var(--paper)}.message-field{margin-top:3.25rem}.message-field textarea{min-height:7rem}.form-submit{align-items:center;gap:2rem;margin-top:2rem;display:flex}.form-submit button{cursor:pointer;flex:none}.form-submit p,.form-status{max-width:31rem;margin:0;font-size:.78rem;line-height:1.5}.form-status{border-left:2px solid var(--ink);margin-top:1.4rem;padding-left:.8rem}.site-footer{background:var(--ink);color:var(--paper);padding:2.4rem clamp(2rem,7vw,7rem)}.footer-inner{grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);align-items:end;gap:clamp(2rem,6vw,6rem);max-width:76rem;margin:0 auto;display:grid}.footer-wordmark{margin:0;font-size:1.65rem}.footer-line{color:#bdbcb7;margin:.65rem 0 0;font-size:.88rem}.footer-secondary{justify-items:end;gap:.85rem;display:grid}.footer-email{font-size:.72rem}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:.75rem 1.25rem;display:flex}.site-footer nav a{font-size:.78rem}.site-footer :focus-visible{outline-color:var(--paper)}[data-reveal]{opacity:1;transform:none}.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(.9rem)}.motion-ready [data-reveal]{transition:opacity .48s cubic-bezier(.2,.8,.2,1),transform .58s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--order,0) * 65ms)}@media (max-width:1050px){.section-inner{margin-left:12.5rem;margin-right:3.25rem}.progress-rail{left:3.75rem}.advantage-item{grid-template-columns:2.5rem minmax(0,1fr)}.advantage-note{text-align:left;grid-column:2;justify-self:start;margin-top:.65rem}}@media (max-width:820px){html{scroll-padding-top:4.5rem}.progress-rail{display:none}.motion-ready [data-reveal]:not(.is-visible){opacity:1;transform:none}.site-header{border-bottom:1px solid #a5a49e61;padding:1.15rem 1.2rem}.wordmark{font-size:1.35rem}.header-email{font-size:.65rem}.site-section{min-height:auto}.section-inner,.hero-inner{margin:0;padding:7rem 1.2rem 5.75rem}.hero-inner{min-height:100svh}.section-code{background:var(--ink);color:var(--paper);width:max-content;margin:0 0 3rem;padding:.4rem .55rem;display:inline-block}.hero-copy{transform:none}.hero h1{letter-spacing:-.07em;font-size:clamp(2.8rem,13.4vw,4.5rem)}.hero h1 span{display:inline}.hero-lead{margin-top:1.7rem}.proof-list{margin-top:3.2rem}.section-heading{margin-bottom:3.5rem}.section-heading h2,.contact-intro h2{font-size:clamp(2.4rem,10.7vw,4rem)}.advantage-item{opacity:1;grid-template-columns:2rem minmax(0,1fr);gap:1rem;min-height:auto;padding:3.1rem 0;transform:none}.advantage-item h3{font-size:clamp(1.9rem,8.7vw,3.1rem)}.project-list{grid-template-columns:1fr;gap:4.5rem}.project-image-frame{aspect-ratio:1.44}.review-list{columns:1}.field-grid{grid-template-columns:1fr;gap:1.9rem}.choice-row{grid-template-columns:1fr 1fr}.site-footer{padding-left:1.2rem;padding-right:1.2rem}}@media (max-width:580px){.hero-actions{flex-direction:column;align-items:flex-start}.proof-list{grid-template-columns:1fr}.proof-list div{grid-template-columns:2rem 1fr}.project-meta{grid-template-columns:1.8rem minmax(0,1fr)}.form-submit{flex-direction:column;align-items:flex-start}.footer-inner{grid-template-columns:1fr;align-items:start;gap:2rem}.footer-secondary{justify-items:start}.site-footer nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal],.advantage-item{opacity:1!important;transform:none!important}}
