@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fafaf9;--bg-sunk:#f4f2ee;--fg:#111;--fg-soft:#1d1d1d;--muted:#6b6b6b;--muted-2:#6f6d68;--line:#e7e5e1;--line-strong:#d6d3ce;--accent:#1d4ed8;--max-width:1240px;--prose-width:680px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";font-family:Geist Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55}::selection{background:var(--accent);color:#fff}a{color:var(--accent);border-bottom:1px solid;text-decoration:none;transition:opacity .15s}a:hover{opacity:.65}a.plain{color:var(--fg);border-bottom:none}a.plain:hover{opacity:.55}.skip-link{z-index:200;background:var(--fg);color:var(--bg);letter-spacing:.02em;border-bottom:none;border-radius:8px;padding:12px 18px;font-family:Geist Mono Variable,ui-monospace,monospace;font-size:13px;transition:transform .16s;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{opacity:1;outline:2px solid var(--accent);outline-offset:2px;transform:translateY(0)}img,svg{max-width:100%;display:block}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 32px}.wrap-wide{max-width:1480px;margin:0 auto;padding:0 32px}.prose{max-width:var(--prose-width)}.prose p{color:var(--fg-soft);text-wrap:pretty;margin-bottom:1.3em;font-size:18px;line-height:1.65}.prose p:last-child{margin-bottom:0}.prose p .em{color:var(--fg);font-style:italic}.mono{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,monospace;font-size:11px}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:14px;margin-bottom:56px;font-family:Geist Mono Variable,ui-monospace,monospace;font-size:11px;display:flex}.section-label:before{content:"";background:var(--line-strong);width:28px;height:1px}header.site{width:calc(100% - 28px);max-width:calc(var(--max-width) + 16px);z-index:50;background:0 0;border:none;padding:0;position:fixed;top:14px;left:50%;transform:translate(-50%)}header.site .header-glass{--glass-radius:999px;border-radius:var(--glass-radius);-webkit-backdrop-filter:blur(10px)saturate(180%)brightness(1.04);background:#fcfbf88c;padding:18px 28px;transition:border-radius .18s cubic-bezier(.32,.72,.18,1) .26s,background .18s .26s;overflow:hidden}header.site .header-glass .glass-inner-ring{border-radius:calc(var(--glass-radius) - 1px);transition:border-radius .18s cubic-bezier(.32,.72,.18,1) .26s}header.site .wrap{gap:32px}body.nav-open header.site .header-glass{--glass-radius:26px;background:#fcfbf8;transition:border-radius .18s cubic-bezier(.32,.72,.18,1),background .18s}body.nav-open header.site .header-glass .glass-inner-ring{transition:border-radius .18s cubic-bezier(.32,.72,.18,1)}header.site .header-glass:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(#1e1e2475,#0e0e1299);transition:opacity .36s;position:absolute;inset:0}header.site .header-glass.over-dark:after{opacity:1}header.site .header-glass.over-dark{--fg:#f5f3ee;--muted:#cbc8c1;--muted-2:#a8a59d}header.site .header-glass.over-dark .brand-tag{border-left-color:#fff3}header.site .header-glass.over-dark .lang{border-left-color:#ffffff29;border-right-color:#ffffff29}header.site .header-glass.over-dark nav.primary a.email{color:#93b4ff}header.site .header-glass.over-dark .nav-toggle{background:#ffffff29;border-color:#ffffff47}header.site .wrap{justify-content:space-between;align-items:center;max-width:none;padding:0;display:flex}header.site .nav-panel{align-items:center;display:flex}body{padding-top:96px}@media (width<=768px){body{padding-top:80px}header.site{width:calc(100% - 20px);top:10px}header.site .header-glass{--glass-radius:30px;padding:10px 14px 10px 18px;transition:background .14s}header.site .header-glass .glass-inner-ring,body.nav-open header.site .header-glass .glass-inner-ring{transition:none}body.nav-open header.site .header-glass{--glass-radius:30px;transition:background .14s}header.site .nav-toggle{width:44px;height:44px}header.site .brand{font-size:15px}}.ambient-field{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-orb{filter:blur(80px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.ambient-orb-a{background:radial-gradient(circle,#1d4ed86b,#1d4ed800 70%);width:560px;height:560px;animation:22s ease-in-out infinite alternate orb-drift-a;top:-120px;left:-80px}.ambient-orb-b{background:radial-gradient(circle,#b46edc5c,#b46edc00 70%);width:480px;height:480px;animation:28s ease-in-out infinite alternate orb-drift-b;top:30%;right:-100px}.ambient-orb-c{background:radial-gradient(circle,#f0aa5a4d,#f0aa5a00 70%);width:600px;height:600px;animation:32s ease-in-out infinite alternate orb-drift-c;bottom:-160px;left:35%}@keyframes orb-drift-a{0%{transform:translate(0)}to{transform:translate(80px,60px)}}@keyframes orb-drift-b{0%{transform:translate(0)}to{transform:translate(-60px,90px)}}@keyframes orb-drift-c{0%{transform:translate(0)}to{transform:translate(-90px,-50px)}}@media (prefers-reduced-motion:reduce){.ambient-orb{animation:none}}.glass-defs{width:0;height:0;position:absolute;overflow:hidden}.cta-glass-link{color:var(--fg);border-bottom:none;text-decoration:none;display:inline-block}.cta-glass-link:hover{opacity:1}.cta-glass{--glass-radius:999px;padding:14px 24px}.cta-glass-link:hover .cta-glass{transform:translateY(-1px);box-shadow:0 1px 1px #14141e0d,0 18px 44px -12px #1d4ed847,inset 0 1px #ffffffbf,inset 0 -1px #14141e0d,inset 0 0 0 1px #ffffff4d}.cta-glass-label{letter-spacing:-.012em;color:var(--fg);align-items:center;gap:10px;font-size:17px;display:inline-flex}.cta-glass-label .arrow{color:var(--accent);transition:transform .2s;display:inline-block}.cta-glass-link:hover .cta-glass-label .arrow{transform:translate(4px)}.cta-glass-link:active .cta-glass,a:active>.glass-surface,button:active>.glass-surface{transition:transform 90ms,box-shadow 90ms;transform:scale(.972);box-shadow:0 1px 1px #14141e0d,0 6px 14px -10px #14141e3d,inset 0 1px 1px #14141e1a,inset 0 -1px #ffffff8c,inset 0 0 0 .5px #fff6}.brand{letter-spacing:-.018em;color:var(--fg);border-bottom:none;align-items:center;gap:12px;font-size:18px;font-weight:600;transition:color .36s;display:inline-flex}.brand-mark{flex-shrink:0;width:18px;height:18px;display:inline-block;overflow:visible}.brand-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border-left:1px solid #14141e1a;align-self:center;padding:4px 0 4px 12px;font-family:Geist Mono Variable,monospace;font-size:10px;transition:color .36s,border-color .36s}nav.primary ul{align-items:center;gap:28px;list-style:none;display:flex}nav.primary a{color:var(--fg);border-bottom:none;padding-bottom:2px;font-size:14px;transition:color .36s;position:relative}nav.primary a[aria-current=page]{color:var(--fg)}nav.primary a[aria-current=page]:after{content:"";background:var(--fg);height:1px;position:absolute;bottom:-4px;left:0;right:0}nav.primary a.email{color:var(--accent);border-bottom:1px solid;padding-bottom:0}.lang{border-left:1px solid #14141e14;border-right:1px solid #14141e14;align-items:center;gap:4px;height:24px;margin:0 -4px;padding:0 14px;display:flex}nav.primary .lang a{letter-spacing:.08em;color:var(--muted-2);cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:4px 6px 6px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:400;line-height:1;text-decoration:none;transition:color .15s;position:relative}@media (width<=768px){nav.primary .lang a{align-items:center;min-height:44px;display:inline-flex}}nav.primary .lang a:hover{color:var(--fg);opacity:1}nav.primary .lang a[aria-current=true]{color:var(--accent);font-weight:600}nav.primary .lang a[aria-current=true]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:0;left:6px;right:6px}.lang-li{display:flex}.hero{border-bottom:1px solid var(--line);padding:56px 0 104px;position:relative}.hero .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--fg);-webkit-backdrop-filter:blur(7px)saturate(180%)brightness(1.04);background:#ffffff4d;border-radius:999px;align-items:center;gap:10px;margin-bottom:36px;padding:9px 16px 9px 13px;font-family:Geist Mono Variable,monospace;font-size:11px;display:inline-flex;box-shadow:0 1px 1px #14141e0a,0 8px 22px -8px #14141e29,inset 0 1px #ffffffb3,inset 0 0 0 1px #ffffff40}.hero .eyebrow .dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-out infinite pulse-dot;display:inline-block;position:relative;box-shadow:0 0 #1d4ed880}@keyframes pulse-dot{0%{box-shadow:0 0 #1d4ed88c}70%{box-shadow:0 0 0 9px #1d4ed800}to{box-shadow:0 0 #1d4ed800}}@media (prefers-reduced-motion:reduce){.hero .eyebrow .dot{animation:none}}.hero h1{letter-spacing:-.03em;text-wrap:balance;max-width:19ch;font-size:clamp(40px,5.4vw,76px);font-weight:400;line-height:1.04}.hero h1 em{font-style:italic;font-weight:400}.hero .lede{color:var(--muted);max-width:56ch;margin-top:36px;font-size:20px;line-height:1.5}.hero .cta{align-items:center;gap:32px;margin-top:56px;font-size:18px;display:flex}.hero .cta .arrow{transition:transform .2s;display:inline-block;transform:translate(0)}.hero .cta a:hover .arrow{transform:translate(4px)}.hero .cta .secondary{color:var(--muted);border-bottom:1px solid var(--line-strong);font-size:15px}.hero-video{z-index:0;background:#0c0f14;position:absolute;inset:0;overflow:hidden}.hero-video-poster,.hero-video-el{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hero-video-el{z-index:1;border:0}.hero-video-overlay{z-index:2;pointer-events:none;background:#0a0c1252;position:absolute;inset:0}.hero:has(.hero-video)>.wrap{z-index:3;position:relative}@media (prefers-reduced-motion:reduce){.hero-video-el{display:none}}@media (prefers-reduced-transparency:reduce){.hero-video-overlay{background:#0a0c1280}}section.work{border-bottom:1px solid var(--line);padding:112px 0 32px}.work-list{flex-direction:column;display:flex}.work-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:72px;min-width:0;padding:72px 0;display:grid}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row.reverse .work-card{order:2}.work-row.reverse .work-meta{order:1}.work-meta .row-index{color:var(--muted);letter-spacing:.08em;align-items:center;gap:12px;margin-bottom:22px;font-family:Geist Mono Variable,monospace;font-size:11px;display:flex}.work-meta{min-width:0}.work-meta .row-index .yr{color:var(--muted-2)}.work-meta h3{letter-spacing:-.022em;text-wrap:balance;margin-bottom:18px;font-size:30px;font-weight:500;line-height:1.15}.work-meta h3 a{color:var(--fg);border-bottom:none}.work-meta h3 a:hover{opacity:1;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.work-meta .one-line{color:var(--fg-soft);text-wrap:pretty;overflow-wrap:break-word;max-width:46ch;margin-bottom:28px;font-size:17px;line-height:1.55}.work-meta .one-line .arrow{color:var(--muted-2);margin:0 8px}.work-meta .stack{flex-wrap:wrap;gap:4px 0;width:fit-content;max-width:100%;margin-bottom:24px;display:flex}.tag{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line-strong);background:0 0;border-radius:2px;padding:4px 9px;font-family:Geist Mono Variable,monospace;font-size:10.5px}.work-meta .stack,.portfolio-copy .stack{backdrop-filter:url(#liquid-glass-distortion-soft)blur(2px)saturate(180%)brightness(1.04);background:#ffffff29;border-radius:13px;align-items:center;padding:6px 8px;box-shadow:0 1px 1px #14141e0a,0 12px 26px -20px #14141e3d,inset 0 1px #ffffffb3,inset 0 -1px 1px #14141e0f,inset 0 0 0 .5px #ffffff73}.stack .tag{background:0 0;border-color:#0000;padding:3px 7px}.work-meta .stack .tag{padding:3px 0}.work-meta .stack .tag:not(:first-child):before{content:"·";color:var(--muted-2);margin:0 8px}.work-meta .read-more{color:var(--fg);border-bottom:1px solid var(--line-strong);font-size:14px}.work-meta .read-more:hover{border-bottom-color:var(--accent);color:var(--accent)}section.prose-section{border-bottom:1px solid var(--line);padding:128px 0}section.prose-section h2{letter-spacing:-.025em;text-wrap:balance;max-width:16ch;margin-bottom:48px;font-size:clamp(32px,3.6vw,48px);font-weight:400;line-height:1.1}footer.site{background:var(--bg);padding:112px 0 40px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:64px;margin-bottom:96px;display:grid}.footer-big{letter-spacing:-.025em;text-wrap:balance;max-width:18ch;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.1}.footer-pitch{flex-direction:column;align-items:flex-start;gap:36px;display:flex}.footer-cta{color:var(--fg);border-bottom:none;display:inline-block}.footer-cta:hover{opacity:1}.footer-cta-glass{--glass-radius:999px;padding:18px 30px}.footer-cta:hover .footer-cta-glass{transform:translateY(-1px);box-shadow:0 1px 1px #14141e0d,0 22px 48px -14px #1d4ed852,inset 0 1px #ffffffc7,inset 0 -1px #14141e0d,inset 0 0 0 1px #ffffff52}.footer-cta-label{letter-spacing:-.012em;color:var(--fg);align-items:center;gap:14px;font-size:19px;font-weight:500;display:inline-flex}.footer-cta-arrow{color:var(--accent);transition:transform .22s;display:inline-block}.footer-cta:hover .footer-cta-arrow{transform:translate(4px)}.footer-side{flex-direction:column;gap:24px;padding-top:12px;display:flex}.footer-side .label{margin-bottom:4px}.footer-side p{color:var(--fg-soft);max-width:36ch;font-size:15px;line-height:1.55}.footer-side .small-links{flex-direction:column;gap:8px;margin-top:8px;display:flex}.footer-side .small-links a{color:var(--fg);border-bottom:none;font-size:14px}.footer-side .small-links a:hover{color:var(--accent)}.footer-meta{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;font-family:Geist Mono Variable,monospace;font-size:11px;display:flex}.footer-meta a{color:var(--muted);border-bottom:none}.footer-meta a:hover{color:var(--fg)}.footer-meta .meta-right{gap:28px;display:flex}.page-head{border-bottom:1px solid var(--line);padding:40px 0 72px}.page-head .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--fg);-webkit-backdrop-filter:blur(7px)saturate(180%);background:#ffffff4d;border-radius:999px;margin-bottom:28px;padding:9px 16px;font-family:Geist Mono Variable,monospace;font-size:11px;display:inline-block;box-shadow:0 1px 1px #14141e0a,0 6px 18px -6px #14141e24,inset 0 1px #ffffffa6,inset 0 0 0 1px #ffffff38}.page-head h1{letter-spacing:-.028em;text-wrap:balance;max-width:18ch;margin-bottom:28px;font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1.05}.page-head .lede{color:var(--muted);overflow-wrap:break-word;max-width:58ch;font-size:19px;line-height:1.5}.showcase{flex-direction:column;gap:64px;display:flex}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:96px;display:grid}.about-grid h2{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(32px,3.6vw,44px);font-weight:400;line-height:1.1}.svc-section{border-bottom:1px solid var(--line);padding:96px 0}.svc-section:last-of-type{border-bottom:1px solid var(--line)}.svc-grid{grid-template-columns:200px 1fr;gap:80px;display:grid}.svc-grid .svc-title h2{letter-spacing:-.018em;color:var(--fg);font-size:26px;font-weight:500;position:sticky;top:96px}.svc-grid .svc-title .num{letter-spacing:.1em;color:var(--muted-2);margin-bottom:14px;font-family:Geist Mono Variable,monospace;font-size:11px;display:block}.svc-body h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:32px 0 14px;font-family:Geist Mono Variable,monospace;font-size:11px}.svc-body h3:first-child{margin-top:0}.svc-body p{color:var(--fg-soft);text-wrap:pretty;max-width:60ch;margin-bottom:1em;font-size:17px;line-height:1.6}.svc-body .ex{color:var(--muted);letter-spacing:.02em;margin-top:16px;font-family:Geist Mono Variable,monospace;font-size:14px}.svc-body .ex a{color:var(--fg);border-bottom:1px solid var(--line-strong)}.svc-body .ex a:hover{color:var(--accent);border-bottom-color:var(--accent)}.portfolio-list{border-top:1px solid var(--line)}.portfolio-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:56px;min-width:0;padding:56px 0;display:grid}.portfolio-row.reverse .portfolio-shot-link,.portfolio-row.reverse .portfolio-shot{order:2}.portfolio-row.reverse .portfolio-copy{order:1}.portfolio-shot{aspect-ratio:16/10;border:1px solid var(--line-strong);background:var(--bg-sunk);isolation:isolate;border-radius:2px;display:block;position:relative;overflow:hidden}.portfolio-shot>img:not(.phone-screen){object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.1,1);display:block}.portfolio-shot:hover>img:not(.phone-screen),.portfolio-shot:focus-visible>img:not(.phone-screen){transform:scale(1.025)}.portfolio-copy{min-width:0;max-width:620px}.portfolio-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:18px;font-family:Geist Mono Variable,monospace;font-size:11px;display:flex}.portfolio-kicker .n,.portfolio-kicker .yr{color:var(--muted-2)}.portfolio-copy h2{letter-spacing:-.024em;text-wrap:balance;margin-bottom:18px;font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1.08}.portfolio-desc{color:var(--fg);text-wrap:pretty;overflow-wrap:break-word;max-width:48ch;margin-bottom:18px;font-size:18px;line-height:1.5}.portfolio-story{color:var(--fg-soft);text-wrap:pretty;overflow-wrap:break-word;max-width:58ch;margin-bottom:24px;font-size:15.5px;line-height:1.65}.portfolio-copy .stack{flex-wrap:wrap;gap:5px;width:fit-content;max-width:100%;margin-bottom:22px;display:flex}.portfolio-copy .read-more{color:var(--fg);border-bottom:1px solid var(--line-strong);font-size:14px}.portfolio-copy .read-more:hover{border-bottom-color:var(--accent);color:var(--accent)}.js .reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.2,.7,.1,1),transform .7s cubic-bezier(.2,.7,.1,1);transform:translateY(16px)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transition:none;transform:none}}.section-pad-lg{padding:112px 0}.svc-stack{color:var(--muted);font-size:14px}.cs-next{padding:96px 0 32px}.cs-next-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.cs-next-label{margin-bottom:12px}.cs-next-link{color:var(--fg);letter-spacing:-.018em;border-bottom:none;font-size:22px;font-weight:500}.cs-next-link:hover{color:var(--accent)}.nav-toggle{cursor:pointer;z-index:60;background:#ffffff59;border:1px solid #fff6;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;padding:0;transition:transform .2s,box-shadow .25s;display:none;position:relative;box-shadow:0 1px 1px #14141e0a,0 4px 12px -3px #14141e1f,inset 0 1px #ffffffb3,inset 0 -1px #14141e0d}.nav-toggle:hover{transform:translateY(-1px);box-shadow:0 1px 1px #14141e0a,0 8px 18px -4px #14141e2e,inset 0 1px #fffc,inset 0 -1px #14141e0d}.nav-toggle:active{transition:transform 90ms,box-shadow 90ms;transform:scale(.93);box-shadow:0 1px 1px #14141e0a,0 3px 8px -4px #14141e29,inset 0 1px 2px #14141e1f,inset 0 -1px #ffffff8c}.nav-toggle-bar{background:var(--fg);transform-origin:50%;will-change:transform, opacity;border-radius:2px;width:16px;height:1.5px;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .16s;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(5.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0;transition-duration:.12s;transform:scaleX(.2)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}html,body{overflow-x:hidden}img,svg,video{max-width:100%;height:auto}@media (width<=1024px){.wrap,.wrap-wide{padding:0 28px}nav.primary ul{gap:20px}.about-grid{gap:56px}.svc-grid{grid-template-columns:160px 1fr;gap:48px}.work-row{gap:48px}.portfolio-row{gap:40px}.footer-grid{gap:48px}.hero{padding:40px 0 80px}.hero h1{max-width:22ch}section.work{padding:88px 0 24px}section.prose-section{padding:96px 0}footer.site{padding:88px 0 32px}}@media (width<=768px){.wrap,.wrap-wide{padding:0 20px}header.site{padding:0}header.site .wrap{grid-template-columns:1fr auto;align-items:center;gap:0 12px;display:grid}header.site .wrap>.brand{grid-area:1/1}header.site .wrap>.nav-toggle{grid-area:1/2}header.site .wrap>.nav-panel{visibility:hidden;pointer-events:none;grid-area:2/1/auto/-1;width:100%;height:0;transition:height .3s cubic-bezier(.32,.72,.18,1),visibility 0s linear .3s;display:block;overflow:hidden}body.nav-open header.site .wrap>.nav-panel{height:var(--nav-panel-height,0px);visibility:visible;pointer-events:auto;transition:height .3s cubic-bezier(.32,.72,.18,1),visibility linear}.brand-tag{display:none}.nav-toggle{display:flex}nav.primary{opacity:0;pointer-events:none;width:100%;min-height:0;padding-top:12px;transition:opacity .19s,transform .26s cubic-bezier(.32,.72,.18,1);overflow:hidden;transform:translateY(-8px)}body.nav-open nav.primary{opacity:1;pointer-events:auto;transition-delay:60ms,0s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){header.site .wrap>.nav-panel,nav.primary,.nav-toggle-bar,header.site .header-glass,header.site .header-glass .glass-inner-ring{transition:none!important}}nav.primary ul{flex-direction:column;align-items:stretch;gap:0;padding-top:4px;box-shadow:inset 0 1px #ffffff73}nav.primary li{width:100%}nav.primary a{color:var(--fg);padding:14px 0;font-size:16.5px;transition:color .18s,transform .2s;display:block;box-shadow:inset 0 -1px #14141e0f}nav.primary a:hover{color:var(--accent);transform:translate(2px)}nav.primary a[aria-current=page]:after{display:none}nav.primary a.email{box-shadow:none;color:var(--accent);padding-top:18px;font-size:16px}nav.primary .lang-li{justify-content:flex-start;padding:14px 0;box-shadow:inset 0 -1px #14141e0f}nav.primary .lang{background:#ffffff59;border:1px solid #14141e14;border-radius:999px;height:auto;margin:0;padding:4px 6px}nav.primary .lang a{box-shadow:none;padding:6px 10px;font-size:11px}body.nav-open{overflow:hidden}.hero{padding:24px 0 56px}.hero h1{letter-spacing:-.025em;max-width:100%}.hero .lede{margin-top:28px;font-size:18px}.hero .cta{flex-wrap:wrap;gap:20px;margin-top:40px;font-size:16px}.page-head{padding:24px 0 40px}.page-head h1{font-size:clamp(34px,8vw,52px)}.page-head .lede{font-size:17px}section.work{padding:64px 0 16px}.work-row{grid-template-columns:1fr;gap:28px;padding:48px 0}.work-row.reverse .work-card,.work-row.reverse .work-meta{order:0}.work-meta h3{font-size:24px}.work-meta .one-line{font-size:16px}.portfolio-row{grid-template-columns:1fr;gap:28px;padding:44px 0}.portfolio-row.reverse .portfolio-shot-link,.portfolio-row.reverse .portfolio-shot,.portfolio-row.reverse .portfolio-copy{order:0}.portfolio-copy h2{font-size:28px}.portfolio-desc{font-size:16.5px}section.prose-section{padding:72px 0}.prose p{font-size:16.5px}footer.site{padding:72px 0 28px}.footer-grid{grid-template-columns:1fr;gap:32px;margin-bottom:56px}.footer-meta{flex-direction:column;align-items:flex-start;gap:12px}.footer-meta .meta-right{flex-direction:column;align-items:flex-start;gap:6px}.cs-next{padding:64px 0 16px}.cs-next-link{font-size:18px}.about-grid{grid-template-columns:1fr;gap:48px}.section-pad-lg{padding:72px 0}.svc-section{padding:64px 0}.svc-grid{grid-template-columns:1fr;gap:24px}.svc-grid .svc-title h2{font-size:24px;position:static}.svc-body p{font-size:16px}.section-label{margin-bottom:40px}}@media (width<=480px){.wrap,.wrap-wide{padding:0 16px}header.site .wrap{gap:0 8px}.brand{font-size:14px}.hero{padding:16px 0 48px}.hero h1{text-wrap:wrap;overflow-wrap:normal;width:min(100%,100vw - 32px);font-size:clamp(28px,7.6vw,30px)}.hero .lede{font-size:16.5px}.hero .cta{flex-direction:column;align-items:flex-start;gap:14px;font-size:15px}.hero .cta .secondary{font-size:14px}.page-head h1{text-wrap:wrap;width:min(100%,100vw - 32px);font-size:clamp(28px,8.6vw,36px)}.hero .lede,.page-head .lede,.work-meta .one-line,.portfolio-desc,.portfolio-story{text-wrap:wrap;overflow-wrap:break-word;max-width:100%}.hero .lede,.page-head .lede,.work-meta,.portfolio-copy{width:min(100%,100vw - 32px)}.work-meta h3{font-size:22px}.work-meta .one-line{font-size:15px}.work-row{gap:22px;padding:36px 0}.portfolio-row{padding:36px 0}.portfolio-kicker{gap:8px 10px;font-size:10px}.portfolio-copy h2{font-size:24px}.portfolio-desc{font-size:15.5px}.portfolio-story{font-size:14.5px}.footer-big{font-size:clamp(26px,7vw,36px)!important}.showcase{gap:40px}.tag{padding:3px 7px;font-size:10px}}.browser-frame{border:1px solid var(--line-strong);isolation:isolate;background:linear-gradient(#eceae6 0%,#e1ded9 100%);border-radius:12px;margin:0;transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s cubic-bezier(.2,.7,.1,1);display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 1px 1px #1414190a,0 24px 60px -28px #14142352,0 6px 18px -10px #1414232e}.browser-frame.dark{background:linear-gradient(#2a2a2e 0%,#1f1f22 100%);border-color:#2f2f33}.browser-frame .bf-bar{background:linear-gradient(#ffffff8c,#fff0 60%);border-bottom:1px solid #14141e14;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.browser-frame.dark .bf-bar{background:linear-gradient(#ffffff0a,#fff0 60%);border-bottom-color:#ffffff0f}.bf-lights{align-items:center;gap:6px;display:inline-flex}.bf-light{border-radius:50%;width:11px;height:11px;display:inline-block;box-shadow:inset 0 0 0 .5px #00000024}.bf-light.close{background:#ff5f57}.bf-light.min{background:#febc2e}.bf-light.max{background:#28c840}.bf-url{letter-spacing:.01em;color:#4a4a4a;white-space:nowrap;background:#ffffffb3;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:280px;height:22px;margin:0 auto;padding:0 12px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,monospace;font-size:11.5px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #14141e0f}.browser-frame.dark .bf-url{color:#cfcfd2;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff0a}.bf-lock{color:#6b6b6b;flex:none}.browser-frame.dark .bf-lock{color:#a5a5a8}.bf-host{text-overflow:ellipsis;min-width:0;overflow:hidden}.bf-actions{opacity:.6;gap:4px;display:inline-flex}.bf-dot{background:#6b6b6b;border-radius:50%;width:3px;height:3px}.bf-canvas{aspect-ratio:16/10;background:#fff;position:relative;overflow:hidden}.browser-frame.dark .bf-canvas{background:#111}.bf-canvas img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.1,1);display:block}a:hover .browser-frame img,a:focus-visible .browser-frame img{transform:scale(1.015)}.browser-frame.detail .bf-canvas{aspect-ratio:16/9.6}@media (width<=720px){.browser-frame{border-radius:10px}.browser-frame .bf-bar{gap:8px;padding:8px 10px}.bf-url{max-width:160px;height:20px;padding:0 8px;font-size:10.5px}.bf-light{width:9px;height:9px}}.phone-frame{width:100%;max-width:260px;margin:0;display:block;position:relative}.pf-shell{aspect-ratio:9/19.5;background:linear-gradient(#1c1c1f,#0e0e10);border-radius:36px;padding:8px;position:relative;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 0 1.5px #2a2a2d,0 30px 60px -32px #0f0f198c,0 10px 22px -14px #0f0f194d}.pf-screen{background:#000;border-radius:28px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.pf-screen img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-shot-link{border:0;outline:0;display:block}.work-card.plain:hover,.work-card.plain:focus-visible,.portfolio-shot-link.plain:hover,.portfolio-shot-link.plain:focus-visible{opacity:1}.portfolio-copy h2 a.plain{color:var(--fg)}.portfolio-actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.portfolio-copy .read-more.secondary{color:var(--muted);border-bottom-color:var(--line)}.portfolio-copy .read-more.secondary:hover{color:var(--fg);border-bottom-color:var(--fg)}.work-card{border:0;display:block}.showcase-plate{backdrop-filter:url(#liquid-glass-distortion)blur(2.5px)saturate(185%)brightness(1.05);isolation:isolate;color:var(--fg);background:linear-gradient(135deg,#ffffff6b,#ffffff2e),#ffffff47;border-radius:18px;margin:0;padding:clamp(14px,1.7vw,20px);transition:background .45s cubic-bezier(.2,.7,.1,1),box-shadow .45s cubic-bezier(.2,.7,.1,1);display:block;position:relative;overflow:hidden;box-shadow:0 1px 1px #14141e0a,0 22px 62px -24px #14141e38,inset 0 1px #ffffffb3,inset 0 -1px #14141e0d,inset 0 0 0 1px #ffffff47}.showcase-plate:before,.showcase-plate:after{content:"";border-radius:inherit;mix-blend-mode:screen;pointer-events:none;z-index:1;transition:opacity .45s cubic-bezier(.2,.7,.1,1),transform .45s cubic-bezier(.2,.7,.1,1);position:absolute;transform:translate(0,0)}.showcase-plate:before{opacity:.7;background:linear-gradient(135deg,#ffffff80 0%,#ffffff0d 28%,#fff0 52%,#ffffff14 78%,#ffffff52 100%);inset:0}.showcase-plate:after{border-radius:inherit;opacity:.58;background:radial-gradient(at 18% 18%,#ffffff80 0%,#ffffff1a 30%,#fff0 60%);width:55%;height:55%;top:0;left:0}.work-card:hover .showcase-plate,.work-card:focus-visible .showcase-plate,.portfolio-shot-link:hover .showcase-plate,.portfolio-shot-link:focus-visible .showcase-plate{background:linear-gradient(135deg,#ffffff57,#ffffff24),#ffffff38;box-shadow:0 1px 1px #14141e0d,0 34px 80px -24px #14141e57,inset 0 1px #ffffffb3,inset 0 -1px #14141e0d,inset 0 0 0 1px #ffffff47}.work-card:hover .showcase-plate:before,.work-card:focus-visible .showcase-plate:before,.portfolio-shot-link:hover .showcase-plate:before,.portfolio-shot-link:focus-visible .showcase-plate:before{opacity:.9;transform:translate(4px,-4px)}.work-card:hover .showcase-plate:after,.work-card:focus-visible .showcase-plate:after,.portfolio-shot-link:hover .showcase-plate:after,.portfolio-shot-link:focus-visible .showcase-plate:after{opacity:.72;transform:translate(-5px,4px)scale(1.03)}.showcase-stage{z-index:2;aspect-ratio:16/10;background:radial-gradient(circle at 16% 8%,#1d4ed81f,#1d4ed800 42%),radial-gradient(circle at 84% 92%,#f0aa5a1f,#f0aa5a00 44%),#ffffff80;border:1px solid #14141e17;border-radius:8px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 12px 32px -26px #14141e59}.showcase-ios .showcase-stage{background:radial-gradient(120% 90% at 50% -14%,#9682ff80,#9682ff00 60%),radial-gradient(80% 60% at 16% 110%,#6050dc66,#6050dc00 60%),radial-gradient(70% 60% at 86% 116%,#3a2c9673,#3a2c9600 58%),linear-gradient(#1b1646 0%,#120e34 52%,#0b0824 100%);border-color:#0a082859;box-shadow:inset 0 1px #ffffff24,0 24px 50px -30px #0a0828b3}.showcase-web .showcase-stage img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.1,1);display:block}.work-card:hover .showcase-web .showcase-stage img,.work-card:focus-visible .showcase-web .showcase-stage img,.portfolio-shot-link:hover .showcase-web .showcase-stage img,.portfolio-shot-link:focus-visible .showcase-web .showcase-stage img{transform:scale(1.012)}.showcase-phone-stack{z-index:2;position:absolute;inset:0}.showcase-phone-stack .phone-frame{aspect-ratio:9/19.5;filter:drop-shadow(0 26px 44px #0806208c);width:auto;height:98%;margin:0;transition:transform .55s cubic-bezier(.2,.7,.1,1);position:absolute;top:50%;left:50%}.showcase-phone-stack .pf-shell{aspect-ratio:auto;width:100%;height:100%;box-shadow:none;background:0 0;border-radius:0;padding:0}.showcase-phone-stack .pf-screen{box-shadow:none;background:0 0;border-radius:12px}.showcase-phone-stack .pf-screen img{object-fit:contain}.showcase-phone-stack .phone-frame:nth-child(2){z-index:3;transform:translate(-50%,-38%)scale(1)}.showcase-phone-stack .phone-frame:first-child{z-index:2;transform:translate(-118%,-34%)rotate(-9deg)scale(.82)}.showcase-phone-stack .phone-frame:nth-child(3){z-index:1;transform:translate(18%,-34%)rotate(9deg)scale(.82)}.work-card:hover .showcase-phone-stack .phone-frame:nth-child(2),.work-card:focus-visible .showcase-phone-stack .phone-frame:nth-child(2),.portfolio-shot-link:hover .showcase-phone-stack .phone-frame:nth-child(2),.portfolio-shot-link:focus-visible .showcase-phone-stack .phone-frame:nth-child(2){transform:translate(-50%,-40%)scale(1.02)}.work-card:hover .showcase-phone-stack .phone-frame:first-child,.work-card:focus-visible .showcase-phone-stack .phone-frame:first-child,.portfolio-shot-link:hover .showcase-phone-stack .phone-frame:first-child,.portfolio-shot-link:focus-visible .showcase-phone-stack .phone-frame:first-child{transform:translate(-126%,-34%)rotate(-11deg)scale(.83)}.work-card:hover .showcase-phone-stack .phone-frame:nth-child(3),.work-card:focus-visible .showcase-phone-stack .phone-frame:nth-child(3),.portfolio-shot-link:hover .showcase-phone-stack .phone-frame:nth-child(3),.portfolio-shot-link:focus-visible .showcase-phone-stack .phone-frame:nth-child(3){transform:translate(26%,-34%)rotate(11deg)scale(.83)}.work-card:focus-visible .showcase-plate,.portfolio-shot-link:focus-visible .showcase-plate{outline:2px solid var(--accent);outline-offset:4px}.showcase-meta{z-index:2;letter-spacing:.11em;text-transform:uppercase;color:#14141e8c;justify-content:space-between;align-items:center;gap:18px;margin-top:15px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,monospace;font-size:10.5px;line-height:1.35;display:flex;position:relative}.showcase-meta-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.showcase-meta-index{color:#14141e6b;flex:none}@media (width<=768px){.showcase-plate{border-radius:14px;padding:14px}.showcase-stage{border-radius:7px}.showcase-meta{letter-spacing:.09em;margin-top:12px;font-size:9px}.showcase-phone-stack .phone-frame{width:auto;height:96%}}.pd-head{padding-top:56px;padding-bottom:24px}.pd-head .eyebrow{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.pd-back{color:var(--muted);text-transform:none;letter-spacing:0;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;font-family:Geist Mono Variable,monospace;font-size:11px}.pd-back:hover{color:var(--fg)}.pd-sep{color:var(--muted-2)}.pd-head-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}a.pd-cta,a.pd-cta.plain{background:var(--fg);color:#fff;letter-spacing:-.005em;border-bottom:0;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14.5px;transition:background .2s,transform .2s;display:inline-flex}a.pd-cta:hover{background:var(--accent);color:#fff;opacity:1}a.pd-cta .arrow{color:#fff;transition:transform .2s}a.pd-cta:hover .arrow{transform:translate(2px)}.pd-host{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.pd-hero{padding:32px 0 56px}.pd-phone-row{justify-content:center;align-items:flex-end;gap:clamp(18px,3vw,32px);padding:24px 0;display:flex}.pd-phone-row .phone-frame{max-width:260px}.pd-phone-row .phone-frame:first-child,.pd-phone-row .phone-frame:nth-child(3){transform:translateY(-18px)}.pd-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.pd-meta-grid{grid-template-columns:repeat(5,1fr);gap:28px;margin:0;display:grid}.pd-meta-item dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-family:Geist Mono Variable,monospace;font-size:10.5px}.pd-meta-item dd{color:var(--fg);margin:0;font-size:14.5px}.pd-section{padding:72px 0}.pd-story{max-width:700px;margin:0 auto}.pd-lead{color:var(--fg);letter-spacing:-.012em;text-wrap:pretty;margin-bottom:48px;font-size:clamp(20px,2.2vw,26px);font-weight:400;line-height:1.4}.pd-block{margin-bottom:40px}.pd-block:last-of-type{margin-bottom:32px}.pd-block h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-family:Geist Mono Variable,monospace;font-size:14px;font-weight:500}.pd-block p{color:var(--fg-soft);text-wrap:pretty;font-size:18px;line-height:1.65}.pd-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:32px;display:flex}.pd-gallery{padding:24px 0 80px}.pd-gallery .section-label{margin-bottom:32px}.pd-gallery-grid{grid-template-columns:1fr;gap:64px;display:grid}.pd-gallery-item figcaption,.pd-phone-item figcaption{color:var(--fg-soft);text-wrap:pretty;max-width:64ch;margin-top:18px;font-size:14.5px;line-height:1.55}.pd-phone-gallery{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:56px 48px;display:grid}.pd-phone-item{flex-direction:column;align-items:center;max-width:320px;display:flex}.pd-phone-item .phone-frame{max-width:240px;margin-bottom:0}.pd-phone-item figcaption{text-align:center}.pd-visit{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 0}.pd-visit-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.pd-visit-link{color:var(--fg);letter-spacing:-.018em;border-bottom:1px solid var(--line-strong);margin-top:8px;padding-bottom:4px;font-size:clamp(22px,2.4vw,30px);font-weight:400;display:inline-block}.pd-visit-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.pd-visit-tags{flex-wrap:wrap;gap:8px;display:flex}@media (width<=900px){.pd-meta-grid{grid-template-columns:repeat(2,1fr);gap:22px}.pd-phone-gallery{grid-template-columns:1fr;gap:48px}.pd-phone-row .phone-frame{max-width:200px}.pd-phone-row .phone-frame:first-child,.pd-phone-row .phone-frame:nth-child(3){transform:translateY(-10px)}}@media (width<=560px){.pd-head-actions{gap:14px}.pd-section{padding:56px 0}.pd-gallery-grid{gap:40px}.pd-phone-row{gap:12px}.pd-phone-row .phone-frame{max-width:140px}.pd-phone-row .phone-frame:first-child,.pd-phone-row .phone-frame:nth-child(3){transform:translateY(-6px)}}.glass-surface{border-radius:var(--glass-radius,999px);isolation:isolate;backdrop-filter:url(#liquid-glass-distortion)blur(2px)saturate(185%)brightness(1.05);transition:box-shadow .4s,transform .25s;position:relative;box-shadow:0 1px 1px #14141e0d,0 16px 44px -14px #14141e42,inset 0 1px #ffffffe6,inset 0 -1px 1px #14141e1a,inset 0 0 0 .5px #ffffff80}.glass-surface.glass-strength-soft{-webkit-backdrop-filter:blur(7px)saturate(180%)brightness(1.05)}.glass-tint-light{background:#fff3}.glass-tint-dark{color:#f4f2ee;background:#12121647}.glass-sheen{border-radius:inherit;pointer-events:none;z-index:1;mix-blend-mode:screen;background:linear-gradient(130deg,#fff9 0%,#ffffff0a 22%,#fff0 50%,#ffffff0f 74%,#ffffff73 100%);position:absolute;inset:0}.glass-specular{border-radius:inherit;background:radial-gradient(circle 150px at var(--gx,28%) var(--gy,-12%), #fff9 0%, #ffffff24 38%, #fff0 70%);pointer-events:none;z-index:1;mix-blend-mode:screen;transition:background .12s ease-out;position:absolute;inset:0}.glass-surface.glass-leaving .glass-specular{transition:background .55s}.glass-inner-ring{border-radius:calc(var(--glass-radius,999px) - .5px);pointer-events:none;z-index:2;border:1px solid #ffffff80;position:absolute;inset:.5px}.glass-content{z-index:3;border-radius:inherit;position:relative}@media (prefers-reduced-motion:reduce){.glass-specular,.glass-surface.glass-leaving .glass-specular{transition:none}}@media (prefers-reduced-transparency:reduce){.glass-surface{-webkit-backdrop-filter:none;background:#fafaf9f5}.glass-sheen,.glass-specular,.glass-inner-ring{display:none}}
