:root{--background:#242423;--foreground:#f0eee8;--muted:#b6b2aa;--subtle:#ebe9e224;--hover:#ebe9e214}:root[data-theme=light],[data-theme=light]{--background:#f4f0e8;--foreground:#272623;--muted:#68635b;--subtle:#27262329;--hover:#27262312}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);-webkit-user-select:text;user-select:text;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{color:inherit}button{font:inherit;-webkit-user-select:text;user-select:text}.site-shell{background:var(--background);min-height:100vh;color:var(--foreground);padding:clamp(28px,4vh,48px) clamp(24px,8.1vw,158px) 58px;transition:background .42s,color .42s}.site-header{justify-content:space-between;align-items:flex-start;min-height:clamp(84px,12.5vh,150px);display:flex}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:36px;height:36px;transition:transform .26s,background .26s;display:grid;position:relative}.theme-toggle:hover{background:var(--hover);transform:translateY(-2px)rotate(-8deg)}.theme-toggle:active{transform:translateY(1px)rotate(12deg)scale(.94)}.theme-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:5px}.theme-icon{text-align:center;transform-origin:50%;width:31px;height:31px;font-size:25px;line-height:31px;transition:transform .42s cubic-bezier(.2,.8,.2,1);display:block}[data-theme=light] .theme-icon{transform:rotate(24deg)}.nav-links{align-items:center;gap:clamp(28px,3.6vw,58px);display:flex}.nav-links button{color:var(--foreground);cursor:pointer;letter-spacing:0;opacity:.9;background:0 0;border:0;padding:0 0 10px;font-size:clamp(15px,1.04vw,20px);font-weight:650;transition:opacity .22s,transform .22s;position:relative}.nav-links button:hover{opacity:1;transform:translateY(-1px)}.nav-links button:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:8px}.nav-links button:after{content:"";opacity:0;transform-origin:0;background:currentColor;height:2px;transition:opacity .24s,transform .24s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.35)}.nav-links button.active:after{opacity:1;transform:scaleX(1)}.page-panel{-webkit-user-select:text;user-select:text;padding-top:clamp(86px,9vh,112px)}.content-column{width:min(650px,48vw)}h1{letter-spacing:0;max-width:650px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;font-size:clamp(42px,3.45vw,58px);font-weight:500;line-height:1.08}.headline-subtitle{max-width:640px;color:var(--foreground);letter-spacing:0;margin:14px 0 0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;font-size:clamp(23px,1.78vw,31px);font-weight:450;line-height:1.2}.intro-copy,.contact-line{max-width:640px;color:var(--muted);letter-spacing:0;font-size:clamp(16px,1.05vw,20px);font-weight:540;line-height:1.5}.intro-copy{margin:clamp(36px,4.8vh,50px) 0 0}.intro-copy-follow{margin-top:26px}.contact-line{margin:clamp(28px,3.8vh,42px) 0 0}.contact-line a{-webkit-text-decoration-color:var(--subtle);text-decoration-color:var(--subtle);text-underline-offset:5px;text-decoration-thickness:1px;transition:color .22s,text-decoration-color .22s}.contact-line a:hover{color:var(--foreground);text-decoration-color:currentColor}.projects-panel{padding-top:clamp(56px,7vh,92px)}.projects-panel h1{margin-bottom:clamp(36px,5vh,58px)}.projects-view{animation:.62s cubic-bezier(.19,1,.22,1) both projectsViewReveal}.projects-view-main{animation-name:revealText;animation-duration:.78s}.projects-view-detail{animation-duration:.65s}.product-detail-view{gap:clamp(36px,5vh,58px);display:grid}.product-detail{grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);align-items:start;gap:clamp(34px,5vw,84px);display:grid}.product-detail-case-study{grid-template-columns:minmax(0,820px)}.product-about h2{letter-spacing:0;margin:0 0 18px;font-size:clamp(22px,1.6vw,30px);font-weight:700;line-height:1.18}.product-about p,.product-about-rich p{max-width:660px;color:var(--muted);letter-spacing:0;margin:0;font-size:clamp(15px,.98vw,18px);font-weight:530;line-height:1.55}.product-about-rich p+p{margin-top:14px}.product-about-block+.product-about-block{margin-top:24px}.product-note{border-left:1px solid var(--subtle);margin-top:28px;padding-left:18px}.product-about h3{color:var(--foreground);letter-spacing:0;margin:0 0 8px;font-size:clamp(16px,1.02vw,19px);font-weight:780;line-height:1.2}.product-about strong{color:var(--foreground);font-weight:760}.product-about-rich a{color:var(--foreground);-webkit-text-decoration-color:var(--subtle);text-decoration-color:var(--subtle);text-underline-offset:4px;font-weight:720;text-decoration-thickness:1px}.product-about-rich a:hover{text-decoration-color:currentColor}.product-link-previews{gap:26px;display:grid}.case-study-gallery{gap:clamp(42px,5.6vw,72px);width:100%;display:grid}.case-study-shot{gap:16px;margin:0;display:grid}.case-study-image{aspect-ratio:2940/1596;background:var(--hover);cursor:zoom-in;border:0;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.case-study-image:after{border:1px solid var(--subtle);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.case-study-image img{object-fit:cover;width:calc(100% + 8px);height:calc(100% + 8px);margin:-4px;display:block}.image-lightbox{z-index:20;background:color-mix(in srgb, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-rows:auto minmax(0,1fr);gap:18px;padding:22px;display:grid;position:fixed;inset:0}.image-lightbox-toolbar{color:var(--foreground);justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.image-lightbox-toolbar h2{letter-spacing:0;margin:0;font-size:clamp(18px,1.15vw,24px);font-weight:760;line-height:1.2}.image-lightbox-toolbar p{max-width:780px;color:var(--muted);letter-spacing:0;margin:7px 0 0;font-size:clamp(13px,.88vw,16px);font-weight:530;line-height:1.42}.image-lightbox-actions{flex:none;align-items:center;gap:8px;display:flex}.image-lightbox-actions button,.image-lightbox-actions span{border:1px solid var(--subtle);background:color-mix(in srgb, var(--foreground) 8%, transparent);min-width:42px;height:36px;color:var(--foreground);letter-spacing:0;border-radius:999px;font-size:13px;font-weight:720}.image-lightbox-actions button{cursor:pointer;padding:0 14px}.image-lightbox-actions span{min-width:66px;color:var(--muted);place-items:center;display:grid}.image-lightbox-stage{border:1px solid var(--subtle);background:var(--hover);cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;place-items:center;min-height:0;display:grid;overflow:hidden}.image-lightbox-stage-draggable{cursor:grab}.image-lightbox-stage-draggable:active{cursor:grabbing}.image-lightbox-stage img{transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(100%,184.211vh - 276.316px);max-height:calc(100vh - 150px);transition:transform 80ms ease-out;display:block}.case-study-shot figcaption{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;max-width:820px;display:grid}.case-study-index{color:var(--muted);letter-spacing:0;opacity:.68;padding-top:2px;font-size:12px;font-weight:780;line-height:1.45}.case-study-shot h3{color:var(--foreground);letter-spacing:0;margin:0;font-size:clamp(17px,1.12vw,22px);font-weight:760;line-height:1.2}.case-study-shot p{max-width:760px;color:var(--muted);letter-spacing:0;margin:7px 0 0;font-size:clamp(14px,.94vw,17px);font-weight:530;line-height:1.45}.product-link-preview{color:var(--foreground);letter-spacing:0;gap:14px;text-decoration:none;display:grid}.product-app-version{gap:10px}.product-app-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0;font-size:clamp(15px,.98vw,18px);font-weight:650;line-height:1.35;display:flex}.product-app-links a{color:var(--foreground);-webkit-text-decoration-color:var(--subtle);text-decoration-color:var(--subtle);text-underline-offset:4px;text-decoration-thickness:1px}.product-app-links a:hover{text-decoration-color:currentColor}.product-app-divider{color:var(--muted);padding:0 10px}.product-link-title{justify-content:space-between;align-items:baseline;gap:16px;min-height:26px;font-size:clamp(16px,1.1vw,21px);font-weight:720;line-height:1.2;display:flex}.link-cue{color:var(--muted);letter-spacing:0;opacity:.72;font-size:12px;font-weight:680}.preview-frame,.product-preview{aspect-ratio:16/9;background:var(--hover);border:0;border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.preview-frame:after,.product-preview:after{border:1px solid var(--subtle);border-radius:inherit;content:"";pointer-events:none;transition:border-color .22s;position:absolute;inset:0}.preview-frame img,.product-preview img{object-fit:cover;width:calc(100% + 8px);height:calc(100% + 8px);margin:-4px;display:block}.preview-placeholder{width:100%;height:100%;color:var(--muted);place-items:center;font-size:15px;font-weight:650;display:grid}.product-detail-actions{border-top:1px solid var(--subtle);justify-content:space-between;gap:16px;padding-top:24px;display:flex}.detail-nav-button{min-height:38px;color:var(--muted);cursor:pointer;letter-spacing:0;text-align:left;background:0 0;border:0;padding:0;font-size:clamp(15px,1vw,18px);font-weight:680;transition:color .22s,transform .22s}.detail-nav-button:hover,.detail-nav-button:focus-visible{color:var(--foreground)}.detail-nav-button:hover{transform:translateY(-1px)}.detail-nav-button:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:8px}.detail-nav-button-next{text-align:right;margin-left:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(48px,6vw,78px) clamp(34px,5vw,72px);display:grid}.product-card{width:100%;min-width:0;color:var(--foreground);cursor:pointer;text-align:left;-webkit-user-select:text;user-select:text;background:0 0;border:0;gap:18px;padding:0;display:grid}.product-card:hover .product-preview,.product-card:focus-visible .product-preview,.product-card[aria-pressed=true] .product-preview{border-color:#0000}.product-card:hover .product-preview:after,.product-card:focus-visible .product-preview:after,.product-card[aria-pressed=true] .product-preview:after{border-color:color-mix(in srgb, var(--foreground) 58%, transparent)}.product-card:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:8px}.product-title{letter-spacing:0;-webkit-user-select:text;user-select:text;min-height:28px;font-size:clamp(19px,1.38vw,26px);font-weight:760;line-height:1.15;display:block}.reveal{animation:.78s cubic-bezier(.19,1,.22,1) both revealText}.reveal-two{animation-delay:.11s}.reveal-three{animation-delay:.22s}.reveal-four{animation-delay:.33s}.reveal-five{animation-delay:.44s}@keyframes revealText{0%{opacity:0;filter:blur(3px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes projectsViewReveal{0%{opacity:0;filter:blur(1.5px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (max-width:760px){.site-shell{padding:26px 24px 46px}.site-header{min-height:66px}.theme-toggle{width:36px;height:36px}.theme-icon{width:30px;height:30px;font-size:24px;line-height:30px}.nav-links{gap:24px}.nav-links button{font-size:16px}.page-panel{padding-top:74px}.content-column{width:100%}.projects-panel{padding-top:64px}h1{font-size:clamp(36px,10.5vw,50px)}.headline-subtitle{font-size:clamp(22px,6.3vw,32px)}.intro-copy,.contact-line{font-size:16px}.product-detail,.product-grid{grid-template-columns:1fr}.product-detail{gap:30px}.product-link-previews{gap:22px}.product-detail-actions{flex-direction:column;align-items:stretch}.detail-nav-button-next{text-align:left;margin-left:0}.product-card{gap:14px}.product-title{font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
