html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--bg:#f7f5f0;--bg-2:#eeebe4;--card:#fff;--ink:#141414;--ink-2:#454545;--ink-3:#7c7c7c;--line:#ddd9d0;--accent:#ff5c00;--accent-2:#e04e00;--accent-ink:#141414;--shadow:0 1px 2px #1414140a, 0 8px 24px -12px #1414142e;--radius:14px;--shot:1500 / 940;--font:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-brand:"Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar:250px;--gutter:clamp(20px, 4vw, 48px);--gap:22px;--cap:92px;--max:1160px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#141414;--bg-2:#1d1d1d;--card:#222;--ink:#f2efe9;--ink-2:#c9c6be;--ink-3:#8c8c8c;--line:#2c2c2c;--accent-2:#ff7a33;--shadow:0 1px 2px #0003, 0 10px 30px -14px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{font:400 18px/1.6 var(--font);color:var(--ink-2);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:var(--ink);text-decoration:none}.about a,.contact a,.prose a,p a{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}.about a:hover,.contact a:hover,.prose a:hover,p a:hover{color:var(--accent-2)}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}dd,dl,figure{margin:0}address{font-style:normal}.i{vertical-align:-.12em;width:1em;height:1em;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden}.skip,.sr-only{position:absolute}.skip{z-index:100;background:var(--accent);color:#fff;border-radius:8px;padding:10px 14px;font-weight:600;top:-60px;left:8px}.skip:focus{top:8px}::selection{background:var(--accent);color:#fff}.sidebar{width:var(--sidebar);z-index:20;flex-direction:column;padding:40px 0 34px 44px;position:fixed;inset:0 auto 0 0}.sidebar,.sidebar__top{justify-content:space-between;display:flex}.brand,.sidebar__top{align-items:center}.brand{color:var(--ink);gap:9px;display:inline-flex}.brand__mark{width:15px;height:auto;color:var(--accent)}.brand__word{font-family:var(--font-brand);letter-spacing:.1em;text-transform:uppercase;font-size:19px;font-weight:700;line-height:1}.menu-toggle{display:none}.nav{position:absolute;top:33%;left:44px}.nav ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.nav a{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);transition:color .25s var(--ease),transform .35s var(--ease);padding-left:20px;font-size:15px;font-weight:700;display:inline-block;position:relative}.nav a:before{content:"";background:var(--accent);opacity:0;width:13px;height:13px;transition:opacity .25s var(--ease),transform .35s var(--ease);margin-top:-6px;position:absolute;top:50%;left:0;transform:translate(-6px);-webkit-mask:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.2%22%20d%3D%22M2.5%208h10m-4-4.5L13%208l-4.5%204.5%22%2F%3E%3C%2Fsvg%3E) 50%/contain no-repeat;mask:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.2%22%20d%3D%22M2.5%208h10m-4-4.5L13%208l-4.5%204.5%22%2F%3E%3C%2Fsvg%3E) 50%/contain no-repeat}.nav a.is-active,.nav a:hover{color:var(--ink)}.nav a.is-active:before,.nav a:hover:before{opacity:1;transform:none}.sidebar__bottom{gap:18px;width:186px;display:grid}.side-meta{border-top:1px solid var(--line);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;gap:12px;padding-top:14px;font-size:12px;font-weight:700}.side-meta,.side-meta__icons{align-items:center;display:flex}.side-meta__icons{gap:9px}.side-meta__icons a,.theme-toggle{color:var(--ink-3);transition:color .2s,transform .3s var(--ease);align-items:center;padding:0;font-size:15px;line-height:1;display:inline-flex}.side-meta__icons a:hover,.theme-toggle:hover{color:var(--ink);transform:translateY(-1px)}.theme-toggle__moon{display:inline-flex}.side-meta__copy{line-height:1}.theme-toggle__sun,:root[data-theme=dark] .theme-toggle__moon{display:none}:root[data-theme=dark] .theme-toggle__sun{display:inline-flex}.main{--main-w:calc(var(--max) + var(--gutter)*2);margin-left:max(var(--sidebar),calc(var(--sidebar) + (100% - var(--sidebar) - var(--main-w))/2));padding:40px var(--gutter) 60px;max-width:var(--main-w);outline:none;min-height:100vh}.page-head{margin-bottom:30px}.page-head--home{margin-bottom:26px}.intro{color:var(--ink-2);letter-spacing:.01em;margin:0 0 34px;font-size:15px;font-weight:700}.intro--wide{color:var(--ink-2);max-width:50ch;margin:20px 0 0;font-size:19px;font-weight:400;line-height:1.5}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:12.5px;font-weight:800}.eyebrow a{color:inherit}.eyebrow a:hover{color:var(--accent-2)}.headline{letter-spacing:-.03em;color:var(--ink);max-width:28ch;margin:0;font-size:clamp(34px,4.6vw,52px);font-weight:700;line-height:1.1}.headline--post{max-width:24ch;font-size:clamp(28px,3.8vw,40px)}.tags{color:var(--ink-3);letter-spacing:0;margin:9px 0 0;font-size:14px;font-weight:500}.tags i{color:var(--line);white-space:normal;margin:0 2px;font-style:normal}.tags span{white-space:nowrap}[data-split] .line{display:block;overflow:hidden}.featured{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:54px;display:grid}.feat{color:var(--ink);flex-direction:column;min-width:0;display:flex}.feat__media{border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);aspect-ratio:var(--shot);isolation:isolate;position:relative;overflow:hidden;transform:translateZ(0)}.feat__media:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000d}.feat__media img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100%;height:100%;transition:transform .9s var(--ease);will-change:transform}.feat:hover .feat__media img{transform:scale(1.03)}.feat__body{padding-top:16px}.feat__title{letter-spacing:-.02em;align-items:center;gap:8px;font-size:26px;font-weight:700;display:flex}.feat__title .i-arrow{color:var(--accent);transition:transform .35s var(--ease);font-size:18px}.feat:hover .feat__title .i-arrow{transform:translate(5px)}.feat__summary{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:44ch;margin:7px 0 0;font-size:17px;line-height:1.5;display:-webkit-box;overflow:hidden}.feat .tags{margin-top:10px}.work__label{margin:0 0 18px}.grid{align-items:start;gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:70px;display:grid}.card{min-width:0;color:var(--ink);flex-direction:column;grid-column:span 4;display:flex}.card__media{aspect-ratio:var(--shot);border-radius:var(--radius);background:var(--tile-bg,var(--card));box-shadow:var(--shadow);isolation:isolate;flex:none;position:relative;overflow:hidden;transform:translateZ(0)}.card__media img{-o-object-fit:cover;object-fit:cover;-o-object-position:var(--tile-pos,top);object-position:var(--tile-pos,top);width:100%;height:100%;transition:transform .9s var(--ease);will-change:transform}.card--logo .card__media img{-o-object-fit:contain;object-fit:contain;padding:var(--tile-pad,16%)}.card__media:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000d}.card__caption{min-height:var(--cap);padding-top:13px}.card__title{letter-spacing:-.01em;align-items:center;gap:6px;font-size:19px;font-weight:700;line-height:1.2;display:flex}.card__title .i-arrow{color:var(--accent);transition:transform .35s var(--ease);font-size:14px}.card:hover .card__title .i-arrow{transform:translate(4px)}.card:hover .card__media img{transform:scale(1.035)}.card .tags{white-space:normal;margin-top:4px;line-height:1.4}html.lenis [data-card]{opacity:0;transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0)*60ms);transform:translateY(22px)}html.lenis [data-card].is-inview{opacity:1;transform:none}html.lenis.is-transitioning [data-card]{transition-delay:calc(var(--i,0)*60ms + .2s)}.section{border-top:1px solid var(--line);padding:44px 0}.section--first{border-top:0;padding-top:0}.section__title{letter-spacing:-.02em;margin-bottom:26px;font-size:30px;font-weight:700}.about{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:40px;display:grid}.about__text p{margin:0;font-size:17px;line-height:1.65}.about__text strong{color:var(--ink)}.clients{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:18px 24px;display:grid}.clients--wide{grid-template-columns:repeat(6,minmax(0,1fr))}.client{height:56px;transition:background .25s,transform .35s var(--ease);border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;display:flex}.client img{-o-object-fit:contain;object-fit:contain;filter:grayscale()contrast(1.05);opacity:.8;width:auto;max-width:100%;height:100%;max-height:100%;transition:filter .3s,opacity .3s}.client--dark{background:var(--accent-ink)}.client:hover{background:var(--bg-2);transform:translateY(-2px)}.client--dark:hover{background:#262626}.client:hover img{filter:none;opacity:1}.client--text{font-family:var(--font-brand);color:var(--ink);text-align:center;font-size:17px;font-weight:700}:root[data-theme=dark] .client img{filter:grayscale()invert()contrast(.9)}:root[data-theme=dark] .client--dark img{filter:grayscale()}:root[data-theme=dark] .client:hover img{filter:invert()}.contact{grid-template-columns:1.2fr 1fr 1.1fr;gap:40px;font-size:17px;display:grid}.contact__list>div{grid-template-columns:76px 1fr;gap:10px;padding:4px 0;display:grid}.contact__list dt{color:var(--ink-3)}.contact__list dd a{color:var(--ink)}.socials{gap:12px;font-size:18px;display:flex}.socials a{color:var(--ink-2);transition:color .2s,transform .3s var(--ease)}.socials a:hover{color:var(--accent-2);transform:translateY(-1px)}.contact__studio{line-height:1.6}.contact__studio strong{color:var(--ink)}.contact__colophon h3{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:12.5px;font-weight:800}.contact__colophon p{color:var(--ink-3);margin:0;font-size:14.5px;line-height:1.6}.contact--page{font-size:18px}.big-link{letter-spacing:-.02em;color:var(--ink);border-bottom:3px solid var(--accent);align-items:center;gap:12px;padding-bottom:6px;font-size:clamp(22px,3.6vw,40px);font-weight:600;transition:color .25s;display:inline-flex}.big-link .i-arrow{color:var(--accent);transition:transform .35s var(--ease)}.big-link:hover{color:var(--accent-2)}.big-link:hover .i-arrow{transform:translate(6px)}.cta{color:var(--ink);margin:0;font-size:26px;font-weight:600}.cta a{color:var(--accent-2);text-decoration:none}.cta a:hover .i-arrow{transform:translate(6px)}.cta .i-arrow{transition:transform .35s var(--ease)}.quote{max-width:760px}.quote__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.field{gap:7px;min-width:0;display:grid}.field--span{grid-column:1/-1}.field label{color:var(--ink);font-size:15px;font-weight:700}.field__hint{color:var(--ink-3);font-weight:500}.field input,.field select,.field textarea{width:100%;font:400 17px/1.4 var(--font);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:140px;line-height:1.55}.field select{appearance:none;cursor:pointer;background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%237c7c7c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.8%22%20d%3D%22m4%206%204%204%204-4%22%2F%3E%3C%2Fsvg%3E);background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.field input::-moz-placeholder{color:var(--ink-3)}.field textarea::-moz-placeholder{color:var(--ink-3)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:none}.quote__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.quote__turnstile:not(:empty){margin-top:22px}.quote__error{color:var(--accent-2);margin:18px 0 0;font-size:15.5px;font-weight:600}.quote__actions{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:24px;display:flex}.quote__fine{color:var(--ink-3);margin:0;font-size:14.5px}.quote__sent{max-width:52ch}.quote__sent .eyebrow{color:var(--accent-2);margin-bottom:10px;display:block}.quote__sent h3{letter-spacing:-.015em;margin-bottom:10px;font-size:26px}.quote__sent p{margin:0;font-size:17px}.button{background:var(--accent);color:#fff;letter-spacing:.01em;transition:background .2s,transform .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:14px 24px;font-size:16.5px;font-weight:700;display:inline-flex}.button:hover{background:var(--accent-2)}.button:hover .i-arrow{transform:translate(4px)}.button .i-arrow{transition:transform .35s var(--ease)}.button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.button:disabled{opacity:.6;cursor:progress}.prose{max-width:64ch;font-size:18px;line-height:1.7}.prose p{margin:0 0 1.2em}.prose strong{color:var(--ink)}.prose h2{letter-spacing:-.015em;margin:1.9em 0 .7em;font-size:25px}.prose pre{border:1px solid var(--line);font:14px/1.6 var(--mono);border-radius:10px;margin:0 0 1.4em;padding:18px 20px;overflow-x:auto}.prose code,.prose pre{background:var(--bg-2);color:var(--ink)}.prose code{font:.9em var(--mono);border-radius:5px;padding:.1em .35em}.prose pre code{background:0 0;padding:0}.prose--lead{font-size:21px}.prose--lead p{margin-bottom:1em}.prose .lead{color:var(--ink);margin-bottom:1.4em;font-size:23px;font-weight:500;line-height:1.45}.prose--article{padding-top:34px}.service-block{grid-template-columns:230px minmax(0,1fr);gap:40px;display:grid}.service-block__head{align-content:start;gap:6px;display:grid}.service-block__head .eyebrow{color:var(--accent-2);margin:0}.service-block__head .section__title{margin:0}.service-block__body .prose{margin:0 0 18px}.service-block__points{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0 0 22px;padding:0;font-size:16.5px;list-style:none;display:grid}.service-block__points li{padding-left:18px;position:relative}.service-block__points li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.service-block__examples{flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:0;font-size:16px;display:flex}.service-block__examples .eyebrow{margin:0 6px 0 0}.service-block__examples i{color:var(--line);font-style:normal}.service-block__examples a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.service-block__rate{margin:14px 0 0;font-size:16px}.service-block__rate a{color:var(--ink);font-weight:600}.service-block__rate a:hover{color:var(--accent-2)}.service-block__rate .i-arrow{color:var(--accent);transition:transform .35s var(--ease);font-size:12px}.service-block__rate a:hover .i-arrow{transform:translate(4px)}.rates{margin:0;padding:0;list-style:none}.rate{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px 32px;padding:18px 0;display:grid}.rate--quote,.rate:first-child{border-top:0;padding-top:4px}.rate__name{letter-spacing:-.01em;font-size:19px}.rate__detail{max-width:52ch;margin:5px 0 0;font-size:16px;line-height:1.55}.rate__price{color:var(--ink);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:19px;font-weight:700}.rate__price a{color:var(--accent-2);text-decoration:none}.rate__price .i-arrow{transition:transform .35s var(--ease);font-size:14px}.rate__price a:hover .i-arrow{transform:translate(4px)}.rate__from{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);margin-right:4px;font-size:11.5px;font-weight:800}.rate__per{color:var(--ink-3);font-size:15px;font-weight:500}.rates-notes{grid-template-columns:1fr;max-width:64ch}.rates-reviewed{color:var(--ink-3);margin:0;font-size:14.5px}.process{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.process__step h3{margin:10px 0 7px;font-size:19px}.process__step p{margin:0;font-size:16px;line-height:1.6}.process__num{font-family:var(--font-brand);color:var(--accent);font-size:25px;font-weight:700}.team{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.team__member{align-items:center;gap:14px;display:flex}.team__avatar{background:var(--accent);color:#fff;width:56px;height:56px;font-family:var(--font-brand);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.team__text{flex-direction:column;gap:2px;display:flex}.team__name{color:var(--ink);font-size:18px;font-weight:700}a.team__name{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}a.team__name:hover{color:var(--accent-2)}.team__role{color:var(--ink-3);font-size:15px}.tools{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tools__item{aspect-ratio:1;color:var(--ink-3);place-items:center;transition:color .2s;display:grid}.tools__item:hover{color:var(--ink)}.tools__icon{width:30px;height:30px}.hero{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--tile-bg,var(--card));aspect-ratio:16/8;max-width:100%;overflow:hidden}.hero img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;scale:1.12}.hero--logo img{-o-object-fit:contain;object-fit:contain;padding:var(--tile-pad,20%);scale:1}.hero--post{aspect-ratio:3}.hero--post img{-o-object-fit:cover;object-fit:cover;scale:1}.case{grid-template-columns:230px minmax(0,1fr);gap:48px;padding:40px 0 10px;display:grid}.case__meta dl>div{border-top:1px solid var(--line);padding:12px 0;font-size:15.5px}.case__meta dt{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:11.5px;font-weight:800}.case__meta dd{color:var(--ink)}.case__meta dd a{color:var(--accent-2);font-weight:600}.case__meta .i-arrow{font-size:11px}.gallery{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));padding:30px 0 10px;display:grid}.gallery__item{border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden}.gallery__item img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%}.gallery__item figcaption{color:var(--ink-3);padding:12px 16px 14px;font-size:14px}html.lenis .gallery__item{opacity:0;transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0)*80ms);transform:translateY(20px)}html.lenis .gallery__item.is-inview{opacity:1;transform:none}.pager{justify-content:space-between;gap:20px;padding:40px 0 10px;display:flex}.pager__link{color:var(--ink);gap:4px;max-width:45%;display:grid}.pager__link--next{text-align:right}.pager__label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:800}.pager__title{font-size:18px;font-weight:600;transition:color .2s}.pager__link:hover .pager__title{color:var(--accent-2)}.related{align-items:center;gap:14px;padding:20px 0 0;display:flex}.related .eyebrow{margin:0}.related a{color:var(--ink);font-weight:600}.related a:hover{color:var(--accent-2)}.related .i-arrow{color:var(--accent)}.frame{background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;overflow:hidden}.frame__bar{background:var(--bg-2);border-bottom:1px solid var(--line);align-items:center;gap:10px;height:36px;padding:0 12px;display:flex}.frame__dots{flex:none;gap:6px;display:flex}.frame__dots span{background:var(--line);border-radius:50%;width:9px;height:9px}.frame__dots span:first-child{background:var(--accent)}.frame__url{background:var(--bg);color:var(--ink-3);font:600 12.5px/1 var(--mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:60%;margin:0 auto;padding:4px 15px;overflow:hidden}.frame img{width:100%;display:block}.showcase{padding-bottom:34px;position:relative}.showcase__phone{background:var(--ink);border:5px solid var(--ink);border-radius:16px;width:14.5%;min-width:92px;max-width:148px;position:absolute;bottom:0;right:1.5%;overflow:hidden;box-shadow:0 18px 40px -14px #00000073}.showcase__phone img{width:100%;display:block}:root[data-theme=dark] .showcase__phone{background:#000;border-color:#000}.app-shot{background:var(--bg-2);border-radius:var(--radius);justify-items:center;gap:14px;padding:34px 0 10px;display:grid}.app-shot__phone{background:var(--ink);border:6px solid var(--ink);border-radius:22px;width:240px;max-width:60%;display:block;overflow:hidden;box-shadow:0 20px 44px -16px #00000073}.app-shot__phone img{width:100%;display:block}.app-shot figcaption{color:var(--ink-3);padding-bottom:26px;font-size:14px}.gallery--shots .gallery__item img{aspect-ratio:var(--shot);-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}.features{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:40px;display:grid}.feature{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);transition:transform .4s var(--ease);grid-template-rows:auto 1fr;grid-template-columns:168px 1fr;gap:6px 20px;padding:14px;display:grid}.feature:hover{transform:translateY(-2px)}.feature__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);grid-column:1/-1;align-items:center;gap:7px;font-size:11.5px;font-weight:800;display:flex}.feature__eyebrow .i{color:var(--accent)}.feature__media{aspect-ratio:3/2;border-radius:8px;overflow:hidden}.feature__media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.feature__body{color:var(--ink-3);align-content:start;gap:5px;padding-top:5px;font-size:14px;display:grid}.feature__body strong{color:var(--ink);font-size:18px;line-height:1.3}.feature .i-arrow{color:var(--accent);font-size:12px}.posts{-moz-columns:3;columns:3;-moz-column-gap:var(--gap);column-gap:var(--gap)}.post{-moz-column-break-inside:avoid;break-inside:avoid;color:var(--ink);margin-bottom:30px;display:block}.post__media{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card);overflow:hidden}.post__media img{width:100%;transition:transform .9s var(--ease)}.post:hover .post__media img{transform:scale(1.03)}.post__title{margin-top:13px;font-size:17.5px;font-weight:700;line-height:1.25}.post__title .i-arrow{color:var(--accent);font-size:12px}.post__date{color:var(--ink-3);margin-top:4px;font-size:14px;display:block}.curtain{z-index:50;transform-origin:bottom;pointer-events:none;background:#f7f5f0;place-items:center;display:grid;position:fixed;inset:0;transform:scaleY(0)}.curtain__mark{width:26px;color:var(--accent);opacity:0}.is-transitioning .curtain{pointer-events:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}html.lenis .gallery__item,html.lenis [data-card]{opacity:1;transform:none}}@media (width<=1200px){.card{grid-column:span 6}.featured{grid-template-columns:1fr;gap:26px;margin-bottom:46px}.feat{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:26px;display:grid}.feat__body{padding-top:0}.feat__summary{max-width:none}}@media (width<=1100px){:root{--sidebar:210px}.sidebar{padding-left:30px}.nav{left:30px}.clients,.clients--wide{grid-template-columns:repeat(4,minmax(0,1fr))}.contact{grid-template-columns:1fr 1fr}.process{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){:root{--sidebar:0px}.sidebar{top:0;width:auto;padding:14px var(--gutter);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:block;position:sticky;inset:auto}.menu-toggle{color:var(--ink);font-size:22px;display:inline-flex}.nav{padding:18px 0 6px;display:none;position:static}.nav ul{gap:14px}.nav-open .nav{display:block}.sidebar__bottom{display:none}.nav-open .sidebar__bottom{width:auto;padding-top:10px;display:grid}.main{padding:26px var(--gutter) 50px;margin-left:0}.about,.case,.service-block{grid-template-columns:1fr}.case,.service-block{gap:24px}.case__meta dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.posts{-moz-columns:2;columns:2}.feat__title{font-size:23px}}@media (width<=760px){:root{--gap:16px;--cap:86px}.nav a{font-size:13px}.contact{gap:24px}.contact,.features{grid-template-columns:1fr}.featured{gap:30px;margin-bottom:40px}.feat{display:flex}.feat__body{padding-top:14px}.feat__title{font-size:22px}.feat__summary{font-size:16px}.feature{grid-template-columns:110px 1fr}.clients,.clients--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery{grid-template-columns:1fr}.showcase{padding-bottom:0}.frame__url,.showcase__phone{display:none}.posts{-moz-columns:1;columns:1}.process,.quote__grid,.rate,.service-block__points{grid-template-columns:1fr}.rate__price{text-align:left}.headline{max-width:none}}@media (width<=620px){.card{grid-column:span 12}.card__caption{min-height:0;padding-bottom:4px}}
