@font-face{font-family:Manrope;src:url('/assets/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-800.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--ink:#202124;--paper:#f7f5f0;--mint:#61e786;--muted:#656565;--line:#e9e6df;--header-full:153px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #279f49;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:600}h1,h2{font-size:46px;color:#0a0a0a}h3{font-size:30px}p{color:var(--muted)}.wrap{width:calc(100% - 80px);max-width:1124px;margin-inline:auto}.skip{position:fixed;top:10px;left:10px;padding:10px 20px;background:var(--mint);z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}#site-header{position:sticky;top:0;z-index:20;height:153px;background:var(--ink);color:var(--paper);transition:height .45s ease-in-out}#site-header .header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{width:150px;height:113px;flex-shrink:0;transition:width .45s ease-in-out,height .45s ease-in-out}.logo img{width:100%;height:100%}nav{display:flex;align-items:center;gap:32px}nav a{font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s}nav a:hover,nav a[aria-current]{color:var(--mint)}#site-header.compact{height:115px}#site-header.compact .logo{width:105px;height:79px}.eyebrow{font-size:13px;line-height:1.4;letter-spacing:-.02em;margin-bottom:32px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--mint);color:var(--ink);font-size:16px;font-weight:700;line-height:1.4;border:0;border-radius:5px;padding:18px 26px;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:#7bed99;transform:translateY(-2px)}.button:disabled{opacity:.65;cursor:wait}.hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;min-height:660px}.hero-inner{position:relative;padding-block:88px 100px}.hero-copy{position:relative;z-index:2;max-width:820px}.hero .eyebrow{color:#ccc;margin-bottom:34px}.hero h1{color:var(--paper);font-size:clamp(48px,6vw,78px);line-height:1.13;letter-spacing:-.055em}.hero-subtitle{font-size:20px;font-weight:600;color:#e2e2df;margin-top:30px}.hero-description{max-width:755px;color:#ccc;margin-top:28px;line-height:1.65}.hero .button{margin-top:30px}.hero-art{position:absolute;right:-80px;top:0;width:420px;height:100%;opacity:.23;pointer-events:none}.hero-art svg{position:absolute;fill:none;stroke:#93968e;stroke-width:1.4;overflow:visible}.hero-art .mint-line{stroke:var(--mint)}.browser-art{width:330px;top:5px;right:0;transform:rotate(-7deg);animation:window-drift 12s ease-in-out infinite}.shapes-art{width:225px;top:250px;right:200px}.cube-art{width:245px;bottom:-60px;right:15px;transform:rotate(10deg)}.spin{transform-origin:center;animation:spin 38s linear infinite}.bob{animation:float 9s ease-in-out infinite}.dot{stroke:none}.dot1{fill:#e46876;animation:dot-color 8s infinite}.dot2{fill:#edcc63;animation:dot-color 8s -2.6s infinite}.dot3{fill:var(--mint);animation:dot-color 8s -5.2s infinite}.motion-toggle{position:absolute;right:28px;bottom:24px;z-index:3;color:#ddd;border:1px solid #5b5b5b;background:#202124c9;font-size:12px;padding:8px 12px;border-radius:4px}.motion-paused .hero-art *{animation-play-state:paused!important}@keyframes window-drift{50%{transform:translateY(12px) rotate(-3deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-15px) rotate(-5deg)}}@keyframes dot-color{0%,100%{fill:#e46876}33%{fill:#edcc63}66%{fill:#61e786}}
.services{padding-block:84px 100px}.services h2{max-width:760px}.section-intro{margin-top:26px;max-width:720px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:56px}.service{background:var(--line);padding:40px;border-radius:6px}.service-icon{display:block;color:var(--ink);font-size:40px;font-weight:600;line-height:1;margin-bottom:32px}.service h3{font-size:28px;margin-bottom:20px}.service p{font-size:17px}.js .reveal{transition:opacity .6s,transform .6s}.js .reveal:not(.shown){opacity:0;transform:translateY(28px)}footer{background:#e9e6df;padding:48px 0 24px}footer h2{font-size:32px;margin-bottom:16px}footer a{font-size:15px;overflow-wrap:anywhere}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:22px}.hours p{font-size:14px;line-height:1.7;margin-bottom:12px}.signature{grid-column:1/-1;font-size:13px;margin-top:22px}.about{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:80px;align-items:center;padding-block:88px 150px;min-height:750px}.about h1{margin-bottom:30px}.about .eyebrow{margin-bottom:30px}.about p:not(.eyebrow){line-height:1.65}.headshot{width:380px;height:460px;object-fit:cover;border-radius:9px}.process{position:relative;margin-bottom:100px}.process-sticky{padding-top:70px}.process-heading{display:flex;justify-content:space-between;gap:30px;align-items:center}.process-heading ol{display:flex;list-style:none;margin:0;padding:0;gap:18px}.process-marker{display:block;font-size:14px;border-bottom:3px solid var(--line);padding:5px 3px}.process-marker[aria-current]{border-color:var(--mint);color:var(--ink)}.process-deck{position:relative;margin-top:60px}.process-step{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:80px;align-items:center;margin-bottom:90px}.step-number{font-size:84px;line-height:1;letter-spacing:-.05em;display:block;margin-bottom:20px}.process-step h3{font-size:34px;margin-bottom:24px}.process-step p{max-width:650px}.process-illustration{width:310px;height:310px;border-radius:50%;background:var(--line);display:grid;place-items:center;justify-self:center}.process-illustration svg{width:230px;fill:none;stroke:#242424;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}.fill-mint{fill:var(--mint)}.mint-line{stroke:var(--mint)}.js .process{height:480vh;min-height:2700px}.js .process-sticky{position:sticky;top:115px;height:calc(100vh - 115px);min-height:520px}.js .process-step{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(28px);visibility:hidden;transition:opacity .5s,transform .5s,visibility .5s}.js .process-step.active{visibility:visible;opacity:1;transform:none}.work{padding-block:64px 100px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px;margin-top:42px}.project-card{text-decoration:none;display:block;min-width:0}.project-image,.placeholder{height:auto;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--line)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover .project-image img{transform:scale(1.035)}.project-card h2{font-size:24px;margin-top:20px;letter-spacing:-.025em}.project-card p{font-size:14px;margin-top:7px}.placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:14px;color:var(--muted);transition:background .3s}.placeholder svg{width:64px;height:48px;stroke:#777;fill:none;stroke-width:1}.project-card:hover .placeholder{background:#e0ded7}.project-detail{padding-block:64px 100px}.category{font-size:14px;margin-top:22px}.project-description{margin-top:56px;margin-bottom:50px}.project-detail figure{margin:0 0 36px}.project-detail figure img{width:100%;height:auto;border-radius:4px}.back-link{display:inline-block;margin-top:20px;font-size:16px}.contact{display:grid;grid-template-columns:420px minmax(0,1fr);gap:74px;padding-block:72px 100px}.contact-intro h1{margin-bottom:30px}.contact-intro>p{margin-bottom:30px}.contact-intro>a{font-size:15px;overflow-wrap:anywhere}.contact-intro .hours{margin-top:16px}form label{display:block;font-size:14px;line-height:1.5;font-weight:600;margin-bottom:26px}input,select,textarea{display:block;width:100%;background:transparent;border:1px solid #777;border-radius:5px;color:var(--ink);font-size:16px;font-weight:400;padding:13px 14px;margin-top:10px;min-height:50px}textarea{height:170px;resize:vertical}input::placeholder,textarea::placeholder{color:#747474;opacity:1}select{cursor:pointer}form .button{width:100%}.form-note{font-size:13px;line-height:1.65;margin-top:18px}.form-status{font-size:15px;line-height:1.6;margin-top:16px;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.error{color:#a42a2a}.form-status.success{color:#217a37}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.missing{padding-block:100px}.missing p{margin:24px 0}
@media(min-width:1600px){.wrap{max-width:1200px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.about{grid-template-columns:minmax(0,1fr) 32%;gap:40px}.headshot{width:100%;height:400px}.contact{grid-template-columns:36% minmax(0,1fr);gap:45px}.process-step{grid-template-columns:minmax(0,1fr) 32%;gap:40px}.process-illustration{width:250px;height:250px}.process-illustration svg{width:190px}.hero-art{opacity:.14}.hero-description{max-width:700px}h1,h2{font-size:40px}}
@media(max-width:650px){:root{--header-full:112px}html{scroll-padding-top:96px}.wrap{width:calc(100% - 40px)}body{font-size:16px}#site-header{height:112px}#site-header.compact{height:90px}#site-header .header-inner{gap:14px}.logo{width:98px;height:74px}#site-header.compact .logo{width:77px;height:58px}nav{display:grid;grid-template-columns:repeat(2,auto);gap:9px 18px}nav a{font-size:13px}h1,h2{font-size:34px}h3{font-size:25px}.hero{min-height:640px}.hero-inner{padding-block:65px 90px}.hero h1{font-size:clamp(39px,9.6vw,62px);line-height:1.15}.hero .eyebrow{font-size:11px;margin-bottom:28px}.hero-subtitle{font-size:17px;line-height:1.6;margin-top:25px}.hero-description{font-size:16px;margin-top:23px}.hero-art{right:-100px;opacity:.12}.hero .button{margin-top:27px;font-size:14px;padding:16px 21px}.motion-toggle{right:20px;bottom:18px}.services{padding-block:60px}.eyebrow{font-size:11px;margin-bottom:24px}.service-grid{grid-template-columns:1fr;gap:20px;margin-top:36px}.service{padding:30px}.service h3{font-size:25px}.service p{font-size:16px}.footer-inner{grid-template-columns:1fr;gap:26px}footer{padding-top:36px}footer h2{font-size:29px}.signature{margin-top:0}.about{display:flex;flex-direction:column;padding-block:55px 65px;gap:38px;align-items:stretch;min-height:0}.about h1{margin-bottom:25px}.headshot{width:100%;height:auto;aspect-ratio:380/460;max-height:520px;object-position:center}.process{margin-bottom:60px}.process-sticky{padding-top:35px}.process-heading{display:block}.process-heading ol{margin-top:20px;gap:16px}.process-heading h2{font-size:32px}.process-deck{margin-top:32px}.process-step{grid-template-columns:1fr;gap:25px}.step-number{font-size:62px;margin-bottom:12px}.process-step h3{font-size:29px;margin-bottom:17px}.process-step p{font-size:15px;line-height:1.65}.process-illustration{width:180px;height:180px}.process-illustration svg{width:135px}.js .process{height:460vh;min-height:2600px}.js .process-sticky{top:90px;height:calc(100svh - 90px);min-height:610px}.work{padding-block:45px 60px}.work-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.project-card h2{font-size:22px}.project-detail{padding-block:45px 65px}.project-detail h1{font-size:34px}.project-description{margin-top:35px;margin-bottom:30px}.contact{grid-template-columns:1fr;gap:38px;padding-block:48px 65px}.contact-intro h1{max-width:370px}.contact-intro>p{margin-bottom:24px}.contact-intro .hours p{margin-bottom:8px}label{font-size:14px}.contact input,.contact select,.contact textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art{transform:none}.motion-toggle{display:none}.js .reveal:not(.shown){opacity:1;transform:none}.js .process{height:auto;min-height:0}.js .process-sticky{position:static;height:auto;min-height:0}.js .process-step{position:static;opacity:1;visibility:visible;transform:none;margin-bottom:60px}.process-heading ol{display:none}}
/* Compact footer and a single right-aligned navigation row. */
.footer-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:28px;align-items:center}.footer-inner .hours p:last-child{margin-bottom:0}.signature{grid-column:3;grid-row:1;align-self:center;justify-self:end;margin-top:0;font-size:13px;max-width:210px;text-align:right}footer{padding-block:36px}
.product-screenshot{position:relative;overflow:hidden;width:100%;aspect-ratio:1303/807;background:#f2f0e9;border-radius:4px}.product-screenshot>img{position:absolute!important;inset:0;width:101.1512%!important;max-width:none!important;height:auto!important;border-radius:0!important}.product-screenshot .pants-panel{position:absolute;left:4.6815%;top:21.9331%;width:43.6685%;height:78.0669%;object-fit:fill;border-radius:0}
@media(max-width:1000px) and (min-width:651px){.footer-inner{grid-template-columns:minmax(0,1fr) auto;gap:20px}.signature{grid-column:2;grid-row:2}.footer-inner>.hours{grid-column:2;grid-row:1}.footer-inner>div:first-child{grid-row:1/3}}
@media(max-width:650px){#site-header{height:128px}#site-header.compact{height:104px}#site-header .header-inner{display:grid;grid-template-columns:1fr;grid-template-rows:74px 20px;align-content:center;gap:7px}.logo{width:98px;height:74px}#site-header.compact .header-inner{grid-template-rows:58px 20px;gap:6px}#site-header.compact .logo{width:77px;height:58px}nav{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:18px;justify-self:end;width:100%}nav a{font-size:12px}.js .process-sticky{top:104px;height:calc(100svh - 104px)}html{scroll-padding-top:110px}.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 18px;align-items:center}.footer-inner>div:first-child{grid-column:1/-1;grid-row:1}.footer-inner>.hours{grid-column:1;grid-row:2}.signature{grid-column:2;grid-row:2;align-self:center;justify-self:end;font-size:13px;max-width:180px;text-align:right;line-height:1.7}.hours p{font-size:13px}.footer-inner .hours p:last-child{margin-bottom:0}footer{padding-block:30px}}
@media(max-width:360px){nav{gap:14px}.signature{font-size:12px}.footer-inner .hours p{font-size:12px}}
.product-screenshot .pants-panel{inset:auto!important;left:4.6815%!important;top:21.9331%!important;width:43.6685%!important;height:78.0669%!important;max-width:none!important;object-fit:fill}
/* Orderly footer: contact left, hours and designer credit right. */
footer{padding:36px 0}.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:72px;row-gap:10px;align-items:start}.footer-inner>div:first-child{grid-column:1;grid-row:1/3}.footer-inner>.hours{grid-column:2;grid-row:1;justify-self:start}.footer-inner .hours p{font-size:14px;line-height:1.65;margin-bottom:8px}.footer-inner .hours p:last-child{margin-bottom:0}.signature{grid-column:2;grid-row:2;justify-self:start;align-self:start;margin:0;max-width:none;text-align:left;font-size:13px;line-height:1.65;white-space:nowrap}
@media(max-width:650px){footer{padding:30px 0}.footer-inner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0}.footer-inner>div:first-child{grid-column:1;grid-row:1}.footer-inner>.hours{grid-column:1;grid-row:2;margin-top:24px}.footer-inner .hours p{font-size:14px;line-height:1.65;margin-bottom:8px}.signature{grid-column:1;grid-row:3;margin-top:14px;max-width:none;font-size:13px;text-align:left;white-space:normal}}

/* Original Framer hero geometry, placement and color-cycle timing. */
.hero-inner{position:static}.hero-copy{position:relative;z-index:2}.ch-hero-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#202124}.ch-hero-art{position:absolute;inset:0;width:100%;height:100%;opacity:.78}.ch-hero-mobile{display:none}.ch-window-dot{animation:ch-dot-one 8.4s ease-in-out infinite;animation-play-state:paused}.ch-dot-two{animation-name:ch-dot-two}.ch-dot-three{animation-name:ch-dot-three}.ch-hero-background[data-running="true"] .ch-window-dot{animation-play-state:running}.motion-paused .ch-window-dot{animation-play-state:paused!important}
@keyframes ch-dot-one{0%,23.8095%,100%{fill:#FF5F57}33.3333%,57.1429%{fill:#28C840}66.6667%,90.4762%{fill:#FEBC2E}}@keyframes ch-dot-two{0%,23.8095%,100%{fill:#FEBC2E}33.3333%,57.1429%{fill:#FF5F57}66.6667%,90.4762%{fill:#28C840}}@keyframes ch-dot-three{0%,23.8095%,100%{fill:#28C840}33.3333%,57.1429%{fill:#FEBC2E}66.6667%,90.4762%{fill:#FF5F57}}
.ch-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,33,36,.97) 0%,rgba(32,33,36,.94) 40%,rgba(32,33,36,.72) 64%,rgba(32,33,36,.25) 100%)}.ch-hero-veil{position:absolute;inset:0;background:rgba(32,33,36,.2)}.logo img{image-rendering:auto;object-fit:contain}
@media(max-width:600px){.ch-hero-desktop{display:none}.ch-hero-mobile{display:block;opacity:.65}.ch-hero-shade{background:linear-gradient(90deg,rgba(32,33,36,.97),rgba(32,33,36,.88) 65%,rgba(32,33,36,.5))}}
@media(prefers-reduced-motion:reduce){.ch-window-dot{animation:none!important}}

/* Keep the laptop and its color-cycle dots visible; allow the lower cube to clip. */
.ch-hero-art{top:8px;bottom:auto}
@media(max-width:600px){.ch-hero-art{top:8px}}
/* Fill the first screen with the header and dark hero before services appear. */
.hero{min-height:max(660px,calc(100svh - 153px))}
@media(max-width:650px){.hero{min-height:max(640px,calc(100svh - 128px))}}
/* Phone process cards swipe horizontally without pinning the page. */
@media(max-width:650px){
 .js .process,.process{height:auto;min-height:0;margin-bottom:60px}
 .js .process-sticky,.process-sticky{position:static;top:auto;height:auto;min-height:0;padding-top:35px}
 .process-heading ol{display:flex}
 .process-marker{cursor:pointer}
 .process-deck{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b8b8af transparent;padding:0 0 16px;margin-top:30px}
 .js .process-step,.process-step{position:relative;inset:auto;flex:0 0 100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:24px;opacity:1;visibility:visible;transform:none;transition:none;margin:0;scroll-snap-align:start;scroll-snap-stop:normal}
 .process-step>div:first-child{width:100%}.process-illustration{align-self:center;flex-shrink:0}
 .process-swipe-hint{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:12px}
}
@media(min-width:651px){.process-swipe-hint{display:none}}
@media(max-width:650px) and (prefers-reduced-motion:reduce){.process-deck{scroll-behavior:auto}.js .process-step{margin-bottom:0}}

/* Reserve the header's full space so its resize cannot shift scroll position. */
#site-header{position:fixed;inset:0 0 auto;width:100%;height:153px;min-height:115px;transition:height .35s ease-in-out}
.header-spacer{height:153px;flex:none}#site-header.compact{height:115px}
@media(max-width:650px){#site-header{height:128px;min-height:112px}.header-spacer{height:128px}#site-header.compact{height:112px}#site-header.compact .header-inner{grid-template-rows:64px 20px;gap:6px}#site-header.compact .logo{width:85px;height:64px}html{scroll-padding-top:124px}}
@media(prefers-reduced-motion:reduce){#site-header{transition:none}}
