:root{--bg:#fff;--surface:#fff;--panel:#f0f0ef;--line:#e2e2e2;--line-2:#8a8a8a;--ink:#0a0a0a;--ink-2:#2a2a2a;--ink-hover:#000;--muted:#5e5e5e;--on-ink:#fff;--white:#fff;--bezel:var(--ink);--accent:#e03c1c;--accent-halo:#e03c1c24;--accent-halo-2:#e03c1c47;--ink-wash:#0a0a0a0d;--tag-bg:#ffffffeb;--frame-bar:#f6f6f6;--frame-bar-line:#e6e6e6;--frame-dot:#cfcfcf;--frame-url:#5a5a5a;--sh-frame:0 1px 1px #0a0a0a0d, 0 18px 40px -22px #0a0a0a47;--sh-phone:0 30px 50px -26px #0a0a0a70;--sh-pill:0 10px 24px -10px #0a0a0a66;--sh-card:0 1px 1px #0a0a0a0f, 0 10px 18px -12px #0a0a0a52;--hero-bg:#d7391d;--hero-ink:#fff;--hero-ink-2:#fff;--hero-muted:#fff;--hero-line:#ffffff47;--hero-line-2:#ffffffd9;--hero-on-ink:#0a0a0a;--hero-ink-hover:#ffe3dc;--hero-accent:#fff;--work-bg:var(--surface);--work-ink:var(--ink);--work-ink-2:var(--ink-2);--work-muted:var(--muted);--work-line:var(--line);--work-line-2:var(--line-2);--work-on-ink:var(--on-ink);--work-ink-hover:var(--ink-hover);--work-accent:var(--accent);--work-halo:var(--accent-halo);--work-halo-2:var(--accent-halo-2);--svc-bg:var(--surface);--svc-ink:var(--ink);--svc-ink-2:var(--ink-2);--svc-muted:var(--muted);--svc-line:var(--line);--svc-line-2:var(--line-2);--svc-on-ink:var(--on-ink);--svc-ink-hover:var(--ink-hover);--svc-accent:var(--accent);--studio-bg:var(--surface);--studio-ink:var(--ink);--studio-ink-2:var(--ink-2);--studio-muted:var(--muted);--studio-line:var(--line);--studio-line-2:var(--line-2);--studio-on-ink:var(--on-ink);--studio-ink-hover:var(--ink-hover);--studio-accent:var(--accent);--own-bg:var(--surface);--own-ink:var(--ink);--own-ink-2:var(--ink-2);--own-muted:var(--muted);--own-line:var(--line);--own-line-2:var(--line-2);--own-on-ink:var(--on-ink);--own-ink-hover:var(--ink-hover);--own-accent:var(--accent);--own-tag-bg:var(--tag-bg);--mail-bg:var(--surface);--mail-ink:var(--ink);--mail-ink-2:var(--ink-2);--mail-muted:var(--muted);--mail-line:var(--line);--mail-line-2:var(--line-2);--mail-on-ink:var(--on-ink);--mail-ink-hover:var(--ink-hover);--mail-accent:var(--accent);--form-bg:#0a0a0a;--form-ink:#fff;--form-ink-2:#ffffffdb;--form-muted:#ffffffb3;--form-line:#ffffff2e;--form-line-2:#ffffff85;--form-on-ink:#0a0a0a;--form-ink-hover:#e8e8e8;--form-accent:#ff5a36;--form-hover:#ffffff1a;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-display:clamp(2.6rem, 1.1rem + 6.2vw, 7.4rem);--fs-display-2:clamp(3.25rem, 1.1rem + 6.2vw, 7.4rem);--fs-title:clamp(2.5rem, 1.6rem + 3vw, 4rem);--fs-h2:clamp(1.75rem, 1.2rem + 2vw, 2.75rem);--fs-h3-lg:2rem;--fs-h3:1.625rem;--fs-h4:1.25rem;--fs-h5:1.1875rem;--fs-lead:1.125rem;--fs-body:1.0625rem;--fs-md:1rem;--fs-sm:.9375rem;--fs-xs:.875rem;--fs-meta:.8125rem;--fs-label:.75rem;--fs-micro:.6875rem;--fs-frame-url:8px;--lh-display:1;--lh-display-xl:.96;--lh-tight:1.1;--lh-body:1.55;--tr-display:-.035em;--tr-h:-.03em;--tr-tight:-.02em;--tr-snug:-.01em;--tr-mono:.02em;--fw-regular:400;--fw-medium:500;--fw-bold:600;--gut:20px;--max:1320px;--col-gap:24px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--s-9:40px;--s-10:48px;--s-11:56px;--s-12:64px;--s-13:72px;--s-14:96px;--s-15:120px;--tap:44px;--header-h:72px;--r-lg:20px;--r-md:12px;--r-sm:8px;--r-xs:4px;--r-phone:14px;--r-phone-in:12px;--phone-bezel:2px;--r-pill:999px;--ease:cubic-bezier(.2, .7, .15, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--t-1:.15s;--t-2:.24s;--t-3:.38s;--t-4:.4s;--stagger-word:45ms;--stagger-reveal:60ms;--reveal-delay:.26s;--reveal-shift:10px;--press:.97;--pill-from:.6;--bp-sm:380px;--bp-md:700px;--bp-lg:900px;--bp-xl:1100px}@media (width>=700px){:root{--gut:32px;--r-sm:10px;--r-phone:22px;--r-phone-in:19px;--phone-bezel:3px;--fs-frame-url:11px}}@media (width>=1100px){:root{--gut:56px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.skip{left:var(--gut);z-index:50;background:var(--ink);color:var(--on-ink);border-radius:var(--r-pill);padding:12px 16px;position:absolute;top:12px;transform:translateY(calc(-100% - 24px))}.skip:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.label{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-mono);color:var(--muted);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:var(--fs-meta);color:var(--muted);letter-spacing:.01em;margin-bottom:18px}.eyebrow .sep{color:var(--line-2);margin:0 .35em}.headline{font-weight:var(--fw-regular);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);max-width:15ch}@media (width>=1100px){.headline{max-width:11.5em;line-height:var(--lh-display-xl)}}.title{font-weight:var(--fw-regular);font-size:var(--fs-title);letter-spacing:var(--tr-display);line-height:1}.lede{font-size:var(--fs-body);color:var(--ink-2);max-width:38ch;line-height:var(--lh-body)}@media (width>=900px){.lede{font-size:var(--fs-lead)}}.note{color:var(--muted);font-size:var(--fs-sm);max-width:42ch}.dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-halo);border-radius:50%;flex:none;display:inline-block}.ring{border:1.5px solid var(--muted);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.arr{font-family:var(--mono);transition:transform var(--t-2) var(--ease);font-size:.85em;display:inline-block}.wrap{width:100%;max-width:calc(var(--max) + var(--gut) * 2);padding-inline:var(--gut);margin-inline:auto}.top{min-height:var(--header-h);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;container-type:inline-size}.mark{font-weight:var(--fw-bold);font-size:var(--fs-body);letter-spacing:var(--tr-tight);min-height:var(--tap);align-items:center;gap:.35em;display:inline-flex}.mark span{font-weight:var(--fw-regular);color:var(--muted)}.nav{min-width:0;font-size:var(--fs-sm);flex:1;justify-content:flex-end;align-items:center;gap:4px;display:flex}@container (width<=17rem){.nav{flex-wrap:wrap;flex-basis:100%;justify-content:flex-start}}.nav a{min-height:var(--tap);color:var(--ink-2);border-radius:var(--r-pill);transition:color var(--t-1) var(--ease), background-color var(--t-1) var(--ease);align-items:center;gap:8px;padding:0 10px;display:inline-flex}.nav-wide{display:none!important}.nav .nav-start{border:1px solid var(--line-2);color:var(--ink);margin-left:4px;padding:0 14px}@media (width<=379px){.nav .nav-start .dot{display:none}}@media (width>=900px){.nav-wide{display:inline-flex!important}.nav{gap:8px}.nav .nav-start{margin-left:12px;padding:0 16px}}@media (hover:hover){.nav a:hover{color:var(--ink);background:var(--ink-wash)}.nav .nav-start:hover{border-color:var(--ink);background:var(--surface)}}:where(button.btn){font:inherit;cursor:pointer;background:0 0;border:0}.btn{border-radius:var(--r-pill);min-height:52px;font-size:var(--fs-md);font-weight:var(--fw-medium);letter-spacing:var(--tr-snug);white-space:nowrap;transition:transform var(--t-3) var(--ease), background-color var(--t-2) var(--ease), border-color var(--t-2) var(--ease), color var(--t-2) var(--ease);will-change:transform;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 22px;display:inline-flex;position:relative}.btn .mag-in{transition:transform var(--t-3) var(--ease);pointer-events:none;align-items:baseline;gap:.45em;display:inline-flex}.btn-ink{background:var(--ink);color:var(--on-ink)}.btn-line{border:1px solid var(--line-2);color:var(--ink);background:0 0}.btn-lg{min-height:60px;font-size:var(--fs-body);padding:0 28px}.btn:active{transform:scale(var(--press));transition-duration:var(--t-1)}.btn.is-mag,.btn.is-mag .mag-in{transition-duration:var(--t-1)}@media (hover:hover){.btn-ink:hover{background:var(--ink-hover)}.btn-line:hover{border-color:var(--ink);background:var(--surface)}.btn:hover .arr-down{transform:translateY(2px)}.btn:hover .arr-right{transform:translate(3px)}}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.ulink{transition:background-size var(--t-2) var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px}@media (hover:hover){.ulink:hover{background-size:100% 1px}.ulink:hover .arr{transform:translate(2px,-2px)}}.mail-link{min-height:var(--tap);font-size:var(--fs-body);letter-spacing:var(--tr-snug);justify-self:start;align-items:center;gap:8px;display:inline-flex}.mail-link,.url{overflow-wrap:anywhere;max-width:100%}.url{flex-shrink:0}.facts{border-top:1px solid var(--line);margin-top:18px}.facts>div{border-bottom:1px solid var(--line);font-size:var(--fs-xs);grid-template-columns:7.5rem 1fr;gap:12px;padding:10px 0;display:grid}.facts dt{font-family:var(--mono);font-size:var(--fs-label);color:var(--muted);padding-top:2px}.facts dd{color:var(--ink-2)}.cat{font-family:var(--mono);font-size:var(--fs-meta);color:var(--muted);margin-top:6px}.url{min-height:var(--tap);font-size:var(--fs-sm);align-items:center;gap:8px;margin-top:8px;display:inline-flex}.stage{--stage-ratio:1 / 1;--desk-l:6%;--desk-t:8%;--desk-w:84%;--phone-r:6%;--phone-t:32%;--phone-w:34%;aspect-ratio:var(--stage-ratio);background:var(--panel);border-radius:var(--r-lg);isolation:isolate;display:block;position:relative;overflow:hidden}.stage:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ink-wash);pointer-events:none;position:absolute;inset:0}@media (width>=900px){.stage{--stage-ratio:16 / 11;--desk-t:11%;--desk-w:76%;--phone-r:5%;--phone-t:29%;--phone-w:23%}}.stage>.frame-browser{left:var(--desk-l);top:var(--desk-t);width:var(--desk-w);position:absolute}.stage>.frame-phone{right:var(--phone-r);top:var(--phone-t);width:var(--phone-w);position:absolute}.frame-browser{background:var(--white);border-radius:var(--r-sm);box-shadow:var(--sh-frame);display:block;overflow:hidden}.frame-bar{background:var(--frame-bar);border-bottom:1px solid var(--frame-bar-line);align-items:center;gap:4px;height:20px;padding:0 8px;display:flex;position:relative}.frame-bar i{background:var(--frame-dot);border-radius:50%;width:5px;height:5px}.frame-bar span{font-family:var(--mono);font-size:var(--fs-frame-url);color:var(--frame-url);letter-spacing:var(--tr-mono);position:absolute;left:50%;transform:translate(-50%)}.frame-browser img{aspect-ratio:1440/900;width:100%}.frame-phone{padding:var(--phone-bezel);background:var(--bezel);border-radius:var(--r-phone);box-shadow:var(--sh-phone);display:block}.frame-phone img{aspect-ratio:780/1688;border-radius:var(--r-phone-in);width:100%}@media (width>=700px){.frame-bar{gap:6px;height:28px;padding:0 12px}.frame-bar i{width:8px;height:8px}}.pill,.cursor{border-radius:var(--r-pill);background:var(--ink);height:40px;color:var(--on-ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:-.005em;white-space:nowrap;box-shadow:var(--sh-pill);align-items:center;gap:8px;padding:0 16px 0 14px;display:inline-flex}.pdot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-halo-2);border-radius:50%;flex:none}.pill{z-index:3;transform:translate3d(-50%, 10px, 0) scale(var(--pill-from));opacity:0;pointer-events:none;transition:opacity var(--t-2) var(--ease), transform var(--t-3) var(--ease);position:absolute;bottom:7%;left:50%}.is-focus>.pill{opacity:1;transform:translate(-50%)scale(1)}html:not(.js) .pill{opacity:1;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.js [data-view-pill]>.pill{display:none}.js [data-view-pill]{cursor:none}html:not(.js) .pill{opacity:0}html:not(.js) [data-view-pill]:hover .pill{opacity:1}}.cursor{z-index:40;pointer-events:none;opacity:0;scale:var(--pill-from);transform-origin:50%;transition:opacity var(--t-2) var(--ease), scale var(--t-2) var(--ease);display:none;position:fixed;top:0;left:0;transform:translate(-200px,-200px)}@media (hover:hover) and (pointer:fine){.js .cursor{display:inline-flex}}.cursor.is-on{opacity:1;scale:1}.thumb{aspect-ratio:16/10;border-radius:var(--r-md);background:var(--panel);position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-4) var(--ease)}.thumb-white{background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}.thumb-white img{object-fit:contain}.tag{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-2);background:var(--tag-bg);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 8px;position:absolute;top:10px;left:10px}.proj-meta{padding-top:16px}.proj-meta h3{font-size:var(--fs-h4);font-weight:var(--fw-medium);letter-spacing:var(--tr-tight)}.proj-meta p{color:var(--ink-2);font-size:var(--fs-sm);max-width:40ch;margin-top:6px}.proj-meta .status{margin-top:12px}.status{font-family:var(--mono);font-size:var(--fs-label);color:var(--muted);align-items:center;gap:8px;display:inline-flex}.proj-meta p.status{color:var(--muted);font-size:var(--fs-label)}.status-live{color:var(--ink)}.status-chip{border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface);min-height:30px;padding:0 12px 0 10px}.svc{counter-reset:s;border-top:1px solid var(--line)}.svc li{counter-increment:s;border-bottom:1px solid var(--line);grid-template-columns:2.25rem 1fr;gap:2px 8px;padding:16px 0;display:grid}.svc li:before{content:"0" counter(s);font-family:var(--mono);font-size:var(--fs-label);color:var(--muted);grid-row:span 2;padding-top:5px}.svc-n{font-size:var(--fs-h5);font-weight:var(--fw-medium);letter-spacing:var(--tr-tight)}.svc-d{color:var(--muted);font-size:var(--fs-sm)}@media (width>=900px){.svc-rows li{grid-template-columns:2.25rem minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;padding:22px 0}.svc-rows li:before{grid-row:auto;padding-top:0}}.start{background:var(--surface);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);padding:20px 20px 24px;scroll-margin-top:16px;position:relative}@media (width>=700px){.start{padding:32px 36px 36px}}.form-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.form-head h3{font-weight:var(--fw-regular)}.field{border:0;min-width:0;margin:22px 0 0;padding:0}.field>label,.field>legend{width:100%;font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:var(--tr-snug);color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding:0;display:flex}.tag-req,.tag-opt{font-family:var(--mono);font-size:var(--fs-micro);font-weight:var(--fw-regular);letter-spacing:var(--tr-mono);color:var(--muted)}.line{display:block;position:relative}.line:before,.line:after{content:"";pointer-events:none;position:absolute;bottom:0;left:0;right:0}.line:before{background:var(--muted);height:1px}.line:after{background:var(--accent);transform-origin:0;height:2px;transition:transform var(--t-2) var(--ease);transform:scaleX(0)}.line:focus-within:after,.field.is-bad .line:after{transform:scaleX(1)}.line>input,.line>textarea{width:100%;min-height:48px;font:inherit;font-size:var(--fs-body);letter-spacing:var(--tr-snug);color:var(--ink);appearance:none;background:0 0;border:0;border-radius:0;margin:0;padding:10px 0 9px;display:block}.line>textarea{resize:vertical;min-height:96px;line-height:1.5}.line>input:focus-visible,.line>textarea:focus-visible{outline:none}.hint{font-family:var(--mono);font-size:var(--fs-label);color:var(--muted);margin-top:8px}.err{font-size:var(--fs-xs);color:var(--ink);align-items:flex-start;gap:8px;margin-top:8px;display:none}.err:before{content:"!";background:var(--accent);width:18px;height:18px;color:var(--on-ink);font-family:var(--mono);font-size:var(--fs-micro);font-weight:var(--fw-medium);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:inline-grid}.field.is-bad .err{display:flex}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{display:inline-flex;position:relative}.chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.chip span{min-height:var(--tap);border-radius:var(--r-pill);border:1px solid var(--line-2);color:var(--ink);font-size:var(--fs-sm);letter-spacing:var(--tr-snug);transition:background-color var(--t-2) var(--ease), border-color var(--t-2) var(--ease), color var(--t-2) var(--ease), transform var(--t-1) var(--ease);background:0 0;align-items:center;gap:8px;padding:0 16px 0 13px;display:inline-flex}.chip span:before{content:"+";width:1ch;font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);text-align:center;display:inline-block}.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.chip input:checked+span:before{content:"✓";color:var(--on-ink)}.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.chip input:active+span{transform:scale(var(--press))}@media (hover:hover){.chip input:not(:checked):hover+span{border-color:var(--ink);background:var(--bg)}}.hp{width:1px;height:1px;top:auto;left:-10000px;overflow:hidden;position:absolute!important}.form-foot{margin-top:24px}.form-foot .btn{width:100%}@media (width>=700px){.form-foot .btn{width:auto;min-width:200px}}.form-status:empty{display:none}.form-status{font-family:var(--mono);font-size:var(--fs-label);color:var(--ink-2);margin-top:14px}.sent:focus{outline:none}.sent-pill{border-radius:var(--r-pill);background:var(--ink);height:36px;color:var(--on-ink);font-size:var(--fs-meta);font-weight:var(--fw-medium);white-space:nowrap;box-shadow:var(--sh-pill);opacity:0;transform:translate3d(0, 8px, 0) scale(var(--pill-from));transform-origin:0;transition:opacity var(--t-2) var(--ease), transform var(--t-3) var(--ease);align-items:center;gap:8px;padding:0 14px 0 12px;display:inline-flex}.sent-h{font-weight:var(--fw-regular);font-size:var(--fs-title);letter-spacing:var(--tr-display);margin-top:22px;line-height:1}.rise{vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:hidden}.rise>span{transition:transform var(--t-3) var(--ease) 80ms;display:inline-block;transform:translateY(108%)}.sent-p{color:var(--ink-2);max-width:44ch;margin-top:16px}.sent .facts{margin-top:24px}.sent .facts dd{overflow-wrap:anywhere}.sent-row{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:24px;display:flex}.start.is-sent .form-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sent.is-in .sent-pill{opacity:1;transform:none}.sent.is-in .rise>span{transform:none}.foot{padding-top:20px;padding-bottom:calc(28px + env(safe-area-inset-bottom));background:linear-gradient(var(--line), var(--line)) var(--gut) 0 / calc(100% - var(--gut) * 2) 1px no-repeat;font-family:var(--mono);font-size:var(--fs-label);color:var(--muted);gap:6px;display:grid}.foot a{min-height:var(--tap);justify-self:start;align-items:center;gap:6px;display:inline-flex}@media (width>=900px){.foot{grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:28px}.foot-line{text-align:center}.foot a{justify-self:end}}.w{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.w>span{display:inline-block}.js [data-words] .w>span{transform:translateY(108%)}.js.is-ready [data-words]:not([data-words=scroll]) .w>span,.js [data-words=scroll].is-in .w>span{transition:transform var(--t-3) var(--ease);transition-delay:calc(var(--i,0) * var(--stagger-word));transform:none}.js [data-reveal=load]{opacity:0;transform:translate3d(0, var(--reveal-shift), 0)}.js.is-ready [data-reveal=load]{opacity:1;transition:opacity var(--t-3) var(--ease), transform var(--t-3) var(--ease);transition-delay:calc(var(--reveal-delay) + var(--i,0) * var(--stagger-reveal));transform:none}.motion [data-reveal]:not([data-reveal=load]){transition:opacity var(--t-3) var(--ease), transform var(--t-3) var(--ease);transition-delay:calc(var(--i,0) * var(--stagger-reveal))}.motion [data-reveal]:not([data-reveal=load]):not(.is-in){opacity:0;transform:translate3d(0, var(--reveal-shift), 0)}.tick{font-variant-numeric:tabular-nums}.tick-d{vertical-align:top;display:inline-block;position:relative;overflow:hidden}.tick-ghost{visibility:hidden}.tick-strip{text-align:center;flex-direction:column;width:100%;display:flex;position:absolute;top:0;left:0}.tick-strip.is-rolling{transition:transform var(--t-4) var(--ease)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}.js [data-words] .w>span,.js [data-reveal],.motion [data-reveal],.rise>span,.sent-pill{opacity:1!important;transform:none!important}.js .pill{opacity:1;transform:translate(-50%)scale(1)}}.b-hero{--surface:var(--hero-bg);--ink:var(--hero-ink);--ink-2:var(--hero-ink-2);--muted:var(--hero-muted);--line:var(--hero-line);--line-2:var(--hero-line-2);--on-ink:var(--hero-on-ink);--ink-hover:var(--hero-ink-hover);--accent:var(--hero-accent);color:var(--ink)}.card-work{--surface:var(--work-bg);--ink:var(--work-ink);--ink-2:var(--work-ink-2);--muted:var(--work-muted);--line:var(--work-line);--line-2:var(--work-line-2);--on-ink:var(--work-on-ink);--ink-hover:var(--work-ink-hover);--accent:var(--work-accent);--accent-halo:var(--work-halo);--accent-halo-2:var(--work-halo-2);color:var(--ink)}.b-svc{--surface:var(--svc-bg);--ink:var(--svc-ink);--ink-2:var(--svc-ink-2);--muted:var(--svc-muted);--line:var(--svc-line);--line-2:var(--svc-line-2);--on-ink:var(--svc-on-ink);--ink-hover:var(--svc-ink-hover);--accent:var(--svc-accent);color:var(--ink)}.b-studio{--surface:var(--studio-bg);--ink:var(--studio-ink);--ink-2:var(--studio-ink-2);--muted:var(--studio-muted);--line:var(--studio-line);--line-2:var(--studio-line-2);--on-ink:var(--studio-on-ink);--ink-hover:var(--studio-ink-hover);--accent:var(--studio-accent);color:var(--ink)}.b-own{--surface:var(--own-bg);--ink:var(--own-ink);--ink-2:var(--own-ink-2);--muted:var(--own-muted);--line:var(--own-line);--line-2:var(--own-line-2);--on-ink:var(--own-on-ink);--ink-hover:var(--own-ink-hover);--accent:var(--own-accent);--tag-bg:var(--own-tag-bg);color:var(--ink)}.b-mail{--surface:var(--mail-bg);--ink:var(--mail-ink);--ink-2:var(--mail-ink-2);--muted:var(--mail-muted);--line:var(--mail-line);--line-2:var(--mail-line-2);--on-ink:var(--mail-on-ink);--ink-hover:var(--mail-ink-hover);--accent:var(--mail-accent);color:var(--ink)}.b-form{--surface:var(--form-bg);--ink:var(--form-ink);--ink-2:var(--form-ink-2);--muted:var(--form-muted);--line:var(--form-line);--line-2:var(--form-line-2);--on-ink:var(--form-on-ink);--ink-hover:var(--form-ink-hover);--accent:var(--form-accent);--bg:var(--form-hover);color:var(--ink)}.card{background:var(--surface);border-radius:var(--r-lg);min-width:0;box-shadow:inset 0 0 0 1px var(--line);padding:var(--s-5);transition:box-shadow var(--t-2) var(--ease);position:relative}@media (width>=700px){.card{padding:var(--s-7) var(--s-8) var(--s-8)}}@media (hover:hover){.card:hover,.start:hover{box-shadow:inset 0 0 0 1px var(--line-2)}}.start{transition:box-shadow var(--t-2) var(--ease)}.card-k{margin-bottom:var(--s-2)}.card-t{font-size:var(--fs-h3);font-weight:var(--fw-medium);letter-spacing:var(--tr-h);line-height:var(--lh-tight)}.stage>.frame-browser,.stage>.frame-phone{transition:transform var(--t-3) var(--ease)}@media (hover:hover) and (prefers-reduced-motion:no-preference){a.stage:hover>.frame-browser{transform:translateY(-4px)}a.stage:hover>.frame-phone{transform:translateY(-8px)}}.bento{gap:var(--s-3);padding-top:var(--s-2);padding-bottom:var(--s-10);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=700px){.bento{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}.b-hero,.b-form{grid-column:1/-1}}@media (width>=900px){.bento{padding-bottom:var(--s-13);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row}.b-hero{grid-area:1/1/auto/span 7}.b-nori{grid-area:1/8/auto/span 5}.b-svc{grid-area:2/1/auto/span 4}.b-studio{grid-area:2/5/auto/span 3}.b-mani{grid-area:2/8/auto/span 5}.b-form{grid-area:3/1/span 2/span 7}.b-own{grid-area:3/8/auto/span 5}.b-mail{grid-area:4/8/auto/span 5}}@media (width>=900px) and (width<=1099px){.b-svc{grid-column:1/span 7}.b-studio{grid-area:3/8/auto/span 5}.b-own{grid-row:4}.b-mail{grid-row:5}.b-form{grid-row:3/span 3}}.b-hero{flex-direction:column;display:flex}.b-hero .headline{max-width:12em;font-size:min(clamp(2.6rem,1.2rem + 3.6vw,4.75rem),15vw)}.hero-foot{justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-top:var(--s-6);flex-wrap:wrap;display:flex}@media (width>=900px){.b-hero{padding:var(--s-7) var(--s-9) var(--s-8)}.hero-foot{padding-top:var(--s-6);grid-template-columns:minmax(0,1fr) auto;margin-top:auto;display:grid}.hero-foot .lede{max-width:30ch}}@media (width>=900px) and (width<=1099px){.hero-foot{grid-template-columns:minmax(0,1fr)}}.card-work{padding:var(--s-2);flex-direction:column;display:flex}.work-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.work-head>div{flex:13rem}.work-head .status-chip{margin-top:2px}.card-work .stage{border-radius:var(--r-md)}.work-foot{justify-content:space-between;align-items:flex-end;gap:0 var(--s-5);padding:var(--s-3) var(--s-3) var(--s-1);flex-wrap:wrap;margin-top:auto;display:flex}.work-d{max-width:40ch;color:var(--ink-2);font-size:var(--fs-sm);flex:16rem}.work-foot .url{margin-top:var(--s-1)}@media (width>=900px){.card-work .stage{--stage-ratio:5 / 2;--desk-l:6%;--desk-t:13%;--desk-w:70%;--phone-r:6%;--phone-t:7%;--phone-w:16%;flex:none}.work-head{padding:var(--s-3) var(--s-3) var(--s-3)}.card-work .work-foot{padding-top:var(--s-2)}.work-foot{flex-wrap:nowrap;align-items:center;margin-top:auto}.work-d{font-size:var(--fs-xs)}}.b-svc .svc{margin-top:var(--s-5)}@media (width>=900px){.b-svc .svc{margin-top:var(--s-4)}.b-svc .card-t{max-width:16ch}.b-svc .svc-rows li{padding:var(--s-2) 0;grid-template-columns:2.25rem 1fr;align-items:start}.b-svc .svc-rows li:before{grid-row:span 2;padding-top:5px}.b-svc .svc-rows li:last-child{border-bottom:0;padding-bottom:0}}.b-studio{flex-direction:column;display:flex}.studio-n{margin-top:var(--s-3);margin-bottom:var(--s-6);max-width:30ch}.b-studio .facts{margin-top:auto;padding-top:0}.b-studio .facts>div{grid-template-columns:4.5rem 1fr}.b-studio .facts>div:last-child{border-bottom:0;padding-bottom:0}.own-note{margin-top:var(--s-1)}.own-scroll{margin:var(--s-5) calc(var(--s-5) * -1) 0;padding:0 var(--s-5) var(--s-2);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--s-5);scrollbar-width:none;overflow-x:auto}.own-scroll::-webkit-scrollbar{display:none}.own-scroll:focus-visible{outline-offset:-2px;border-radius:var(--r-md)}.own-list{gap:var(--s-3);grid-auto-columns:min(78%,300px);grid-auto-flow:column;display:grid}.own-list:has(>.proj:only-child){grid-auto-columns:100%}.own-list .proj{scroll-snap-align:start}.own-list .proj-meta p:not(.status){max-width:34ch}@media (width>=700px){.own-scroll{margin-inline:calc(var(--s-8) * -1);padding-inline:var(--s-8);scroll-padding-inline:var(--s-8)}}@media (width>=900px){.own-scroll{margin:var(--s-6) 0 0;scroll-snap-type:none;padding:0;overflow:visible}.own-list{gap:var(--s-4);grid-auto-columns:auto;grid-auto-flow:row}.own-list .proj{gap:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);grid-template-columns:13rem minmax(0,1fr);align-items:start;display:grid}.own-list .proj-meta{padding-top:0}.own-list .proj-meta .status{margin-top:var(--s-2)}}@media (width>=900px) and (width<=1099px){.own-list .proj{grid-template-columns:minmax(0,1fr);gap:0}.own-list .proj-meta{padding-top:var(--s-4)}}.b-mail{flex-direction:column;display:flex}.mail-body{padding-top:var(--s-4);gap:var(--s-1);margin-top:auto;display:grid}.b-mail .mail-link{font-size:var(--fs-h4)}.form-intro{margin-bottom:var(--s-8)}.form-intro .title{margin-top:var(--s-1)}.form-intro .lede{margin-top:var(--s-4)}.start.is-sent .form-intro{display:none}.form-end{justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-top:var(--s-7);flex-wrap:wrap;display:flex;container-type:inline-size}.form-end .ts-slot,.form-end .form-foot{margin-top:0}.form-end .form-foot{flex:100%}@media (width>=700px){.pair{column-gap:var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-end .ts-slot{flex:0 0 300px}.form-end .form-foot{flex:160px;min-width:0;max-width:200px}.form-end .form-foot .btn{width:100%;min-width:0}}@media (width>=900px){.b-form{padding:var(--s-9) var(--s-9) var(--s-9)}}.ts-slot{flex:260px;align-items:center;min-height:65px;line-height:0;display:flex}.ts-slot iframe{max-width:100%}@container (width<=299.98px){.ts-slot{min-height:140px}}.err.is-shown{display:flex}.send-err{flex:100%;margin-top:0}.send-err a{text-underline-offset:2px;text-decoration:underline}.btn[aria-disabled=true]{cursor:progress;opacity:.72}
