@font-face{font-family:"Source Serif 4 Variable";src:url(/fonts/source-serif.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3 Variable";src:url(/fonts/source-sans.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}:root{--bg: #0e0f12;--bg-soft: #15161b;--bg-panel: #1b1c22;--paper: #f4f2eb;--paper-2: #ebe7dc;--ink: #14151a;--ink-soft: #3b3e48;--mute: #6b6f7b;--line: rgba(255, 255, 255, .1);--line-dark: rgba(20, 21, 26, .12);--sun: #f9e44e;--sun-2: #ffe86a;--sun-text: #f9e44e;--ember: #e12e4a;--white: #f7f6f2;--fg: #f7f6f2;--fg-soft: #c6c4bc;--fg-mute: #9c998f;--glass: rgba(14, 15, 18, .78);--fill: rgba(255, 255, 255, .04);--fill-hover: rgba(255, 255, 255, .07);--fill-strong: rgba(255, 255, 255, .1);--stroke: rgba(255, 255, 255, .14);--stroke-strong: rgba(255, 255, 255, .28);--chrome: #111216;--chrome-bar: #16171c;--footer-bg: #050608;--footer-mute: var(--fg-mute);--nav-fg: #eceae3;--choice-on: rgba(255, 255, 255, .07);--choice-on-line: rgba(255, 255, 255, .42);--hero-glow: rgba(249, 228, 78, .12);--hero-glow-mid: rgba(249, 228, 78, .03);--body-glow: rgba(249, 228, 78, .05);--radius: 10px;--radius-sm: 8px;--radius-lg: 12px;--shadow: 0 18px 48px rgba(0, 0, 0, .28);--shadow-nav: 0 10px 32px rgba(0, 0, 0, .22);--shadow-browser: 0 28px 56px rgba(0, 0, 0, .38);--max: 1120px;--wide: 1280px;--pad: clamp(1.25rem, 4vw, 2.5rem);--section: clamp(4rem, 8vw, 7rem);--header-h: 5.15rem;--font: "Source Sans 3 Variable", "Source Sans 3", source-sans-3, system-ui, sans-serif;--display: "Source Serif 4 Variable", "Source Serif 4", source-serif-4, Georgia, serif;--ease: cubic-bezier(.22, 1, .36, 1)}html[data-theme=light]{--bg: #f3f1ea;--bg-soft: #e8e3d6;--bg-panel: #fffcf6;--paper: #fffcf6;--paper-2: #efebe0;--line: rgba(20, 21, 26, .1);--mute: #5e6158;--fg: #14151a;--fg-soft: #3b3e48;--fg-mute: #5e6158;--sun-text: #8a6d00;--glass: rgba(243, 241, 234, .9);--fill: rgba(20, 21, 26, .035);--fill-hover: rgba(20, 21, 26, .06);--fill-strong: rgba(20, 21, 26, .09);--stroke: rgba(20, 21, 26, .12);--stroke-strong: rgba(20, 21, 26, .22);--chrome: #ffffff;--chrome-bar: #f0ede4;--footer-bg: #9a927c;--footer-mute: #2a2c32;--nav-fg: #14151a;--choice-on: rgba(20, 21, 26, .05);--choice-on-line: rgba(20, 21, 26, .28);--hero-glow: rgba(249, 228, 78, .32);--hero-glow-mid: rgba(249, 228, 78, .1);--body-glow: rgba(249, 228, 78, .16);--shadow: 0 18px 48px rgba(40, 36, 28, .08);--shadow-nav: 0 10px 28px rgba(40, 36, 28, .08);--shadow-browser: 0 22px 44px rgba(40, 36, 28, .1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}html[data-theme=light]{color-scheme:light}body{margin:0;font-family:var(--font);font-size:1.05rem;line-height:1.68;color:var(--fg);background:radial-gradient(900px 520px at 88% -8%,var(--body-glow),transparent 58%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}img,svg{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--display);line-height:1.14;letter-spacing:-.018em;margin:0 0 .8rem;font-weight:600}h1{font-size:clamp(2.15rem,5.6vw,4.35rem)}h2{font-size:clamp(1.7rem,3.6vw,2.65rem)}h3{font-size:clamp(1.15rem,2vw,1.42rem);letter-spacing:-.01em;font-weight:600}p{margin:0 0 1rem}p:last-child{margin-bottom:0}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--sun);color:var(--ink);padding:.7rem 1rem;z-index:2000;font-weight:700;border-radius:var(--radius-sm)}.skip-link:focus{top:1rem}[hidden]{display:none!important}.wrap{width:min(100% - 2 * var(--pad),var(--max));margin-inline:auto}.wrap-wide{width:min(100% - 2 * var(--pad),var(--wide));margin-inline:auto}.section{padding:var(--section) 0}main>:last-child{padding-bottom:calc(var(--section) + 2.4rem)}.section-light{background:var(--paper);color:var(--ink)}html[data-theme=light] .section-light{background:#fff}html[data-theme=light] .section-soft{background:#e4dfd1}.section-soft{background:var(--bg-soft)}#arbeit,#ablauf,#kontakt,#content{scroll-margin-top:calc(var(--header-h) + .8rem)}#kontakt{padding-bottom:calc(clamp(3.2rem,6vw,5.2rem) + 2.4rem)}.kicker{display:inline-flex;align-items:center;gap:.7rem;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:1rem}.kicker-dark{color:var(--fg-mute)}.kicker:before{content:"";width:1.15rem;height:1px;background:currentColor;opacity:.8}.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--fg-soft);max-width:42rem}.personal-note{margin:.35rem 0 1.05rem;max-width:28rem;font-family:var(--display);font-size:clamp(1.18rem,2.2vw,1.42rem);line-height:1.38;color:var(--fg)}.sun-list{display:grid;gap:.38rem;margin:0;padding:0;list-style:none}.sun-list li,.sun-status{display:inline-flex;align-items:center;gap:.48rem}.sun-list li:before,.sun-status:before{content:"";width:.48rem;height:.48rem;border-radius:50%;flex-shrink:0;background:var(--sun);box-shadow:0 0 .55rem color-mix(in srgb,var(--sun) 45%,transparent)}.sun-status{font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--fg-soft)}.work-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .85rem;margin-bottom:.55rem}.work-head .kicker{margin-bottom:0}.work-head .kicker:before{display:none}.section-light .lead{color:var(--ink-soft)}.cluster{display:flex;flex-wrap:wrap;gap:.8rem 1rem;align-items:center}.ui-icon{width:1rem;height:1rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ui-icon.is-fill{fill:currentColor;stroke:none}.contact-address,.contact-way,.field-label{display:flex;align-items:center;gap:.55rem}.contact-address{align-items:flex-start;margin:1.15rem 0 0;color:var(--fg-soft)}.contact-address .ui-icon{margin-top:.28rem;color:var(--fg-mute);opacity:.72}.contact-ways{list-style:none;margin:1.05rem 0 0;padding:0;display:grid;gap:.28rem}.contact-way{width:fit-content;max-width:100%;text-decoration:none;color:inherit;padding:.28rem 0}.contact-way span{display:grid;gap:.04rem;min-width:0}.contact-way small{font-size:.68rem;font-weight:680;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.contact-way .ui-icon{color:var(--fg-mute);opacity:.8}.contact-way:hover .ui-icon{color:var(--sun-text);opacity:1}.contact-ways+.cluster{margin-top:1.35rem}.field-label{gap:.4rem}.field-label .ui-icon{width:.9rem;height:.9rem;color:var(--mute);opacity:.78}.btn .ui-icon{width:.98rem;height:.98rem}.stack-s{margin-top:1.4rem}.stack-m{margin-top:2rem}.stack-l{margin-top:3rem}.btn{--btn-bg: var(--sun);--btn-fg: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.85rem;padding:.75rem 1.2rem;border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);text-decoration:none;font-weight:720;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:.95rem;letter-spacing:-.01em;position:relative;isolation:isolate;transition:background .28s var(--ease),border-color .28s var(--ease),color .28s var(--ease),transform .28s var(--ease),box-shadow .35s var(--ease),filter .35s var(--ease)}.btn:hover{background:var(--sun-2)}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.5;box-shadow:none;filter:none;pointer-events:none}.btn:disabled:hover,.btn[disabled]:hover{background:var(--btn-bg)}.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink){overflow:hidden;box-shadow:inset 0 1px #ffffff47}.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink):after{content:"";position:absolute;inset:-30% -50%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.42) 50%,transparent 58%);transform:translate(-42%);opacity:0;pointer-events:none;transition:transform .7s var(--ease),opacity .35s var(--ease)}.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink):disabled:after,.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink)[disabled]:after{display:none}@media(hover:hover)and (pointer:fine){.btn:not(.btn-quiet):hover{transform:translateY(-1px)}.btn:not(.btn-quiet):active{transform:none}.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink):hover{filter:brightness(1.04);box-shadow:inset 0 1px #ffffff80,0 0 0 1px color-mix(in srgb,var(--sun) 30%,transparent),0 10px 28px color-mix(in srgb,var(--sun) 28%,transparent)}.btn:not(.btn-ghost):not(.btn-quiet):not(.btn-ink):hover:after{opacity:1;transform:translate(42%)}}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--fg);border-color:var(--stroke)}.btn-ghost:hover{background:var(--fill-hover)}.btn-quiet{--btn-bg: transparent;--btn-fg: var(--fg-soft);border-color:transparent;font-weight:650;min-height:2.6rem;padding-inline:.4rem;text-decoration:underline;text-underline-offset:.28em;text-decoration-color:var(--stroke-strong)}.btn-quiet:hover{color:var(--fg);text-decoration-color:var(--fg)}.btn-ink{--btn-bg: var(--ink);--btn-fg: var(--white)}.btn-ink:hover{background:#1d1f27}.text-link{justify-self:start;color:inherit;font-weight:650;text-underline-offset:.28em}.text-link:hover{color:var(--sun)}.site-header{position:fixed;top:.7rem;left:0;right:0;z-index:50;width:min(100% - 1.2rem,1280px);margin:0 auto}main:not(:has(.hero)){padding-top:var(--header-h)}.nav{display:flex;align-items:center;gap:.85rem;min-height:4.5rem;padding:.35rem .45rem .35rem .65rem;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-lg);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow-nav)}.logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.logo img{width:84px;height:56px;max-width:none;object-fit:contain}.logo-on-light,html[data-theme=light] .logo-on-dark{display:none}html[data-theme=light] .logo-on-light{display:block}.nav-links{display:flex;align-items:center;gap:.08rem;margin-left:auto}.nav-links a{text-decoration:none;color:var(--nav-fg);font-size:.88rem;font-weight:620;padding:.48rem .62rem;border-radius:var(--radius-sm)}.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--fill-hover)}.nav-cta{background:var(--sun)!important;color:var(--ink)!important;margin-left:.25rem;font-weight:720!important;transition:background .28s var(--ease),box-shadow .35s var(--ease),filter .35s var(--ease)}@media(hover:hover)and (pointer:fine){.nav-cta:hover{filter:brightness(1.04);box-shadow:0 8px 22px color-mix(in srgb,var(--sun) 30%,transparent)}}.nav-support{color:var(--fg-mute)!important;font-weight:600!important}.theme-toggle{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;border:0;background:transparent;color:var(--fg);border-radius:var(--radius-sm);cursor:pointer}.theme-toggle:hover{background:var(--fill-hover)}.theme-icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}.theme-toggle:hover .theme-icon{transform:rotate(14deg)}.theme-icon-moon,html[data-theme=light] .theme-icon-sun{display:none}html[data-theme=light] .theme-icon-moon{display:block}.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--fg);border-radius:var(--radius-sm)}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{display:block;width:18px;height:2px;background:currentColor;position:relative;margin:auto}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}@media(min-width:981px){.logo{order:1}.nav-links{order:2}.theme-toggle{order:3;margin-left:.2rem}}.hero{position:relative;height:100svh;height:100dvh;min-height:100svh;min-height:100dvh;max-height:100svh;max-height:100dvh;display:grid;align-items:center;padding:calc(var(--header-h) + .6rem) 0 3.2rem;overflow:hidden;box-sizing:border-box}.hero-glow{position:absolute;inset:auto -12% 8% auto;width:min(58vw,640px);height:min(58vw,640px);pointer-events:none;background:radial-gradient(circle,var(--hero-glow) 0%,var(--hero-glow-mid) 42%,transparent 70%);animation:glow-breathe 9s ease-in-out infinite}.hero-grid{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.15fr);gap:clamp(1.4rem,4vw,3.5rem);align-items:center;position:relative;z-index:1;min-height:0}.hero-main{min-width:0}.hero-main .kicker,.hero-main h1,.hero-claim,.hero-model,.hero-main>p:not(.hero-claim):not(.hero-model),.hero-main .cluster,.hero-trust,.hero-main .path-row{animation:settle .9s var(--ease) both}.hero-visual{animation:enter-media 1s var(--ease) both}.hero-model{animation-delay:.04s}.hero-main h1{animation-delay:.08s}.hero-claim{animation-delay:.12s}.hero-main>p:not(.hero-claim):not(.hero-model){animation-delay:.18s}.hero-main .cluster{animation-delay:.24s}.hero-trust{animation-delay:.3s}.hero-main .path-row{animation-delay:.36s}.hero-visual{animation-delay:.14s}.hero-main .kicker:before{transform-origin:left;animation:kicker-line .8s var(--ease) .12s both}.hero-model{margin:.5rem 0 1.05rem;max-width:38rem;color:var(--fg-soft);font-size:.98rem;line-height:1.5}.hero-main h1{max-width:12ch;margin-bottom:1rem}.hero-main h1 em{font-style:normal;color:var(--sun-text);animation:licht-glow 6s ease-in-out infinite}.hero-claim{max-width:28rem;margin:0 0 .55rem;color:var(--fg);font-size:clamp(1.06rem,1.8vw,1.28rem);font-weight:650;line-height:1.35}.hero-main>p:not(.hero-claim):not(.hero-model){max-width:34rem;color:var(--fg-soft);font-size:clamp(1rem,1.7vw,1.18rem)}.path-row{display:flex;flex-wrap:wrap;gap:.25rem 1.15rem;margin-top:1.15rem}.path-row a{color:var(--fg-mute);font-size:.88rem;font-weight:650;letter-spacing:.02em;text-decoration:none}.path-row a:hover{color:var(--sun-text)}.hero-trust{display:flex;flex-wrap:wrap;gap:.45rem 1.15rem;list-style:none;margin:1.35rem 0 0;padding:0}.hero-trust li{display:inline-flex;align-items:center;gap:.4rem;color:var(--fg-soft);font-size:.88rem;font-weight:650}.hero-visual{position:relative;margin:0;display:grid;gap:.75rem;width:min(100%,760px);max-width:none;background:none;border:0;justify-self:end}.browser{display:block;color:inherit;text-decoration:none;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--stroke);background:var(--chrome);box-shadow:var(--shadow-browser);transition:border-color .25s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}a.browser:hover{border-color:var(--stroke-strong)}@media(hover:hover)and (pointer:fine){a.browser:hover{transform:translateY(-4px)}}.browser-bar{display:flex;align-items:center;gap:.85rem;padding:.48rem .8rem;background:var(--chrome-bar);border-bottom:1px solid var(--line)}.browser-dots{width:7px;height:7px;margin-right:1.65rem;border-radius:99px;background:var(--fg-mute);box-shadow:12px 0 0 var(--fg-mute),24px 0 0 var(--fg-mute)}.browser-url{min-width:0;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser img,.hero-visual img{width:100%;height:auto;display:block;object-fit:contain}.hero-visual .browser img{max-height:min(62vh,620px);object-fit:contain;object-position:top center}.hero-visual figcaption{display:grid;gap:.12rem;font-size:.78rem;letter-spacing:.02em}.hero-visual figcaption strong{font-family:var(--display);font-size:.92rem;font-weight:720}.hero-visual figcaption span{color:var(--fg-mute)}.hero-scroll{position:absolute;left:50%;bottom:.85rem;z-index:2;display:grid;place-items:center;width:44px;height:44px;color:var(--fg-mute);text-decoration:none;transform:translate(-50%);animation:scroll-nudge 1.8s var(--ease) infinite}.hero-scroll-icon{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hero-scroll:hover{color:var(--sun-text)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}.service-list{display:grid;gap:1rem}.service-block{display:grid;gap:1.1rem;padding:1.6rem 0;border-top:1px solid var(--line)}.service-block:last-child{border-bottom:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}.chip{font-size:.82rem;padding:.28rem .55rem;border-radius:var(--radius-sm);background:var(--fill);border:1px solid var(--line)}.section-light .chip{background:#14151a0d;border-color:var(--line-dark)}.timeline{display:grid;gap:0;list-style:none;padding:0;margin:0}.step{display:grid;grid-template-columns:auto 1fr;gap:1.1rem 1.4rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.step-index{font-family:var(--display);font-size:1.35rem;color:var(--fg-mute);min-width:2.2rem}.timeline-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.2rem}.timeline-compact .step{display:grid;grid-template-columns:1fr;gap:.7rem;padding:1.35rem 0 0;border-bottom:0;border-top:1px solid var(--line)}.panel{background:color-mix(in srgb,var(--bg-panel) 88%,white 4%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:var(--shadow)}.panel h2,.panel h3{font-size:clamp(1.4rem,2.4vw,2rem);overflow-wrap:break-word}.panel-light{background:#fffdf6;color:var(--ink);border-color:#14151a14}.panel-accent{border-left:2px solid var(--sun)}.checklist{display:grid;gap:.7rem;margin:1.2rem 0 0;padding:0;list-style:none}.checklist li{padding-left:1.6rem;position:relative}.checklist li:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;position:absolute;left:0;top:.6rem;opacity:.45}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px}.tech-grid,.stack-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stack-grid{margin-top:1.7rem}.stack-card{padding:1.15rem 1.2rem 1.2rem;border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--fill)}.stack-card h3{margin:0 0 .4rem;font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute)}.stack-card p{margin:0;font-family:var(--display);font-size:1.12rem;line-height:1.4;color:var(--fg)}.tech-item,.person-card,.project-card{background:var(--fill);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem}.work-list{display:grid;gap:4.5rem;margin-top:2.5rem}.work-item{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.4rem,4vw,3.5rem);align-items:center}.work-list .work-item:nth-child(2n){grid-template-columns:.95fr 1.05fr}.work-list .work-item:nth-child(2n) .work-copy{order:-1}.work-media{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--chrome);line-height:0;overflow:hidden;transition:transform .55s var(--ease)}.work-media img{width:100%;height:auto;object-fit:contain;animation:media-drift 14s ease-in-out infinite}.work-media>a{display:block;line-height:0}.work-media.is-phone{display:flex;justify-content:center;background:transparent;border:0;overflow:visible}.work-media.is-phone>a{display:flex;justify-content:center}.work-media.is-phone img{width:auto;height:auto;max-width:min(100%,280px);max-height:min(72vh,680px);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--chrome)}.work-media.is-duo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:end;background:transparent;border:0;overflow:visible}.work-phone img{width:auto;height:auto;max-width:min(28vw,168px);display:block;border-radius:14px;border:1px solid var(--line);background:var(--chrome);box-shadow:0 18px 36px #00000047}@media(hover:hover)and (pointer:fine){.work-item:hover .work-media,.work-feature:hover .work-media,.work-grid article:hover .work-media,.case-card:hover .work-media{transform:scale(1.025)}.work-media:hover img,.work-grid article:hover .work-media img,.case-card:hover .work-media img{animation-play-state:paused}}.work-feature{display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(1.4rem,4vw,3.5rem);align-items:center;margin-top:2.6rem}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.3rem,3vw,2rem);margin-top:2.4rem;align-items:start}.work-grid article{display:grid;gap:1rem;align-content:start}.work-product{color:var(--fg-mute);font-weight:650;margin-bottom:.8rem}.case-list{display:grid;gap:clamp(1.6rem,4vw,2.8rem);margin-top:2.6rem}.case-card{display:grid;gap:1.25rem;padding:clamp(1.15rem,3vw,1.85rem);border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--fill)}.case-top .kicker{margin-bottom:0}.case-title{margin:.35rem 0 0;font-family:var(--display);font-size:clamp(1.7rem,4.2vw,2.75rem);font-weight:650;line-height:1.08;letter-spacing:.04em;text-transform:uppercase}.case-product{margin:.35rem 0 0;color:var(--fg-mute);font-weight:650}.case-card .case-media{margin-top:.2rem}.case-card .work-media.is-phone{padding:clamp(1.2rem,3vw,2.2rem);background:var(--chrome);border:1px solid var(--line);overflow:hidden}.case-card .work-media.is-phone img{max-width:min(100%,22rem);max-height:min(68vh,620px)}.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.5rem;margin:.15rem 0 0}.case-facts dt{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute)}.case-facts dd{margin:.35rem 0 0;color:var(--fg-soft);line-height:1.5}.case-link{width:fit-content;display:inline-flex;align-items:center;gap:.5rem;margin-top:.15rem;font-weight:650;text-decoration:none;color:var(--fg)}.case-link:before{content:"→";color:var(--sun);font-size:1.05em}.case-link:hover{color:var(--sun-text)}.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:2.4rem}.bento-item{grid-column:span 2;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem;display:grid;gap:.75rem;min-height:260px}.bento-item.is-core{grid-column:span 2}.bento-item.is-also{grid-column:span 3;min-height:220px}.service-focus{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sun-text)}.bento-item.is-also .service-focus{color:var(--fg-mute)}.bento-index{font-family:var(--display);color:var(--fg-mute);font-size:.95rem}.person-feature{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:center}.person-feature img{width:min(100%,420px);height:auto;max-width:100%;aspect-ratio:300 / 225;box-sizing:content-box;object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:0 16px 36px #0000001f}.person-teaser img{width:min(100%,280px)}.section-light .person-feature img{border-color:var(--line-dark)}.section-light .tech-item,.section-light .person-card,.section-light .project-card{background:#fff;border-color:var(--line-dark)}.project-card img{width:100%;height:auto;object-fit:contain;border-radius:var(--radius);margin-bottom:1rem;background:#222}.person-card img{width:112px;height:112px;object-fit:cover;border-radius:50%;margin-bottom:1rem;border:1px solid var(--line)}.skills{display:flex;gap:.4rem;flex-wrap:wrap;margin:.7rem 0 1rem;font-size:.8rem}.skills span{padding:.2rem .5rem;border-radius:var(--radius-sm);background:#14151a0f;border:1px solid var(--line-dark)}.section:not(.section-light) .skills span{background:var(--fill-hover);border-color:var(--line)}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem;margin-top:2rem}.review-card{display:grid;grid-template-rows:auto 1fr auto auto;gap:.95rem;min-height:100%;padding:1.25rem 1.3rem 1.15rem;border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--fill)}.review-stars{display:flex;gap:.16rem;margin:0;color:var(--sun)}html[data-theme=light] .review-stars{color:var(--sun-text)}.review-stars svg{width:1.05rem;height:1.05rem;fill:currentColor}.review-card blockquote{margin:0}.review-card blockquote p{margin:0;font-family:var(--display);font-size:1.12rem;line-height:1.42;color:var(--fg)}.review-person{display:flex;align-items:center;gap:.75rem}.review-person p{margin:0;display:grid;line-height:1.3}.review-person strong{font-weight:650}.review-place{margin-top:.18rem;font-size:.88rem;color:var(--fg-mute)}.review-avatar{flex:0 0 2.55rem;width:2.55rem;height:2.55rem;display:grid;place-items:center;border-radius:50%;font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--sun)}.review-card:nth-child(2n) .review-avatar{background:#d8d3c4}.review-card:nth-child(3n) .review-avatar{background:#f0c9a0}html[data-theme=light] .review-card:nth-child(2n) .review-avatar{background:#d4cfc0}.review-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:0;font-size:.78rem}.review-tags span{padding:.16rem .5rem;border-radius:var(--radius-sm);background:var(--fill-hover);border:1px solid var(--line);color:var(--fg-mute)}.faq details{border-bottom:1px solid var(--line);padding:.4rem 0}.section-light .faq details{border-color:var(--line-dark)}.faq summary{cursor:pointer;font-weight:600;font-family:var(--display);font-size:1.12rem;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--fg-mute);font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details[open] p{animation:settle .4s var(--ease)}.faq details p{padding-bottom:1rem;color:var(--fg-soft)}.section-light .faq details p{color:var(--ink-soft)}.form{display:grid;gap:1rem}.form-progress{display:flex;gap:.5rem;margin-bottom:.5rem}.form-progress span{flex:1;height:3px;border-radius:99px;background:var(--fill-strong)}.form-progress span.is-done,.form-progress span.is-current{background:var(--sun)}.fieldset{border:0;padding:0;margin:0;display:grid;gap:1rem}.fieldset[hidden]{display:none!important}.field{display:grid;gap:.4rem;border:0;padding:0;margin:0;min-width:0}.field span,.field legend{font-size:.92rem;font-weight:700}.optional{font-weight:500;color:var(--mute)}input,textarea,select{width:100%;min-height:3rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--fill);color:var(--fg);padding:.75rem .9rem;font:inherit}.section-light input,.section-light textarea,.section-light select{background:#fff;color:var(--ink);border-color:var(--line-dark)}textarea{min-height:8rem;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.choice{display:flex;gap:.65rem;align-items:flex-start;padding:.85rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--fill);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}.choice:hover{background:var(--fill-hover)}.choice:has(input:checked){border-color:var(--choice-on-line);background:var(--choice-on)}.choice input{width:auto;min-height:0;margin-top:.2rem}.choice span{min-width:0}.choice-copy{display:grid;gap:.18rem}.choice strong{font-weight:700;font-size:.95rem}.choice small{color:var(--mute);font-size:.8rem;font-weight:500;line-height:1.35}.char-count{font-size:.82rem;color:var(--mute);font-weight:500}.char-count.is-ready{color:var(--fg-soft)}.field-hint{color:#f0a0a8;font-size:.84rem;font-weight:500}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#e12e4ab3}.btn.is-busy{opacity:.72}.form-note a{text-decoration:underline;text-underline-offset:.22em}input:focus,textarea:focus,select:focus{outline:2px solid rgba(249,228,78,.55);outline-offset:1px}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.form-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}[data-form] [data-next],[data-form] [data-prev]{display:none}[data-form].is-enhanced [data-next]:not([hidden]),[data-form].is-enhanced [data-prev]:not([hidden]){display:inline-flex!important}.form-note{color:var(--mute);font-size:.95rem}.site-footer{padding:0;border:0;background:transparent;width:100%;margin-top:-4.6rem;position:relative;z-index:2}.footer-wave{width:100%;height:4.6rem;overflow:hidden;color:var(--footer-bg);pointer-events:none}.footer-wave-track{display:flex;width:200%;height:100%;animation:wave-drift 22s linear infinite}.footer-wave svg{display:block;width:50%;height:100%;flex:0 0 50%}.wave-fill{fill:currentColor}.wave-line{fill:none;stroke:color-mix(in srgb,var(--sun-text) 62%,var(--stroke-strong));stroke-width:1.6;stroke-linecap:round}.footer-body{background:var(--footer-bg);padding:.7rem 0 1.35rem}.footer-bar{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.15rem 3rem;align-items:start}.footer-intro,.footer-aside{display:grid;justify-items:start;align-content:start}.footer-intro{gap:.45rem}.footer-aside{gap:.9rem}.footer-intro p,.footer-aside p,.footer-bar p{margin:0}.footer-name{font-family:var(--display);font-size:1.55rem;line-height:1.15;font-weight:650;color:var(--fg)}.footer-claim{font-size:1.05rem;line-height:1.4;color:var(--fg-soft)}.footer-line{font-size:.95rem;line-height:1.45;color:var(--footer-mute)}.footer-intro .btn{margin-top:.55rem}.footer-intro .sun-list{margin:.1rem 0 .15rem;color:var(--fg-soft);font-size:.95rem}.footer-ways{display:flex;flex-wrap:wrap;gap:.45rem 1.15rem;margin:0;padding:0;list-style:none}.footer-way{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--fg-soft);font-size:.92rem}.footer-way .ui-icon{width:1rem;height:1rem;color:var(--footer-mute);opacity:.9}.footer-way:hover .ui-icon{color:var(--sun-text);opacity:1}.footer-motto{grid-column:1 / -1;margin:.15rem 0 0;font-size:.84rem;color:var(--footer-mute)}.footer-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.15rem}.footer-nav a{text-decoration:none;color:var(--footer-mute);font-size:.86rem;font-weight:600}.site-footer a:not(.btn):hover{color:var(--sun-text)}.legal-note{color:var(--fg-mute);font-size:.88rem;max-width:46rem}.footer-bottom .legal-note{margin:0;font-size:.8rem;max-width:52rem;line-height:1.5}.footer-bottom{margin-top:.95rem;padding-top:.85rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;align-items:start;justify-content:space-between;color:var(--footer-mute);font-size:.84rem}.amount-grid{display:flex;flex-wrap:wrap;gap:.6rem}.amount{min-width:4.8rem;min-height:3rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--fill);color:var(--fg);font:inherit;font-weight:800;cursor:pointer}.amount[aria-pressed=true]{background:var(--sun);color:var(--ink);border-color:var(--sun)}.pay-methods{display:grid;grid-template-columns:1fr;gap:.8rem;margin:1.2rem 0}.pay-method{text-align:left;padding:1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--fill);color:inherit;font:inherit;cursor:pointer}.pay-method[aria-pressed=true]{border-color:var(--fg)}.pay-method:disabled{cursor:not-allowed;opacity:.55}.share-row{display:flex;flex-wrap:wrap;gap:.7rem}.prose{max-width:46rem}.prose h2,.prose h3{margin-top:2rem}.notice{padding:.9rem 1rem;border-radius:var(--radius);background:var(--fill);border:1px solid var(--line)}.section-light .notice{background:#14151a0a;border-color:var(--line-dark)}.status{padding:.85rem 1rem;border-radius:var(--radius-sm)}.status-ok{background:#46b46e26}.status-err{background:#e12e4a29}@media(max-width:980px){.grid-2,.tech-grid,.stack-grid,.project-grid,.people-grid,.pay-methods,.hero-grid,.work-item,.work-item:nth-child(2n),.work-list .work-item,.work-list .work-item:nth-child(2n),.work-feature,.work-grid,.review-grid,.case-facts,.footer-bar,.timeline-compact,.bento{grid-template-columns:1fr}.work-item .work-copy,.work-feature .work-copy,.work-grid article .work-copy{order:-1}.work-media.is-phone{justify-content:flex-start}.case-card .work-media.is-phone{justify-content:center}.work-media.is-phone img{max-width:min(100%,22rem);max-height:none}.person-feature{grid-template-columns:1fr}.bento-item,.bento-item.is-core,.bento-item.is-also{grid-column:span 1}.hero{height:auto;max-height:none;min-height:100dvh;padding-bottom:4.2rem}.hero-visual{display:grid;width:100%;max-width:none;justify-self:stretch}.hero-visual .browser img{max-height:min(46vh,420px)}.work-media.is-duo{grid-template-columns:1fr;justify-items:start}.work-phone img{max-width:150px}.nav{border-radius:var(--radius-lg);flex-wrap:wrap}.nav-toggle{display:grid}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;padding:.4rem .5rem .8rem}.nav.is-open .nav-links{display:flex}.nav-cta,.nav-support{margin-left:0}.choice-grid{grid-template-columns:1fr}}@media(max-height:740px){.hero{padding-top:calc(var(--header-h) + .35rem);padding-bottom:2.6rem}.hero-main h1{font-size:clamp(1.85rem,7vh,3.2rem)}}@keyframes wave-drift{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes settle{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}@keyframes enter-media{0%{transform:translate3d(18px,10px,0)}to{transform:none}}@keyframes media-drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-5px,0)}}@keyframes kicker-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glow-breathe{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes licht-glow{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 28px color-mix(in srgb,var(--sun) 48%,transparent)}}@keyframes scroll-nudge{0%,to{transform:translate(-50%) translateY(0);opacity:.45}50%{transform:translate(-50%) translateY(8px);opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,.7rem,0)}to{opacity:1;transform:none}}@supports (animation-timeline: view()){.work-feature,.work-grid>article,.work-item,.step,.bento-item,.person-feature{animation:rise-in linear both;animation-timeline:view();animation-range:entry 0% entry 42%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
