.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--paper:#f4eee2;--surface:#fff;--ink:#1f2440;--ink-soft:#1f2440ad;--ink-faint:#1f244024;--grid:#1f244012;--signal:#f2994a;--sage:#5e9a7b;--island:#11142a;--island-fg:#f4eee2;--sans:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#12162a;--surface:#1c2140;--ink:#f4eee2;--ink-soft:#f4eee2b8;--ink-faint:#f4eee229;--grid:#f4eee20d;--sage:#8fc3a9;--island:#05060d;--island-fg:#f4eee2;color-scheme:dark}}:root[data-theme=dark]{--paper:#12162a;--surface:#1c2140;--ink:#f4eee2;--ink-soft:#f4eee2b8;--ink-faint:#f4eee229;--grid:#f4eee20d;--sage:#8fc3a9;--island:#05060d;--island-fg:#f4eee2;color-scheme:dark}*{box-sizing:border-box}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);-webkit-font-smoothing:antialiased;background-size:36px 36px;margin:0;font-size:18px;line-height:1.55;transition:background-color .35s,color .35s;overflow-x:clip}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);position:fixed;inset:0 0 auto}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.wrap{width:min(1180px,100% - 48px);margin-inline:auto}.mono{font-family:var(--mono);letter-spacing:.01em;font-size:.82em}.hl{background:linear-gradient(transparent 58%,var(--signal) 58%,var(--signal) 94%,transparent 94%);padding:0 .04em}.skip{z-index:60;background:var(--surface);color:var(--ink);border:2px solid var(--ink);padding:8px 14px;font-weight:600;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.island{top:calc(env(safe-area-inset-top,0px) + 14px);z-index:50;background:var(--island);color:var(--island-fg);border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:7px 8px 7px 16px;transition:padding .45s cubic-bezier(.2,.9,.2,1);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}.island .home{border-radius:999px;align-items:center;gap:6px;text-decoration:none;display:flex}.island .mark{flex:none;width:22px;height:24px}.island .clock{font-family:var(--mono);opacity:.85;white-space:nowrap;padding:0 8px;font-size:13px}.island nav{opacity:0;gap:2px;max-width:0;transition:max-width .6s cubic-bezier(.2,.9,.2,1),opacity .4s .1s;display:flex;overflow:hidden}.island.open nav{opacity:1;max-width:520px}.island nav a{white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:15px;text-decoration:none}.island nav a:hover,.island nav a[aria-current=page]{background:#f4eee21f}.island .ctl{gap:4px;margin-left:4px;display:flex}.island button,.island .lang{font:500 13px var(--mono);color:var(--island-fg);cursor:pointer;background:#f4eee21a;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:36px;height:34px;padding:0 10px;text-decoration:none;display:inline-flex}.island button:hover,.island .lang:hover{background:#f4eee233}.island .menu{display:none}@media (width<=760px){.island{gap:4px;padding-left:12px}.island nav{background:var(--island);visibility:hidden;border-radius:22px;flex-direction:column;max-width:none;max-height:0;padding:0 8px;transition:max-height .4s,opacity .3s,padding .3s;position:absolute;top:calc(100% + 8px);left:0;right:0}.island.open nav{opacity:0;max-width:none;max-height:0}.island.menu-open nav{opacity:1;visibility:visible;max-height:300px;padding:8px}.island .menu{display:inline-flex}.island .clock{display:none}}.hero{padding:110px 0 72px}.hero .wrap{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}h1{letter-spacing:-.03em;margin:0 0 28px;font-size:clamp(52px,7.4vw,104px);font-weight:700;line-height:.98}.lede{color:var(--ink-soft);max-width:33ch;margin:0 0 34px;font-size:clamp(19px,1.6vw,22px)}.actions{flex-wrap:wrap;gap:14px;display:flex}.btn{font:600 17px var(--sans);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:15px 22px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn.primary{background:var(--signal);color:#1f2440;border-color:#1f2440;box-shadow:0 6px #1f2440}.btn.primary:hover{transform:translateY(2px);box-shadow:0 4px #1f2440}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.desk{height:520px;position:relative}.card{background:var(--surface);border:3px solid var(--ink);width:300px;margin:0;padding:14px 14px 18px;transition:transform .8s cubic-bezier(.2,.9,.2,1),opacity .5s;position:absolute}.card .num{font:500 13px var(--mono);justify-content:space-between;margin-bottom:10px;display:flex}.card .num b{background:var(--ink);color:var(--paper);padding:3px 8px;font-weight:500}.card img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--ink-faint);width:100%}.card h3{margin:12px 0 2px;font-size:22px}.card p{color:var(--ink-soft);margin:0;font-size:15px}.card.c1{top:40px;left:4%;transform:rotate(-6deg)}.card.c2{top:150px;left:30%;transform:rotate(4deg)}.card.c3{z-index:2;top:250px;left:16%;transform:rotate(-1.5deg)}.deal .card{opacity:0;transform:translate(160px,-120px)rotate(18deg)}section{padding:96px 0}.sec-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;display:flex}h2{letter-spacing:-.02em;margin:0;font-size:clamp(38px,4.6vw,60px);line-height:1.02}.sec-head p{max-width:40ch;color:var(--ink-soft);margin:0}.link{text-underline-offset:5px;font-weight:600;text-decoration-thickness:2px}.catalog{border-top:3px solid var(--ink)}.row{border-bottom:1px solid var(--ink-faint);grid-template-columns:110px 1.1fr 2fr 1.2fr 1fr auto;align-items:center;gap:20px;padding:24px 0;display:grid}.row .no{font:500 15px var(--mono)}.row h3{letter-spacing:-.01em;margin:0;font-size:26px}.row .what{color:var(--ink-soft);font-size:17px}.row .meta{color:var(--ink-soft);font-size:15px}.row .price{font:500 15px var(--mono)}.row .go{border-bottom:2px solid var(--ink);white-space:nowrap;padding-bottom:2px;font-size:16px;font-weight:600;text-decoration:none}.row .go:hover{border-color:var(--signal)}.status{color:var(--ink-soft);align-items:center;gap:6px;font-size:14px;display:inline-flex}.status:before{content:"";background:var(--sage);border-radius:50%;width:8px;height:8px}.status.soon:before{background:var(--signal)}.flag{border-bottom:3px solid var(--ink);grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:32px 0 40px;display:grid}.flag img{border:3px solid var(--ink);border-radius:14px}.flag ul{margin:16px 0 0;padding:0;list-style:none}.flag li{border-top:1px solid var(--ink-faint);padding:10px 0}@media (width<=900px){.row{grid-template-columns:80px 1fr;row-gap:6px}.row .what,.row .meta,.row .price,.row .go{grid-column:2}.row .go{justify-self:start}.flag{grid-template-columns:1fr}}.frame{border:3px solid var(--ink);background:var(--surface);border-radius:14px;overflow:hidden}.frame .bar{border-bottom:2px solid var(--ink);align-items:center;gap:6px;padding:9px 12px;display:flex}.frame .bar i{border:2px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px}.frame .bar span{font:500 12px var(--mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-left:10px;overflow:hidden}.frame .view{height:300px;overflow:hidden}.frame .view img{object-fit:cover;width:100%;height:100%}.frame .view img.scroll{object-fit:initial;height:auto;transition:transform 6s ease-in-out}.work-card:hover .frame .view img.scroll,.work-card:focus-visible .frame .view img.scroll{transform:translateY(calc(300px - 100%))}.work-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.work-card{text-decoration:none;display:block}.work-card h3{margin:16px 0 2px;font-size:24px}.work-card p{color:var(--ink-soft);margin:0;font-size:16px}.tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tag{font:500 12px var(--mono);border:1.5px solid var(--ink);padding:3px 8px}.tag.concept{border-color:var(--signal)}.work-card.soon{cursor:default}@media (width<=900px){.work-grid{grid-template-columns:1fr}}.notes{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.note{text-decoration:none}.note img{border:3px solid var(--ink)}.note p{color:var(--ink-soft);margin:12px 0 0;font-size:16px}@media (width<=900px){.notes{grid-template-columns:1fr 1fr}}@media (width<=520px){.notes{grid-template-columns:1fr}}.support{background:var(--ink);color:var(--paper)}.support .wrap{grid-template-columns:1.2fr 1fr;align-items:center;gap:56px;display:grid}.support h2{color:var(--paper)}.support p{color:var(--paper);opacity:.8;max-width:40ch}.support .btn{border-color:var(--paper);color:var(--paper)}.support .btn.primary{color:#1f2440;border-color:#1f2440}.qrbox{color:#1f2440;background:#fff;border:3px solid #1f2440;justify-self:center;max-width:260px;margin:0;padding:16px 16px 12px;box-shadow:0 8px #f2994a}.qrbox img{width:100%;height:auto;image-rendering:pixelated}.qrbox figcaption{font:500 14px var(--mono);margin-top:10px}.qrbox p{color:#1f2440ad;opacity:1;margin:2px 0 0;font-size:14px}.support .btn.primary[data-active=true]{outline:3px solid var(--paper);outline-offset:3px}.pending{font:500 13px var(--mono);opacity:.75;margin-top:14px;display:block}@media (width<=900px){.support .wrap{grid-template-columns:1fr}}footer{padding:56px 0 calc(56px + env(safe-area-inset-bottom,0px));border-top:3px solid var(--ink)}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}footer .wordmark{width:auto;height:34px;color:var(--ink)}footer nav{flex-wrap:wrap;gap:22px;display:flex}footer small{color:var(--ink-soft);font-size:14px}.page-top{padding:140px 0 40px}.page-top h1{font-size:clamp(48px,6vw,84px)}.filters{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.filters button{font:500 15px var(--sans);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;padding:8px 16px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.back{margin-bottom:22px;font-weight:600;text-decoration:none;display:inline-block}.case-meta{grid-template-columns:repeat(4,auto);justify-content:start;gap:12px 48px;margin:30px 0 0;padding:0;display:grid}.case-meta dt{font:500 13px var(--mono);color:var(--ink-soft)}.case-meta dd{margin:2px 0 0;font-weight:600}.preview{grid-template-columns:1fr 280px;align-items:start;gap:28px;display:grid}.preview .frame .view{overscroll-behavior:contain;height:620px;overflow:auto}.preview .frame .view img{object-fit:initial;height:auto}.phone{border:3px solid var(--ink);background:var(--island);border-radius:38px;padding:10px}.phone .screen{overscroll-behavior:contain;scrollbar-width:none;background:#fff;border-radius:28px;height:560px;overflow:auto}.phone .screen::-webkit-scrollbar{display:none}.story{grid-template-columns:repeat(3,1fr);gap:36px;margin-top:72px;display:grid}.story h3{margin:0 0 8px;font-size:24px}.story p{color:var(--ink-soft);margin:0}.hint{color:var(--ink-soft);margin-top:12px;font-size:14px}@media (width<=900px){.sec-head{flex-direction:column;align-items:start}.desk{height:440px}.card{width:min(240px,64vw);padding:10px 10px 14px}.card h3{font-size:19px}.card.c1{top:10px;left:0}.card.c2{top:90px;left:auto;right:0}.card.c3{top:190px;left:12%}.preview,.story{grid-template-columns:1fr}.case-meta{grid-template-columns:1fr 1fr}.hero .wrap{grid-template-columns:1fr}.phone{width:min(280px,100%);margin-inline:auto}}.flo{display:block;overflow:visible}.flo .lid{transform-box:fill-box;transform-origin:50%;transition:transform 80ms;transform:scaleY(0)}.flo.blink .lid{transform:scaleY(1)}.flo .mouth-h{opacity:0;transition:opacity .15s}.flo.happy .mouth-h{opacity:1}.flo.happy .mouth-o{opacity:0}.flo .bub{transform-box:fill-box;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),opacity 1.2s}.flo.fizz .bub{opacity:0;transform:translateY(-70px)}.flo .body{transform-origin:110px 190px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.flo.happy .body{transform:scale(1.04,.97)}.hero-copy{position:relative}.hero-flo{width:120px;height:120px;margin:0 0 6px -6px;position:static}@media (width<=900px){.hero-flo{width:92px;height:92px}}.island .mini-flo{--surface:#f4eee2;width:28px;height:28px;margin-left:-2px}.island{view-transition-name:island}::view-transition-old(root){mix-blend-mode:normal;animation:1.1s cubic-bezier(.4,.3,0,1) both vt-out}::view-transition-new(root){mix-blend-mode:normal;animation:1.1s cubic-bezier(.4,.3,0,1) both vt-in}::view-transition-image-pair(root){isolation:auto}@keyframes vt-out{to{opacity:.5;transform:translateY(-160px)scale(.95)}}@keyframes vt-in{0%{clip-path:inset(70% 0 0);transform:translateY(50vh)}to{clip-path:inset(0);transform:none}}::view-transition-group(island),::view-transition-old(island),::view-transition-new(island){animation:none}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
