@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/schibsted-grotesk-latin-ext-wght-normal.09a8b277.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_next/static/media/schibsted-grotesk-latin-wght-normal.dae0c9f4.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-ext-wght-normal.8860201a.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-wght-normal.20151429.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-math-wght-normal.cad38c99.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-symbols-wght-normal.d64d8e2d.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-vietnamese-wght-normal.4250ef26.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-ext-wght-normal.79c53978.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-wght-normal.89c3d590.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--paper:#0a1020;--paper-2:#0e1730;--panel:#121b33;--ink:#eaf0fb;--pine:#4fd8c9;--pine-ink:#04201d;--marker:#f6b73c;--line:#24314f;--mute:#9eabc6;--glow-a:rgba(79,216,201,0.16);--glow-b:rgba(124,108,255,0.18);--shadow:0 40px 80px -40px rgba(0,0,0,0.9);--display:"Schibsted Grotesk Variable","Helvetica Neue",Arial,sans-serif;--body:"Onest Variable",system-ui,-apple-system,"Segoe UI",sans-serif;--wrap:1180px;color-scheme:dark}:root[data-theme=light]{--paper:#f4f6fb;--paper-2:#e9eef8;--panel:#ffffff;--ink:#0d1530;--pine:#0b8c80;--pine-ink:#ffffff;--marker:#e39a12;--line:#d6deec;--mute:#536079;--glow-a:rgba(11,140,128,0.12);--glow-b:rgba(92,76,230,0.10);--shadow:0 40px 80px -40px rgba(13,21,48,0.45);color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--pine)}:focus-visible{outline:3px solid var(--pine);outline-offset:3px;border-radius:4px}::selection{background:var(--marker);color:#0a1020}h1,h2,h3{font-family:var(--display);margin:0;color:var(--ink);text-wrap:balance}h1{font-size:clamp(2.5rem,6.4vw,5rem);line-height:.98;font-weight:800;letter-spacing:-.035em}h2{font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.05;font-weight:750;letter-spacing:-.025em}h3{font-size:1.25rem;line-height:1.2;font-weight:700;letter-spacing:-.01em}p{margin:0}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 max(16px,4vw)}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:6px;z-index:50}.skip:focus{left:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lede,.mute{color:var(--mute)}.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;max-width:36em}.mark{color:var(--ink);background:linear-gradient(transparent 62%,color-mix(in srgb,var(--marker) 45%,transparent) 62%,color-mix(in srgb,var(--marker) 45%,transparent) 94%,transparent 94%);padding:0 2px}.site-head{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent}.site-head[data-scrolled=true]{border-bottom-color:var(--line)}.head-row{justify-content:space-between;gap:16px;height:68px}.brand,.head-row{display:flex;align-items:center}.brand{font:800 1.15rem/1 var(--display);letter-spacing:-.02em;text-decoration:none;gap:10px}.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--pine);box-shadow:0 0 0 4px color-mix(in srgb,var(--pine) 22%,transparent)}.nav{display:flex;align-items:center;gap:4px}.nav a{text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:500;font-size:.96rem}.nav a[aria-current=page]{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}.theme-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);width:40px;height:40px;border-radius:10px;cursor:pointer;display:grid;place-items:center}.menu-btn{display:none}@media (max-width:760px){.menu-btn{display:grid;border:1px solid var(--line);background:var(--panel);color:var(--ink);width:44px;height:44px;border-radius:10px;place-items:center;cursor:pointer}.nav{position:absolute;top:68px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:8px max(16px,4vw) 16px;border-bottom:1px solid var(--line);display:none}.nav[data-open=true]{display:flex}.nav a{padding:12px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:12px;font:600 1rem/1 var(--body);text-decoration:none;border:1.5px solid var(--ink);cursor:pointer}.btn-solid{background:var(--pine);color:var(--pine-ink);border-color:var(--pine)}.btn-solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--panel);color:var(--ink)}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.hero{padding:clamp(40px,7vw,88px) 0 clamp(48px,7vw,96px)}.hero-grid{display:grid;grid-gap:48px;gap:48px;align-items:center}@media (min-width:980px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}.status{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;color:var(--mute);margin-bottom:22px}.status i{width:9px;height:9px;border-radius:50%;background:#2ea36b;box-shadow:0 0 0 4px rgba(46,163,107,.2)}.hero h1{margin-bottom:22px}.hero .lede{margin-bottom:30px}.hero-foot{margin-top:26px;font-size:.95rem;color:var(--mute)}.hero{position:relative;overflow:clip}.hero:before{inset:-20% -10% auto;height:120%;background:radial-gradient(40% 50% at 78% 40%,var(--glow-b),transparent 70%),radial-gradient(35% 45% at 60% 70%,var(--glow-a),transparent 70%)}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none}.hero:after{inset:0;opacity:.35;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(60% 70% at 70% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(60% 70% at 70% 45%,#000 20%,transparent 75%)}.hero .wrap{position:relative;z-index:1}.stage{--rx:6deg;--ry:-14deg;perspective:1600px;min-height:320px}.stage-inner{position:relative;aspect-ratio:16/12;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.8,.2,1)}.frame{display:block;position:relative;background:var(--panel);border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow),0 0 0 1px var(--line),0 0 60px -20px var(--glow-a)}.frame,.frame:hover{color:var(--ink)}.frame-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--panel)}.frame-bar b{width:9px;height:9px;border-radius:50%;background:var(--line)}.frame-bar b:first-child{background:#ff6b6b}.frame-bar b:nth-child(2){background:#ffc94d}.frame-bar b:nth-child(3){background:#3ddc84}.frame-url{margin-left:8px;flex:1 1;min-width:0;font-size:.72rem;color:var(--mute);background:var(--paper);border-radius:6px;padding:3px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame img,.frame video{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--paper-2)}.frame-main{position:absolute;left:0;top:4%;width:84%;transform:translateZ(0)}.frame-side{position:absolute;right:0;bottom:0;width:52%;transform:translateZ(90px)}.chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font:600 .85rem/1 var(--body);background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);box-shadow:0 0 0 1px var(--line),var(--shadow)}.chip i{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.2)}.chip-tests{left:-4%;bottom:14%;transform:translateZ(140px)}.chip-live{right:6%;top:-2%;transform:translateZ(120px)}.chip-live i{background:var(--pine);box-shadow:0 0 0 4px var(--glow-a)}@media (max-width:979px){.stage{--ry:-8deg;--rx:4deg;margin:8px 4% 0 0}.chip-tests{left:0}}@media (prefers-reduced-motion:no-preference){.stage-inner{animation:rise 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:rotateX(18deg) rotateY(-28deg) translateY(40px)}}.chip i{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px transparent}}}@media (prefers-reduced-motion:reduce){.stage-inner{transform:none}}.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.proof p{font:500 clamp(1.15rem,2vw,1.5rem)/1.55 var(--display);letter-spacing:-.01em;max-width:60em}.section{padding:clamp(56px,8vw,104px) 0}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(32px,4vw,52px)}.section-head p{max-width:34em;color:var(--mute)}.work-list{display:grid;grid-gap:clamp(56px,7vw,96px);gap:clamp(56px,7vw,96px)}.work-row{display:grid;grid-gap:28px;gap:28px;align-items:center}@media (min-width:900px){.work-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px}.work-row:nth-child(2n) .work-media{order:2}}.work-media{position:relative;display:block;perspective:1400px}.frame-row{transform:rotateY(-5deg) rotateX(2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.work-row:nth-child(2n) .frame-row{transform:rotateY(5deg) rotateX(2deg)}.work-row .frame-row:focus-visible,.work-row .frame-row:hover{transform:none}@media (prefers-reduced-motion:reduce){.frame-row,.work-row:nth-child(2n) .frame-row{transform:none}}.work-media .phone{position:absolute;right:4%;bottom:-18px;width:20%;border-radius:14px 14px 0 0;box-shadow:0 0 0 4px var(--panel),var(--shadow);aspect-ratio:390/600;object-position:top}.kind{display:inline-block;font-size:.85rem;font-weight:600;color:var(--pine);margin-bottom:10px}.work-text h3{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.02em;margin-bottom:6px}.work-text .for{color:var(--mute);margin-bottom:14px}.work-text .facts{list-style:none;padding:0;margin:18px 0 22px;display:grid;grid-gap:8px;gap:8px}.work-text .facts li{padding-left:22px;position:relative}.work-text .facts li:before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:2px;background:var(--marker)}.text-link{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--pine);text-decoration-color:var(--pine)}.doors{display:grid;grid-gap:20px;gap:20px}@media (min-width:860px){.doors{grid-template-columns:1fr 1fr}}.door{border-radius:18px;padding:clamp(24px,3vw,40px);display:grid;grid-gap:14px;gap:14px;align-content:start}.door-hire{background:linear-gradient(135deg,#10414a,#1e1f57);color:#eaf0fb;box-shadow:0 0 0 1px rgba(255,255,255,.08)}.door-hire h2,.door-hire h3{color:#fff}.door-hire .btn-solid{background:#fff;color:#0a1020;border-color:#fff}.door-hire .btn-solid:hover{background:var(--marker);border-color:var(--marker);color:#0a1020}.door-hire ul{color:rgba(234,240,251,.85)}.door-client{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}.door ul{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.svc{display:grid;border-top:1px solid var(--line)}.svc-item{display:grid;grid-gap:8px 32px;gap:8px 32px;padding:26px 0;border-bottom:1px solid var(--line)}@media (min-width:860px){.svc-item{grid-template-columns:1.1fr 1.6fr .8fr;align-items:start}}.svc-item h3{font-size:1.3rem}.svc-price{font-family:var(--display);font-weight:700;font-size:1.15rem}.svc-price span{display:block;font-family:var(--body);font-weight:400;font-size:.92rem;color:var(--mute)}.quotes{display:grid;grid-gap:20px;gap:20px}@media (min-width:860px){.quotes{grid-template-columns:1fr 1fr}}.quote{margin:0;background:var(--panel);border-radius:16px;padding:28px;box-shadow:inset 0 0 0 1px var(--line);display:grid;grid-gap:18px;gap:18px;align-content:space-between}.quote:first-child,.quote:last-child:nth-child(2n){grid-column:1/-1}.quote:first-child blockquote{font-size:clamp(1.2rem,2vw,1.45rem)}.quote blockquote{margin:0;font:500 1.08rem/1.55 var(--display);letter-spacing:-.005em}.quote figcaption{font-size:.95rem}.quote figcaption b{display:block}.quote figcaption span{color:var(--mute)}.case-head{padding:clamp(36px,6vw,72px) 0 32px}.crumb{display:block;width:-moz-fit-content;width:fit-content;margin-bottom:18px;color:var(--mute)}.case-head h1{font-size:clamp(2.3rem,5.2vw,4rem);margin:6px 0 16px}.case-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.case-meta div{display:grid}.case-meta dt{font-size:.85rem;color:var(--mute)}.case-meta dd{margin:0;font-weight:600}.case-shot{border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--line),var(--shadow);background:var(--panel)}.case-shot img{width:100%}.case-body{display:grid;grid-gap:48px;gap:48px;padding-block:clamp(48px,6vw,80px)}@media (min-width:900px){.case-body{grid-template-columns:1fr 1.6fr;gap:72px}}.case-body h2{font-size:1.6rem;margin-bottom:14px}.case-body ul{margin:0;padding-left:20px;display:grid;grid-gap:10px;gap:10px}.case-body ul.chips{display:flex}.case-side{display:grid;grid-gap:32px;gap:32px;align-content:start}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0!important;margin:0}.chips li{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.92rem;background:var(--panel)}.results{list-style:none;padding:0!important;display:grid;grid-gap:10px;gap:10px}.results li{font:600 1.1rem/1.4 var(--display)}.results li span{background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%)}.note{font-size:.95rem;color:var(--mute);border-left:3px solid var(--line);padding-left:14px}.gallery{display:grid;grid-gap:20px;gap:20px}@media (min-width:760px){.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child:nth-last-child(odd){grid-column:1/-1}}.gallery figure{margin:0;border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:0 0 0 1px var(--line)}.gallery figcaption{padding:10px 14px;font-size:.9rem;color:var(--mute)}.video{border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--line);background:#000}.next-case{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:32px 0 0}.index,.next-case{border-top:1px solid var(--line)}.index{display:grid;grid-gap:0;gap:0}.index-row{display:grid;grid-template-columns:1fr;grid-gap:6px 24px;gap:6px 24px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}@media (min-width:860px){.index-row{grid-template-columns:160px 1.2fr 1.6fr 140px;align-items:center}}.index-row img{object-fit:cover;object-position:top;box-shadow:0 0 0 1px var(--line)}.index-row .blank,.index-row img{width:160px;aspect-ratio:16/10;border-radius:8px}.index-row .blank{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font:700 1.6rem var(--display);color:var(--pine)}.index-row h3{font-size:1.2rem}.index-row:hover h3{color:var(--pine)}.index-kind{font-size:.9rem;color:var(--mute)}.about-grid{display:grid;grid-gap:48px;gap:48px}@media (min-width:900px){.about-grid{grid-template-columns:1fr 1.5fr;gap:72px}}.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line);display:grid;grid-gap:28px;gap:28px}.timeline li{padding-left:22px;position:relative}.timeline li:before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--pine)}.timeline .when{font-size:.92rem;color:var(--mute)}.timeline h3{font-size:1.15rem;margin:2px 0}.timeline ul{margin:8px 0 0;padding-left:18px}.skills{display:grid;grid-gap:14px;gap:14px}.skills div{display:grid;grid-gap:4px;gap:4px}@media (min-width:640px){.skills div{grid-template-columns:130px 1fr}}.skills dt{font-weight:600}.skills dd{margin:0;color:var(--mute)}.contact-list{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--line)}.contact-list li{display:grid;grid-gap:4px;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}@media (min-width:700px){.contact-list li{grid-template-columns:200px 1fr;align-items:baseline}}.contact-list a{font:600 clamp(1.1rem,2vw,1.4rem) var(--display);word-break:break-word}.copy-btn{margin-left:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:4px 10px;font:500 .85rem var(--body);cursor:pointer;vertical-align:middle}.site-foot{border-top:1px solid var(--line);padding:40px 0 48px;margin-top:40px}.foot-row{gap:16px 32px;justify-content:space-between;align-items:center}.foot-links,.foot-row{display:flex;flex-wrap:wrap}.foot-links{gap:8px 20px}.foot-links a{text-decoration:none;font-weight:500}.cta-band{padding:clamp(48px,7vw,88px) 0}.cta-band h2{max-width:16em;margin-bottom:18px}.rv-wrap{display:grid;grid-gap:18px;gap:18px;padding:4px 0 8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.rv-row,.rv-wrap{overflow:hidden}.rv-track{width:max-content}.rv-dup,.rv-track{display:flex;gap:18px}.rv{margin:0;width:min(420px,82vw);flex:none;background:var(--panel);border-radius:18px;padding:24px;display:grid;grid-gap:14px;gap:14px;align-content:start;box-shadow:inset 0 0 0 1px var(--line)}.rv blockquote{margin:0;font:500 1.02rem/1.55 var(--display)}.rv figcaption{display:grid;grid-gap:2px;gap:2px;font-size:.9rem}.rv figcaption span{color:var(--mute)}.rv-stars{color:var(--marker);letter-spacing:2px;font-size:1.05rem}.rv-src{font-size:.8rem;font-weight:600;color:var(--pine)}@media (prefers-reduced-motion:no-preference){.rv-track{animation:drift 60s linear infinite}.rv-rev .rv-track{animation-direction:reverse;animation-duration:70s}.rv-row:focus-within .rv-track,.rv-row:hover .rv-track{animation-play-state:paused}@keyframes drift{to{transform:translateX(calc(-50% - 9px))}}}@media (prefers-reduced-motion:reduce){.rv-row{overflow-x:auto}.rv-dup{display:none}}.case-shot.frame img,.case-shot.frame video{aspect-ratio:16/10}.brief{display:grid;grid-gap:22px;gap:22px;padding:clamp(20px,3vw,32px);background:var(--panel);border:1px solid var(--line);border-radius:20px}.brief fieldset{border:0;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.brief label,.brief legend{font-weight:600}.brief-grid label,.brief>label{display:grid;grid-gap:8px;gap:8px}.brief-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.brief input:not([type=radio]),.brief textarea{font:400 1rem/1.4 var(--body);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;min-height:48px}.brief textarea{resize:vertical}.brief input:focus,.brief textarea:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px color-mix(in srgb,var(--pine) 25%,transparent)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills label{position:relative;font-weight:500;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;background:var(--paper)}.pills label.on{border-color:var(--pine);background:color-mix(in srgb,var(--pine) 16%,var(--paper))}.pills input{position:absolute;opacity:0;inset:0;cursor:pointer}.pills label:has(input:focus-visible){outline:3px solid var(--pine);outline-offset:2px}.brief .btn-line{background:transparent;color:var(--ink)}.brief-err{color:var(--marker);min-height:1.2em;margin:-8px 0 0}.small{font-size:.9rem}