:root{--ink: #0b0b0b;--body-ink: #242424;--menu-bg: #f7f5f2;--menu-ink: #1a1a1a}*{box-sizing:border-box}html{background:#fff;scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fff;color:var(--ink);font-family:Century Gothic,Avenir Next,Helvetica,Arial,sans-serif;overflow-x:hidden}img{display:block;width:100%}.portfolio{width:100%;background:#fff}.folio-page{min-height:100svh;display:grid;place-items:center;padding:clamp(8px,2.2vw,34px);overflow:hidden;background:#fff}.folio-stage{position:relative;width:min(100%,1680px);aspect-ratio:16 / 9;overflow:hidden;container-type:inline-size;background:#fff;transition:transform 1.05s cubic-bezier(.19,1,.22,1);will-change:opacity,transform}.dir-down .folio-stage{transform:translateY(5svh) scale(.992)}.dir-up .folio-stage{transform:translateY(-5svh) scale(.992)}.folio-page.is-visible .folio-stage{transform:translateY(0) scale(1)}.folio-item{position:absolute;margin:0}.text-item{transition:transform .98s cubic-bezier(.19,1,.22,1),filter .98s ease;transition-delay:var(--delay);will-change:opacity,transform}.dir-down .text-item{transform:translateY(3.2cqw)}.dir-up .text-item{transform:translateY(-3.2cqw)}.folio-page.is-visible .text-item{transform:translateY(0)}.image-item{overflow:hidden}.image-item img{height:100%;object-fit:cover}.text-item{z-index:2;overflow:hidden;white-space:pre-line;color:var(--ink);font-size:var(--font-size);letter-spacing:0}.text-display{width:auto!important;min-width:max-content;overflow:visible;font-family:"Bodoni 72",Bodoni MT,Didot,Georgia,serif;font-weight:400;line-height:.96;letter-spacing:.07em;text-transform:uppercase}.text-heading{width:auto!important;min-width:max-content;overflow:visible;font-family:"Bodoni 72",Bodoni MT,Didot,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:.16em;text-transform:uppercase}.text-body{color:var(--body-ink);font-weight:400;line-height:1.42;letter-spacing:.04em;white-space:normal}.hamburger-btn{position:fixed;top:clamp(18px,2.5vw,32px);right:clamp(18px,2.5vw,32px);z-index:110;width:62px;height:62px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;background:#ffffffdb;border:1px solid rgba(11,11,11,.18);border-radius:50%;cursor:pointer;padding:0;box-shadow:0 14px 38px #0000001f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .26s ease,border-color .26s ease,transform .32s cubic-bezier(.19,1,.22,1)}.hamburger-btn:hover{background:#fff;border-color:#0b0b0b61;transform:translateY(-1px) scale(1.03)}.hamburger-line{display:block;width:34px;height:2px;background:var(--ink);border-radius:1px;transition:transform .4s cubic-bezier(.19,1,.22,1),opacity .25s ease;box-shadow:0 0 0 .5px #ffffff59}.hamburger-btn:hover .hamburger-line{transform:scaleX(.88)}.hamburger-btn.is-open .hamburger-line:nth-child(1){transform:translateY(9px) rotate(45deg) scaleX(1)}.hamburger-btn.is-open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.is-open .hamburger-line:nth-child(3){transform:translateY(-9px) rotate(-45deg) scaleX(1)}.menu-overlay{position:fixed;inset:0;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:none;visibility:hidden}.menu-overlay.is-open{pointer-events:auto;visibility:visible}.menu-bubble{position:absolute;top:clamp(18px,2.5vw,32px);right:clamp(18px,2.5vw,32px);width:40px;height:40px;border-radius:50%;background:var(--menu-bg);transform:scale(0);transform-origin:center;transition:transform .9s cubic-bezier(.19,1,.22,1);z-index:1}.menu-overlay.is-open .menu-bubble{transform:scale(80)}.menu-overlay:not(.is-open) .menu-bubble{transition-delay:80ms}.menu-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(80px,12vh,140px) clamp(24px,5vw,48px) clamp(40px,6vh,80px);opacity:0;transform:translateY(24px);transition:opacity .65s ease .18s,transform .65s cubic-bezier(.19,1,.22,1) .18s}.menu-overlay.is-open .menu-content{opacity:1;transform:translateY(0)}.menu-overlay:not(.is-open) .menu-content{transition-delay:0ms}.menu-nav{width:100%;max-width:min(760px,calc(100vw - 64px))}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px);text-align:left;align-items:stretch}.menu-item{opacity:0;transform:translateY(16px);transition:opacity .55s ease calc(.24s + var(--stagger, 0ms)),transform .55s cubic-bezier(.19,1,.22,1) calc(.24s + var(--stagger, 0ms))}.menu-overlay.is-open .menu-item{opacity:1;transform:translateY(0)}.menu-overlay:not(.is-open) .menu-item{transition-delay:0ms}.menu-link{display:block;width:100%;background:transparent;border:none;cursor:pointer;padding:0;text-align:left;font-family:"Bodoni 72",Bodoni MT,Didot,Georgia,serif;font-weight:400;font-size:clamp(1.35rem,3.4vw,2.35rem);line-height:1.1;letter-spacing:.055em;text-transform:uppercase;color:var(--menu-ink);opacity:.8;transition:opacity .3s ease,transform .35s cubic-bezier(.19,1,.22,1)}.menu-link:hover,.menu-link:focus{opacity:1;transform:translate(5px);outline:none}.menu-footer{margin-top:clamp(32px,5vh,56px);width:100%;max-width:min(760px,calc(100vw - 64px));display:flex;justify-content:flex-start}.menu-contact{width:100%;max-width:320px}.menu-contact-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;background:transparent;border:1px solid rgba(26,26,26,.15);border-radius:0;cursor:pointer;font-family:Century Gothic,Avenir Next,Helvetica,Arial,sans-serif;font-size:clamp(.85rem,2.2vw,1rem);letter-spacing:.12em;text-transform:uppercase;color:var(--menu-ink);transition:border-color .3s ease,background .3s ease}.menu-contact-toggle:hover{background:#1a1a1a08;border-color:#1a1a1a59}.contact-chevron{display:inline-block;transition:transform .3s cubic-bezier(.19,1,.22,1)}.contact-chevron.is-open{transform:rotate(180deg)}.menu-contact-dropdown{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.19,1,.22,1)}.menu-contact-dropdown.is-open{grid-template-rows:1fr}.menu-contact-dropdown>.menu-contact-link:first-child{border-top:none}.menu-contact-dropdown>*{overflow:hidden}.menu-contact-link{display:block;padding:14px 20px;text-align:center;font-family:Century Gothic,Avenir Next,Helvetica,Arial,sans-serif;font-size:clamp(.82rem,2vw,.95rem);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--menu-ink);opacity:.75;border-top:1px solid rgba(26,26,26,.1);transition:opacity .25s ease,background .25s ease}.menu-contact-link:hover{opacity:1;background:#1a1a1a08}.thankyou-contact{position:absolute;left:50%;top:61%;transform:translate(-50%);z-index:3;display:grid;justify-items:center;gap:18px}.thankyou-contact-title{font-family:Century Gothic,Avenir Next,Helvetica,Arial,sans-serif;font-size:clamp(.7rem,1.05cqw,1rem);letter-spacing:.16em;text-transform:uppercase;color:var(--body-ink)}.thankyou-contact-links{display:flex;gap:14px;justify-content:center}.thankyou-contact-links a{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:13px 20px;border:1px solid rgba(11,11,11,.24);color:var(--ink);background:#ffffff85;text-decoration:none;font-size:clamp(.74rem,1cqw,.92rem);letter-spacing:.12em;text-transform:uppercase;transition:background .26s ease,border-color .26s ease,transform .32s cubic-bezier(.19,1,.22,1)}.thankyou-contact-links a:hover{background:#fff;border-color:#0b0b0b7a;transform:translateY(-2px)}@media(min-width:761px){.folio-page[data-page="2"] .image-item[data-src="coded-blocks/page-02-image-02-5c208d2504.jpeg"] img{object-position:center 16%}.folio-page[data-page="2"] .text-body{font-size:calc(var(--font-size) * 1.18);line-height:1.48}.folio-page[data-page="3"] .text-heading{font-size:calc(var(--font-size) * 2)}.folio-page .image-item{opacity:0;transform:translateY(28px) scale(.96);filter:blur(2px);transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1),filter 1s ease;transition-delay:var(--delay)}.folio-page .image-item.is-revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.folio-page .image-item.is-hidden-up{opacity:0;transform:translateY(-20px) scale(.97);filter:blur(2px)}.folio-page[data-page="18"]{align-items:start;padding-block:clamp(18px,3vw,46px)}.folio-page[data-page="18"] .folio-stage{aspect-ratio:auto;min-height:165svh}.folio-page[data-page="19"]{align-items:start;padding-block:clamp(18px,3vw,46px)}.folio-page[data-page="19"] .folio-stage{aspect-ratio:auto;min-height:112svh}}@media(max-width:760px){.hamburger-btn{width:54px;height:54px;gap:6px}.hamburger-line{width:29px}.menu-content{align-items:stretch;padding-inline:clamp(24px,8vw,36px)}.menu-nav,.menu-footer{max-width:100%}.menu-link{font-size:clamp(1.28rem,8vw,2.2rem);line-height:1.08}.folio-page{min-height:auto;display:block;padding:clamp(34px,11vw,60px) 0;overflow:visible}.folio-stage{width:100%;height:auto;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,7vw,34px);padding:0 clamp(18px,6vw,28px);overflow:visible}.dir-down .text-item{transform:translateY(24px)}.dir-up .text-item{transform:translateY(-24px)}.folio-item{position:relative;left:auto!important;top:auto!important;width:auto!important;height:auto!important;order:var(--mobile-order)}.image-item{width:var(--mobile-width)!important;max-width:100%;justify-self:center;overflow:visible}.image-item img{height:auto;max-height:76svh;object-fit:contain}.text-item{width:100%!important;max-width:31rem;justify-self:center;overflow:visible}.text-display{min-width:0;font-size:clamp(1.9rem,8.8vw,2.5rem);line-height:1.03;letter-spacing:.06em}.text-heading{min-width:0;font-size:clamp(.82rem,3.9vw,1.05rem);line-height:1.24;letter-spacing:.12em}.text-body{font-size:clamp(.9rem,3.9vw,1.03rem);line-height:1.48;letter-spacing:.025em}.portfolio .folio-page .folio-stage .mobile-text-item{opacity:0;transform:translateY(28px);filter:blur(5px);transition:opacity .88s cubic-bezier(.19,1,.22,1),transform .88s cubic-bezier(.19,1,.22,1),filter .88s ease;will-change:opacity,transform,filter}.portfolio .folio-page .folio-stage .mobile-text-item.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}.portfolio .folio-page .folio-stage .mobile-text-item.is-hidden-up{opacity:0;transform:translateY(-18px);filter:blur(3px)}.mobile-page .folio-stage{transition:none;transform:none}.mobile-page.dir-down .folio-stage,.mobile-page.dir-up .folio-stage,.mobile-page.is-visible .folio-stage{transform:none}.mobile-image-group{width:100%!important;min-width:0;max-width:100%;justify-self:center;overflow:visible;height:var(--group-height)!important;opacity:0;transform:translateY(24px) scale(.97);filter:blur(2px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1),filter .9s ease}.mobile-image-group.is-revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.mobile-image-group.is-hidden-up{opacity:0;transform:translateY(-18px) scale(.98);filter:blur(2px)}.image-track-wrap{width:100%;min-width:0;max-width:100%;overflow:hidden;position:sticky;top:0;height:100svh;display:flex;align-items:center}.image-track{display:flex;gap:14px;width:max-content;padding-inline:max(24px,8vw);transform:translate(calc(var(--track-start, 0px) + var(--track-progress, 0) * var(--track-distance, 0px)));will-change:transform}.track-image{flex-shrink:0}.track-image img{height:auto;max-height:74svh;width:auto;max-width:84vw;object-fit:contain;display:block}.is-single-image-group{overflow:visible}.is-single-image-group .image-track-wrap{position:relative;top:auto;height:auto;display:block}.is-single-image-group .image-track{width:100%;padding-inline:0;justify-content:center;transform:none!important}.folio-page[data-page="20"] .mobile-stage{min-height:72svh}.thankyou-contact{top:58%;width:min(100%,21rem)}.thankyou-contact-links{width:100%;flex-direction:column;gap:10px}.thankyou-contact-links a{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.folio-stage,.text-item,.mobile-text-item,.image-item,.mobile-image-group{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.image-track{transform:none!important}.menu-bubble{transition:none!important}.menu-content,.menu-item{opacity:1!important;transform:none!important;transition:none!important}}
