:root{--ink: #232321;--paper: #f6f5f1;--white: #fff;--dark: #232321;--accent: #2455d6;--accent-soft: #e6ebf8;--muted: #74736f;--line: #d8d7d1;--font-sans: "Noto Sans KR", sans-serif;--font-display: "DM Sans", "Noto Sans KR", sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "IBM Plex Mono", monospace;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--font-sans);-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#fff}h1,h2,h3,p{margin:0}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}button:disabled{cursor:default}em{font-family:var(--font-serif);font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--accent);color:#fff;padding:12px 20px}.skip-link:focus{top:15px}.eyebrow{font:400 11px/1.5 var(--font-mono);letter-spacing:.05em;color:var(--muted)}.section-pad{padding:96px max(6.25vw,24px)}.site-header{height:88px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 6.25vw;background:#f6f5f1ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.wordmark{font:600 29px/1 var(--font-display);letter-spacing:-1.9px}.wordmark span{color:var(--accent)}.desktop-nav{display:flex;gap:32px}.desktop-nav a{position:relative;padding:12px 0;font:450 13px var(--font-display)}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--accent);transition:right .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{right:0}.header-github{display:flex;gap:14px;align-items:center;font:13px var(--font-display)}.header-github svg{width:16px;height:16px}.menu-toggle{display:none;background:none}.mobile-nav{position:fixed;inset:72px 0 auto;z-index:29;padding:20px 24px 32px;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;font:27px var(--font-display);padding:14px 0}.mobile-nav svg{width:20px}.hero{padding:151px 6.25vw 0;overflow:clip}.hero-topline{display:flex;align-items:center;justify-content:space-between;font:400 10px/1.5 var(--font-mono);letter-spacing:.04em;margin-bottom:55px;color:var(--muted)}.hero-topline>span:first-child{color:var(--ink)}.muted{color:#b6b5af;margin:0 12px}.hero-main{position:relative}.hero h1{font:450 clamp(76px,9.25vw,148px) / 1.01 var(--font-display);letter-spacing:-.065em;transform:translate(var(--title-x, 0px),var(--scroll-title, 0px));transition:transform .7s var(--ease)}.hero h1>span{display:block;white-space:nowrap;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}.hero-line>span{display:block;animation:hero-enter 1.1s var(--ease) both}.hero-line:last-child{transform:translate(var(--scroll-line, 0px));transition:transform .7s var(--ease)}.hero-line:last-child>span{animation-delay:.12s}.hero h1 em{letter-spacing:-.04em;color:var(--accent)}.hero-playground{position:absolute;width:clamp(280px,28vw,400px);right:-1%;bottom:-34px;transform:translateY(var(--scroll-art, 0px));transition:transform .7s var(--ease)}.playground-stage{position:relative;width:100%;height:clamp(230px,21vw,290px);isolation:isolate}.play-object{position:absolute;top:0;left:0;width:43%;aspect-ratio:1;padding:0;background:none;border-radius:50%;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.play-object[data-dragging]{cursor:grabbing;z-index:5}.play-object:focus-visible{outline-offset:10px}.play-loop{z-index:2}.play-clover{width:25%;z-index:3}.play-object img{position:absolute;width:130%;max-width:none;left:-15%;top:-15%;pointer-events:none;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse at center,#000 53%,transparent 71%);mask-image:radial-gradient(ellipse at center,#000 53%,transparent 71%)}.playground-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 10% 0;font:10px/1.4 var(--font-sans);color:var(--muted);white-space:nowrap}.playground-controls button{padding:6px 0;background:none;font-size:inherit;color:var(--accent)}.playground-controls button:disabled{color:var(--muted)}.playground-controls button span{font-size:15px;margin-left:4px}.playground-controls button:hover:not(:disabled){text-decoration:underline}@keyframes hero-enter{0%{transform:translateY(110%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}.hero-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-top:52px}.hero-intro p{color:#666660;font-size:14px;line-height:1.9;letter-spacing:-.035em;word-break:keep-all}.hero-intro strong{font-weight:500;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:25px;flex-shrink:0}.pill-button{display:inline-flex;align-items:center;gap:30px;border-radius:3px;padding:14px 20px;font-size:13px;transition:background .2s,transform .25s}.pill-button svg{width:19px;height:19px;transition:transform .25s}.pill-button:hover svg{transform:translate(3px)}.primary-button,.dark-button{background:var(--ink);color:var(--paper)}.primary-button:hover,.dark-button:hover{background:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:15px;padding:5px 0;border-bottom:1px solid currentColor;font-size:12px}.text-link svg{width:16px;height:16px}.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding:25px 0;margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:10px var(--font-mono)}.hero-bottom:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(var(--hero-progress, 0));transform-origin:left;transition:transform .4s var(--ease)}.motion-toggle{display:flex;align-items:center;gap:8px;background:none;padding:6px 0 6px 12px;font:11px var(--font-display)}.motion-indicator{width:5px;height:5px;border-radius:50%;background:var(--accent)}.motion-toggle[aria-pressed=false] .motion-indicator{background:#b0afa9}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading h2,.about-title{font:450 clamp(48px,5.3vw,80px) / 1.08 var(--font-display);letter-spacing:-.055em;margin-top:19px}.section-heading h2 em,.about-title em{letter-spacing:-.035em}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);word-break:keep-all}.work-section{padding-top:76px}.work-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;border-bottom:1px solid var(--line)}.filter-list{display:flex;flex-wrap:wrap;gap:27px}.filter-list button{background:none;padding:14px 0 17px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font:13px var(--font-display);transition:color .2s,border-color .2s}.filter-list button:hover,.filter-list button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.filter-list sup{font:9px var(--font-mono);margin-left:5px;color:var(--accent)}.work-count{font:10px var(--font-mono);color:var(--muted);flex-shrink:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 30px}.project-card{min-width:0}.project-card-button{display:block;width:100%;padding:0;text-align:left;background:none}.project-image-wrap{position:relative;overflow:hidden;border-radius:4px;isolation:isolate}.project-visual{container-type:inline-size;position:relative;aspect-ratio:1.48;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .65s var(--ease)}.project-card-button:hover .project-visual{transform:scale(1.035)}.card-category{position:absolute;left:23px;top:20px;font:10px var(--font-mono);color:#333a50}.card-category.is-light{color:#d9d5e5}.card-view{position:absolute;bottom:18px;right:18px;width:38px;height:38px;display:grid;place-items:center;background:var(--paper);border-radius:50%;transform:translateY(10px);opacity:0;transition:opacity .3s,transform .3s}.card-view svg{width:17px;height:17px}.project-card-button:hover .card-view,.project-card-button:focus-visible .card-view{opacity:1;transform:none}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.project-title-row h3{font:500 clamp(21px,2.2vw,31px) var(--font-display);letter-spacing:-.045em;display:flex;align-items:baseline;gap:12px}.project-index{font:10px var(--font-mono);color:var(--muted);letter-spacing:0}.project-title-row>span{font:11px var(--font-mono);color:var(--muted)}.project-desc{font-size:13px;line-height:1.85;color:#6c6b66;margin:10px 0 15px;word-break:keep-all}.project-tags{display:flex;flex-wrap:wrap;gap:7px 15px;font:11px var(--font-display);color:#7a7974}.project-tags span:not(:last-child):after{content:"/";margin-left:15px;color:#b6b5af}.pocket-visual{background:#e9e8f0}.phone-pair{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;padding-top:60px}.phone-pair img{width:27%;border:3px solid #fbfbff;border-radius:18px;box-shadow:0 16px 34px #49406416}.phone-pair img:first-child{transform:translateY(25px)}.phone-pair img:last-child{transform:translateY(-13px)}.screen-visual{padding:66px 38px 30px}.screen-visual img{width:100%;border-radius:5px;box-shadow:0 12px 25px #263b6312;border:1px solid #ffffff88}.aiops-visual{background:#e7ece9}.solmate-visual{background:#e4eaf3}.legacy-visual{--font-display: "Space Grotesk", "Noto Sans KR", sans-serif;display:block;color:#191c17}.visual-caption{position:absolute;bottom:22px;left:24px;font:9px var(--font-mono);letter-spacing:.055em}.mcp-visual{background:#e9e6db}.mcp-path{position:absolute;top:25%;right:16%;bottom:30%;left:16%;display:flex;align-items:center;justify-content:space-between}.figma-mark{width:63px;display:grid;grid-template-columns:repeat(2,1fr);position:relative;z-index:1}.figma-mark i{width:32px;height:32px;display:block}.figma-mark i:nth-child(1){background:#f24e1e;border-radius:20px 0 0 20px}.figma-mark i:nth-child(2){background:#ff7262;border-radius:0 20px 20px 0}.figma-mark i:nth-child(3){background:#a259ff;border-radius:20px 0 0 20px}.figma-mark i:nth-child(4){background:#1abcfe;border-radius:50%}.figma-mark i:nth-child(5){background:#0acf83;border-radius:20px 0 20px 20px}.code-mark{font:500 60px var(--font-mono);letter-spacing:-10px}.path-line{flex:1;border-top:1px dashed #999e87;margin:0 20px;position:relative}.path-line:after{content:"";display:block;width:8px;height:8px;border-radius:50%;background:#819f32;position:absolute;top:-4px;left:0;animation:travel 3s ease-in-out infinite}.mcp-legend{position:absolute;top:68%;left:13%;right:13%;display:flex;justify-content:space-between;font:10px var(--font-mono);letter-spacing:.1em;color:#61674f}.elo-visual{background:#edc8ab;color:#68442d}.test-columns{position:absolute;left:18%;right:18%;top:24%;bottom:14%;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:end}.test-columns>div{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.test-columns span{font:10px var(--font-mono);margin-bottom:7px}.test-columns b{font:500 clamp(18px,5cqw,27px) var(--font-display);margin-bottom:clamp(6px,1.5cqw,12px)}.test-bar{background:#b17a55;width:75%;height:29%;border-radius:4px 4px 0 0}.test-columns>div:nth-child(2) .test-bar{height:43%;background:#69482e}.test-columns strong{font:500 clamp(17px,4.5cqw,24px) var(--font-display);margin-top:6px}.elo-visual .visual-caption{font-family:var(--font-sans);font-size:10px}.solvps-visual{background:#262634;color:#c1bdcf}.code-window{position:absolute;top:18%;right:9%;bottom:14%;left:9%;border:1px solid #4e4a61;background:#181820;box-shadow:0 18px 28px #0003;border-radius:7px}.window-dots{display:flex;gap:5px;padding:clamp(8px,2.1cqw,13px);border-bottom:1px solid #373542;align-items:center}.window-dots i{width:6px;height:6px;border-radius:50%;background:#595267}.window-dots i:first-child{background:#dd8887}.window-dots i:nth-child(2){background:#d7c282}.window-dots i:nth-child(3){background:#9ab99b}.window-dots span{font:10px var(--font-mono);margin-left:auto}.code-window code{font:clamp(8px,2.8cqw,15px) / 1.6 var(--font-mono);display:block;padding:clamp(10px,2.3cqw,16px);white-space:nowrap}.code-purple{color:#be9cdc}.code-green{color:#b2cb85}.code-blue{color:#8dbace}.code-orange{color:#dfb395}.code-comment{color:#8b8499}.solvps-visual .visual-caption:last-child{font-family:var(--font-sans);font-size:10px}.archive-project{display:grid;grid-template-columns:1fr 1fr 1.6fr auto;gap:25px;align-items:center;width:100%;text-align:left;margin-top:55px;padding:28px 0;border-block:1px solid var(--line);background:none;transition:color .2s}.archive-project:hover{color:var(--accent)}.archive-project strong{font:500 26px var(--font-display);letter-spacing:-.035em}.archive-project>span:not(.eyebrow){font-size:13px;color:var(--muted)}.archive-project svg{width:21px;height:21px}.about-section{background:#eeede8}.about-intro{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw}.about-title{margin-top:24px}.about-name{display:flex;align-items:baseline;gap:14px;font-size:14px;margin-top:34px}.about-name>span{font:10px var(--font-mono);color:var(--muted)}.about-statement{font-size:clamp(22px,2.1vw,30px);font-weight:500;letter-spacing:-.05em;margin:38px 0 25px;word-break:keep-all}.about-intro p{font-size:14px;line-height:2;color:#73726c;letter-spacing:-.025em;word-break:keep-all;margin-top:18px}.about-intro .text-link{margin-top:30px}.stack-heading{display:flex;justify-content:space-between;align-items:center;margin-top:85px;padding-bottom:18px;border-bottom:1px solid #d0cfc9}.stack-heading>span:last-child{font-size:12px;color:var(--muted)}.stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:30px}.stack-number{color:var(--muted);font:10px var(--font-mono)}.stack-card h3{font:500 24px var(--font-display);letter-spacing:-.035em;margin:14px 0 8px}.stack-card p{font-size:11px;color:var(--muted);word-break:keep-all}.stack-card ul{list-style:none;padding:0;margin:25px 0 0}.stack-card li{font:13px/1.9 var(--font-display)}.journey-section{display:grid;grid-template-columns:.8fr 1.6fr;gap:8vw;align-items:start}.journey-section>.section-heading{flex-direction:column;align-items:flex-start;gap:30px;position:sticky;top:130px;margin:0}.journey-section .section-heading h2{margin-top:24px}.journey-section .section-heading>p{font-size:12px}.journey-content{min-width:0}.journey-row{padding:29px 0;border-top:1px solid var(--line)}.journey-date{display:flex;align-items:center;justify-content:space-between;gap:15px;font:10px var(--font-mono);color:var(--muted);margin-bottom:15px}.journey-date>span{font-size:9px;letter-spacing:.05em}.journey-row h3{font-size:21px;font-weight:500;letter-spacing:-.04em}.journey-row p{font-size:12px;line-height:1.9;color:var(--muted);word-break:keep-all}.journey-row .journey-role{font-size:13px;margin:8px 0 9px;color:#53534e}.credentials{border-top:1px solid var(--line);padding-top:26px}.credentials>div{display:flex;flex-direction:column;gap:10px;margin-top:18px}.credentials>div>span{display:flex;justify-content:space-between;gap:20px;font-size:12px}.credentials small{color:var(--muted);font:10px var(--font-mono);white-space:nowrap}.contact-section{padding-top:65px;padding-bottom:28px;background:#e6e9ef}.contact-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.back-top{font:10px var(--font-mono);padding:10px 0}.contact-title{display:block;position:relative;width:100%;font:450 clamp(48px,7.3vw,112px) / 1.05 var(--font-display);letter-spacing:-.06em;padding-bottom:40px}.contact-title em{color:var(--accent)}.contact-title>svg{position:absolute;width:clamp(40px,7vw,100px);height:auto;top:35px;right:1%;transition:transform .3s}.contact-title:hover>svg{transform:translate(5px,-5px)}.contact-links{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0 64px}.contact-links>div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.contact-links>div>a{font:400 clamp(18px,2.25vw,31px) var(--font-display);letter-spacing:-.035em}.contact-links button{background:none;border:1px solid #c4c8d0;border-radius:2px;padding:7px 12px;font-size:11px;min-width:91px}.contact-links button:hover{border-color:var(--accent)}.contact-links>a{display:flex;gap:15px;align-items:center;font:13px var(--font-display)}.contact-links>a svg{width:17px;height:17px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #c6cad1;padding-top:25px;font:10px var(--font-mono);color:#737680}.footer-bottom>span:nth-child(2){font:11px var(--font-sans)}.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.will-reveal.is-visible{opacity:1;transform:none}@keyframes travel{0%{left:0;opacity:0}20%,80%{opacity:1}to{left:100%;opacity:0}}.case-dialog{padding:0;border:none;width:min(1080px,94vw);max-height:92dvh;border-radius:6px;background:var(--paper);color:var(--ink);overscroll-behavior:contain}.case-dialog::backdrop{background:#191c2599;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.case-shell{padding:0 6% 55px}.case-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:15px 0;background:var(--paper);border-bottom:1px solid var(--line)}.close-button{display:flex;gap:15px;align-items:center;background:none;padding:6px;font:13px var(--font-display)}.close-button>span:last-child{font-size:27px}.case-header{padding:44px 0 32px}.case-header h2{font:500 clamp(36px,5vw,65px) var(--font-display);letter-spacing:-.055em;margin:14px 0 20px}.case-header p{max-width:760px;font-size:15px;color:#6b6b65;line-height:1.95;word-break:keep-all}.case-highlight{display:inline-block;padding:7px 12px;margin-top:21px;background:var(--accent-soft);color:#3457a5;font-size:12px;border-radius:2px}.case-meta{display:grid;grid-template-columns:1fr 1fr;margin:0 0 40px;border-top:1px solid var(--line)}.case-meta>div{padding:18px 18px 18px 0;border-bottom:1px solid var(--line)}.case-meta dt{color:var(--muted);font-size:11px;margin-bottom:7px}.case-meta dd{font-size:13px;margin:0;line-height:1.9;word-break:keep-all}.case-gallery{display:grid;gap:20px;margin:15px 0 55px}.case-gallery figure{margin:0;min-width:0}.case-gallery img{width:100%;height:auto;border:1px solid var(--line);border-radius:4px}.case-gallery figcaption{color:var(--muted);font-size:11px;margin-top:10px}.gallery-phone{grid-template-columns:repeat(3,minmax(0,1fr));padding:26px;background:#e9e8f0;border-radius:4px}.case-gallery video{width:100%;height:auto;display:block;border:3px solid white;border-radius:14px;background:#fff}.gallery-pair{grid-template-columns:2fr .65fr;align-items:start}.gallery-full{grid-column:1 / -1}.gallery-single .media-phone{max-width:250px}.case-body>section{display:grid;grid-template-columns:1fr 3fr;gap:35px;padding:28px 0;border-top:1px solid var(--line)}.case-section-label{display:flex;flex-direction:column;gap:13px}.case-section-label span{font:10px var(--font-mono);color:var(--muted)}.case-section-label h3{font-size:17px;font-weight:500;letter-spacing:-.035em}.case-body p,.case-body li{font-size:14px;line-height:2;color:#63635d;word-break:keep-all}.case-body p{margin-bottom:17px}.case-body p:last-child{margin-bottom:0}.case-body strong{color:var(--ink);font-weight:500}.case-bottom{border-top:1px solid var(--line);padding-top:30px;margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.case-bottom>p{font-size:17px;letter-spacing:-.035em;word-break:keep-all}@media (min-width: 1700px){.section-pad,.hero{padding-left:max(6.25vw,calc((100vw - 1500px)/2));padding-right:max(6.25vw,calc((100vw - 1500px)/2))}}@media (max-width: 1100px){.playground-stage{height:clamp(165px,18vw,215px)}.hero h1{font-size:9.1vw}.hero-topline{margin-bottom:48px}.hero-intro{gap:24px}.hero-intro p{font-size:12px}.hero-actions{gap:20px}.hero-actions .pill-button{gap:18px;padding:13px 17px;font-size:12px}.stack-grid{gap:20px}.stack-card h3{font-size:21px}.stack-card p{font-size:10px}.archive-project{grid-template-columns:1fr 1.5fr auto}.archive-project>.eyebrow{display:none}.journey-section{gap:6vw;grid-template-columns:.8fr 1.4fr}.phone-pair{gap:18px}.screen-visual{padding:56px 26px 20px}}@media (max-width: 760px){.legacy-visual .visual-caption{font-size:clamp(7px,1.8cqw,9px);line-height:1.4;bottom:10px;left:18px}.test-columns span{font-size:8px}html{scroll-padding-top:92px}.site-header{height:72px;padding:0 24px}.wordmark{font-size:27px}.desktop-nav,.header-github{display:none}.menu-toggle{display:block;padding:12px 0;font:12px var(--font-display)}.section-pad{padding:66px 24px}.hero{padding:117px 24px 0}.hero-topline{margin-bottom:38px;font-size:8px}.hero-topline>span:last-child{display:none}.muted{margin:0 8px}.hero h1{font-size:clamp(39px,11.3vw,82px);letter-spacing:-.055em;line-height:1.06}.hero-playground{position:relative;width:min(100%,360px);right:auto;bottom:auto;margin:18px auto 0}.playground-stage{height:180px}.playground-controls{padding-top:4px;font-size:9px}.hero-intro{flex-direction:column;align-items:flex-start;margin-top:34px;gap:25px}.hero-intro p{font-size:12px;line-height:1.95}.hero-actions{gap:25px}.hero-actions .pill-button{padding:13px 18px;font-size:12px;gap:25px}.hero-bottom{margin-top:39px;padding:19px 0;font-size:8px;gap:12px}.hero-bottom>span{max-width:195px;line-height:1.8}.motion-toggle{font-size:10px;white-space:nowrap}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.about-title{font-size:clamp(43px,8vw,62px)}.section-heading>p{margin-top:23px;font-size:12px}.work-section{padding-top:56px}.work-controls{margin-bottom:26px}.work-count{display:none}.filter-list{width:100%;gap:0;justify-content:space-between}.filter-list button{font-size:11px;padding:12px 0 15px}.filter-list sup{font-size:8px;margin-left:3px}.project-grid{grid-template-columns:1fr;gap:38px}.project-visual{aspect-ratio:1.45}.project-title-row{margin-top:17px}.project-title-row h3{font-size:24px;gap:10px}.project-desc{font-size:12px;margin-top:8px}.project-tags{font-size:10px}.card-category{top:17px;left:18px;font-size:9px}.card-view{width:30px;height:30px;opacity:1;transform:none;bottom:13px;right:13px}.card-view svg{width:14px;height:14px}.phone-pair{padding-top:52px;gap:22px}.phone-pair img{width:27%;border-width:2px;border-radius:14px}.screen-visual{padding:52px 24px 20px}.archive-project{margin-top:39px;padding:24px 0;grid-template-columns:1fr auto;gap:8px}.archive-project strong{font-size:24px}.archive-project>span:not(.eyebrow){grid-row:2;font-size:11px}.archive-project svg{grid-column:2;grid-row:1 / 3;width:18px}.about-intro{grid-template-columns:1fr;gap:32px}.about-title br{display:none}.about-title em{margin-left:.15em}.about-name{margin-top:23px;font-size:13px}.about-statement{font-size:23px;margin:0 0 20px}.about-intro p{font-size:13px}.about-intro .text-link{margin-top:24px}.stack-heading{margin-top:55px}.stack-heading>span:last-child{font-size:10px}.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.stack-card h3{font-size:23px}.stack-card p{font-size:11px}.stack-card ul{margin-top:16px}.stack-card li{font-size:12px}.journey-section{grid-template-columns:1fr;gap:33px}.journey-section>.section-heading{position:static;display:block}.journey-section h2 br{display:none}.journey-section h2 em{margin-left:.15em}.journey-row{padding:24px 0}.journey-row h3{font-size:20px}.journey-date{font-size:9px}.journey-row p{font-size:12px}.credentials>div>span{font-size:11px}.contact-top{margin-bottom:28px}.contact-title{font-size:clamp(46px,8.7vw,68px);padding-bottom:15px}.contact-title>svg{width:38px;top:63px;right:0}.contact-links{align-items:flex-start;padding:20px 0 45px;gap:30px}.contact-links>div{gap:15px}.contact-links>div>a{font-size:19px}.contact-links>a{margin-top:4px;font-size:11px;gap:8px}.contact-links>a svg{width:13px;height:13px}.contact-links button{font-size:10px;padding:6px 9px}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:8px}.footer-bottom>span:nth-child(2){font-size:9px}.footer-bottom>span:last-child{display:none}.case-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.case-shell{padding:0 24px 40px}.case-toolbar{padding:13px 0}.case-toolbar>.eyebrow{font-size:9px}.case-header{padding:30px 0}.case-header h2{font-size:39px;margin-bottom:15px}.case-header p{font-size:13px}.case-highlight{font-size:11px}.case-meta{grid-template-columns:1fr;margin-bottom:28px}.case-meta>div{padding:13px 0}.case-meta dd{font-size:12px}.gallery-phone{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px;gap:18px}.gallery-phone figure{flex:0 0 min(72vw,250px);scroll-snap-align:center}.gallery-pair{grid-template-columns:1fr}.gallery-pair .media-phone{max-width:220px;justify-self:center}.case-gallery{margin-bottom:30px}.case-body>section{grid-template-columns:1fr;gap:15px;padding:24px 0}.case-section-label{flex-direction:row;align-items:baseline;gap:12px}.case-body p,.case-body li{font-size:13px}.case-bottom>p{font-size:15px}}@media (max-width: 380px){.hero h1{font-size:10.95vw}.playground-stage{height:155px}.playground-controls{padding-inline:6%}.hero-intro p{font-size:11px}.hero-actions .pill-button{gap:16px;padding:12px 15px}.hero-actions{gap:22px}.filter-list button{font-size:10px}.section-heading h2,.about-title{font-size:39px}.contact-title{font-size:41px}.contact-links{flex-direction:column;gap:22px}}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .will-reveal{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}.hero h1,.hero-line,.hero-playground{transform:none!important}.hero-bottom:before{display:none}}@media print{.site-header,.hero-playground,.hero-actions,.hero-bottom,.work-controls,.card-view,.contact-top,.contact-links button,.mobile-nav,.skip-link{display:none!important}html,body,.about-section,.contact-section{background:#fff!important;color:#000!important}.hero{padding:25px 0}.hero h1{font-size:48px}.hero-intro{margin-top:20px}.section-pad{padding:30px 0}.section-heading h2,.about-title{font-size:38px}.project-card,.journey-row{break-inside:avoid}.project-visual{max-height:220px}.project-grid{gap:25px}.journey-section>.section-heading{position:static}.will-reveal{opacity:1;transform:none}}
