@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial),local(ArialMT),local(Helvetica);size-adjust:101%;ascent-override:100.1%;descent-override:28.7%;line-gap-override:0%}:root{--bg:#fff;--surface:#f4f5f8;--ink:#0b0b0f;--ink-hover:#26262e;--ink-2:#3a3a44;--muted:#5b5b66;--faint:#6b6b76;--line:#e4e4ea;--line-strong:#d4d4da;--accent:#3b5bff;--accent-hover:#2c47e0;--accent-soft:#eef1ff;--accent-line:#3b5bff38;--on-accent:#fff;--tint:#0b0b0f0d;--danger-line:#b4231840;--text-primary:var(--ink);--text-secondary:var(--muted);--text-tertiary:var(--faint);--card:#fff;--border:var(--line);--border-mid:var(--line-strong);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-h2:clamp(1.875rem, 1.5rem + 1vw, 2.375rem);--text-h1:clamp(2.25rem, 1.6rem + 2vw, 3.25rem);--text-display:clamp(2.75rem, 1.6rem + 3.6vw, 5.25rem);--text-display-app:clamp(3.5rem, 2rem + 4.8vw, 6rem);--font-sans:"Geist Variable", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--shadow-sm:0 1px 2px #0b0b0f0f, 0 2px 8px -2px #0b0b0f0f;--shadow-md:0 2px 4px #0b0b0f0a, 0 12px 32px -8px #0b0b0f1f;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--ease-out:cubic-bezier(.16,1,.3,1);--danger:#b42318;--danger-10:#b4231812}.theme-fudealo{--accent:#d93a26;--accent-hover:#c2321f;--accent-soft:#fdecea;--accent-line:#d93a2640}.contact-method-icon,.form-success-icon{color:var(--ink-2)}::selection{background:var(--accent-soft);color:var(--ink)}input,textarea{caret-color:var(--accent)}html{scrollbar-color:var(--line-strong) transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-sans);overflow-wrap:break-word;font-size:var(--text-base);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1{-webkit-hyphens:auto;hyphens:auto}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul{list-style:none}.nav{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#ffffffd9;align-items:center;gap:0;height:68px;padding:0 40px;transition:background .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{background:#fffffff2;box-shadow:0 1px 24px #0b0b0f14}.nav-logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.nav-logo-text{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:-.03em;color:var(--text-primary);font-weight:700}.nav-logo-text .accent{color:var(--accent)}.nav-links{flex:1;align-items:center;gap:2px;margin-left:40px;display:flex}.nav-link{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);background:0 0;border:none;padding:7px 14px;font-weight:400;transition:color .15s,background .15s}.nav-link:hover{color:var(--text-primary);background:var(--tint)}.nav-link.active{color:var(--text-primary);font-weight:500}.nav-cta{align-items:center;gap:10px;margin-left:auto;padding-left:24px;display:flex}.nav-cta .btn{white-space:nowrap}.btn{font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .1s var(--ease-out);text-align:center;cursor:pointer;border:1.5px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 20px;font-weight:500;line-height:1.2;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{cursor:progress;opacity:.7;box-shadow:none;transform:none}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:2s}.btn:active{transform:none}}.btn-dark{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}.btn-dark:hover{background:var(--ink-hover);box-shadow:0 4px 16px #0b0b0f33}.btn-accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn-accent:hover{background:var(--accent-hover);box-shadow:0 4px 20px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-outline{color:var(--text-primary);border-color:var(--border-mid);background:0 0}.btn-outline:hover{background:var(--tint);border-color:var(--line-strong)}.btn-block{justify-content:center;width:100%}.logo-link{align-items:center;gap:10px;display:flex}.btn-lg{font-size:var(--text-base);border-radius:var(--radius-md);padding:13px 28px}.btn-sm{font-size:var(--text-xs);padding:7px 14px}.hamburger{background:0 0;border:none;flex-direction:column;gap:5px;margin-left:auto;padding:8px;display:none}.hamburger span{background:var(--text-primary);width:22px;height:1.5px;transition:transform .25s var(--ease-out), opacity .2s;border-radius:2px;display:block}.mobile-menu{background:var(--bg);padding:24px 16px calc(24px + env(safe-area-inset-bottom));z-index:99;overscroll-behavior:contain;flex-direction:column;gap:4px;display:none;position:fixed;inset:68px 0 0;overflow-y:auto}.mobile-menu .nav-link{font-size:var(--text-xl);color:var(--ink);border-radius:var(--radius-sm);padding:10px 12px;font-weight:500;display:block}.mobile-menu .nav-link.active{color:var(--accent)}.mobile-menu .nav-lang-long{font-size:var(--text-base);color:var(--muted);margin-top:12px;font-weight:400}.mobile-menu .btn{margin-top:auto}.hamburger[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu .btn{justify-content:center;width:100%}.mobile-menu.open{display:flex}.nav-lang{font-variant-numeric:tabular-nums;font-size:var(--text-sm);letter-spacing:.04em}section{padding:96px 40px}.container{max-width:1080px;margin:0 auto}.section-title{font-family:var(--font-sans);font-size:var(--text-h2);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:16px;font-weight:700;line-height:1.1}.section-subtitle{font-size:var(--text-lg);color:var(--text-secondary);max-width:560px;line-height:1.65}.section-header{margin-bottom:56px}.section-header.centered{text-align:center}.section-header.centered .section-subtitle{margin:0 auto}footer{background:var(--bg);color:var(--ink-2);border-top:1px solid var(--line);padding:64px 40px 40px}.footer-grid{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:48px;max-width:1080px;margin:0 auto;padding-bottom:48px;display:grid}.footer-brand-logo{align-items:center;gap:10px;margin-bottom:4px;display:flex}.footer-brand p{font-size:var(--text-sm);color:var(--muted);max-width:280px;margin-top:12px;line-height:1.65}.footer-col-title{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-weight:600}.footer-col ul{flex-direction:column;gap:10px;display:flex}.footer-col ul li a{overflow-wrap:anywhere;font-size:var(--text-sm);color:var(--ink-2);transition:color .15s}.footer-col ul li a:hover{color:var(--accent)}.footer-bottom{max-width:1080px;font-size:var(--text-sm);color:var(--muted);justify-content:space-between;align-items:center;margin:28px auto 0;display:flex}.footer-logo-text{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:-.03em;color:var(--ink);font-weight:700}.footer-logo-text .accent{color:var(--accent)}.home-hero{text-align:center;padding:176px 24px 112px}.home-hero h1{font-size:var(--text-display);letter-spacing:-.04em;text-wrap:balance;max-width:15ch;margin:0 auto;font-weight:700;line-height:1.02}.home-hero-sub{font-size:var(--text-xl);color:var(--text-secondary);text-wrap:pretty;max-width:54ch;margin:24px auto 0;line-height:1.6}.home-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.home-section-head{margin-bottom:40px}.home-section-head .section-subtitle{margin-top:12px}.home-apps{padding:32px 40px 120px}.app-panel{background:var(--accent-soft);border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;min-height:520px;padding:56px 0 0 56px;display:grid;overflow:hidden}.app-panel-copy{padding-bottom:56px}.app-panel-id{align-items:center;gap:16px;display:flex}.app-panel-icon{background:var(--accent);width:60px;height:60px;color:var(--on-accent);box-shadow:var(--shadow-sm);border-radius:16px;flex:none;place-items:center;display:grid}.app-panel h3{font-size:var(--text-3xl);letter-spacing:-.03em;font-weight:700;line-height:1.1}.app-panel-status{font-size:var(--text-sm);color:var(--accent-hover);margin-top:4px;font-weight:500}.app-panel-tagline{font-size:var(--text-xl);color:var(--text-primary);text-wrap:pretty;max-width:30ch;margin-top:28px;line-height:1.5}.app-panel-points{border-top:1px solid var(--accent-line);max-width:420px;margin-top:24px}.app-panel-points li{border-bottom:1px solid var(--accent-line);font-size:var(--text-base);color:var(--ink-2);padding:12px 0;font-weight:500}.app-panel-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.app-panel-actions .btn-outline{background:var(--bg)}.app-panel-screens{aspect-ratio:100/92;align-self:stretch;width:100%;position:relative}.app-panel-phone{width:min(260px,51%);height:auto;position:absolute}.app-panel-phone.front{z-index:1;bottom:-8%;left:0}.app-panel-phone.back{bottom:-20%;left:48%}.app-panel-screens.is-waiting .app-panel-phone{opacity:0}.app-panel-screens.is-waiting .app-panel-phone.front{transform:translateY(56px)}.app-panel-screens.is-waiting .app-panel-phone.back{transform:translate(48px,72px)rotate(3deg)}.app-panel-screens.is-arrived .app-panel-phone{transition:transform .7s var(--ease-out), opacity .35s var(--ease-out)}.app-panel-screens.is-arrived .app-panel-phone.back{transition-delay:80ms}@media (prefers-reduced-motion:reduce){.app-panel-screens.is-waiting .app-panel-phone.front,.app-panel-screens.is-waiting .app-panel-phone.back{transform:none}.app-panel-screens.is-arrived .app-panel-phone{transition:opacity .3s ease-out}}.home-craft{padding:0 40px 120px}.craft-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;display:grid}.craft-list li{border-top:1px solid var(--line);padding:28px 0 36px}.craft-list h3{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;line-height:1.3}.craft-list p{font-size:var(--text-base);color:var(--text-secondary);max-width:46ch;margin-top:8px;line-height:1.6}.home-studio{background:var(--surface);padding:96px 40px}.home-studio-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:64px;display:grid}.home-studio p{font-size:var(--text-lg);color:var(--ink-2);max-width:52ch;line-height:1.6}.text-link{color:var(--accent);text-underline-offset:4px;margin-top:20px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.text-link:hover{color:var(--accent-hover);text-decoration-thickness:2px}.about-hero{background:var(--bg);padding:160px 40px 96px;position:relative;overflow:hidden}.about-hero-inner{text-align:center;z-index:1;max-width:720px;margin:0 auto;position:relative}.about-hero h1{font-family:var(--font-sans);font-size:var(--text-h1);letter-spacing:-.04em;color:var(--ink);margin-bottom:20px;font-weight:700;line-height:1.05}.about-hero p{font-size:var(--text-lg);color:var(--muted);line-height:1.65}.mv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.mv-card{border-radius:var(--radius-lg);border:1px solid var(--border);padding:40px}.mv-card.mission{background:var(--surface);border-color:#0000}.mv-card.vision{background:var(--card)}.mv-card h2{font-family:var(--font-sans);font-size:var(--text-2xl);letter-spacing:-.03em;margin-bottom:14px;font-weight:700;line-height:1.2}.mv-card.mission h2{color:var(--ink)}.mv-card.vision h2{color:var(--text-primary)}.mv-card p{font-size:var(--text-base);line-height:1.65}.mv-card.mission p{color:var(--muted)}.mv-card.vision p{color:var(--text-secondary)}.mv-section{padding:0 40px 104px}.values-section{background:var(--surface)}.solo-section{background:var(--bg);padding:80px 40px}.solo-inner{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:64px;max-width:1080px;margin:0 auto;display:grid}.solo-content h2{font-family:var(--font-sans);font-size:var(--text-h2);letter-spacing:-.03em;color:var(--ink);margin-bottom:16px;font-weight:700}.solo-content p{font-size:var(--text-base);color:var(--muted);margin-bottom:16px;line-height:1.7}.solo-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:32px}.solo-avatar{background:var(--surface);border:1px solid var(--line);width:72px;height:72px;font-family:var(--font-sans);font-size:var(--text-xl);color:var(--ink-2);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-weight:700;display:flex}.solo-name{font-family:var(--font-sans);font-size:var(--text-xl);color:var(--ink);margin-bottom:4px;font-weight:700}.solo-role{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:16px}.solo-bio{font-size:var(--text-base);color:var(--muted);line-height:1.65}.solo-links{gap:10px;margin-top:20px;display:flex}.faq-section{background:var(--bg)}.faq-list{flex-direction:column;gap:8px;max-width:720px;margin:0 auto;display:flex}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.faq-question{text-align:left;width:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:500;transition:background .15s;display:flex}.faq-question:hover{background:var(--tint)}.faq-chevron{background:var(--tint);width:20px;height:20px;transition:transform .25s var(--ease-out), background .15s;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.faq-item.open .faq-chevron{background:var(--accent-soft);color:var(--accent);transform:rotate(180deg)}.faq-answer{transition:grid-template-rows .4s var(--ease-out);grid-template-rows:0fr;display:grid}@media (prefers-reduced-motion:reduce){.faq-answer{transition-duration:.15s}}.faq-answer>*{min-height:0;overflow:hidden}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer-inner{font-size:var(--text-base);color:var(--text-secondary);border-top:1px solid var(--border);padding:16px 24px 20px;line-height:1.7}.coming-soon-banner{background:var(--surface);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--line);margin-top:32px;padding:48px}.coming-soon-banner h2,.coming-soon-banner h3{font-family:var(--font-sans);font-size:var(--text-2xl);color:var(--ink);margin-bottom:8px;font-weight:700}.coming-soon-banner p{max-width:52ch;font-size:var(--text-base);color:var(--muted);margin-bottom:24px;margin-left:auto;margin-right:auto}.notify-form{max-width:520px;margin:0 auto}.notify-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.notify-input{max-width:280px}.coming-soon-banner .notify-done{color:var(--ink-2);margin:0}.notify-consent{max-width:470px;font-size:var(--text-sm);text-align:left;align-items:flex-start;gap:10px;margin:14px auto 0;line-height:1.5;display:flex}.notify-consent input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.notify-consent{color:var(--text-secondary)}.notify-error{text-align:left;max-width:470px;margin:12px auto 0}.notify-done{color:var(--text-primary);animation:notify-done-in .3s var(--ease-out)}@keyframes notify-done-in{0%{opacity:0}}.not-found{flex-direction:column;justify-content:center;min-height:70vh;display:flex}.not-found h1{z-index:1;position:relative}.not-found-actions{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex;position:relative}.services-hero{background:var(--bg);padding:160px 40px 80px;position:relative;overflow:hidden}.services-hero-inner{z-index:1;max-width:1080px;margin:0 auto;position:relative}.services-hero h1{font-family:var(--font-sans);font-size:var(--text-h1);letter-spacing:-.04em;color:var(--ink);max-width:600px;margin-bottom:16px;font-weight:700}.services-hero p{font-size:var(--text-lg);color:var(--muted);text-wrap:pretty;max-width:56ch;margin-bottom:32px;line-height:1.65}.services-hero h1{text-wrap:balance;max-width:18ch;line-height:1.05}.svc-section{padding:104px 40px 0}.craft-list.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}.svc-steps{border-top:1px solid var(--line);max-width:860px;margin-bottom:104px}.svc-steps li{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,1fr);gap:0 16px;padding:28px 0;display:grid}.svc-step-num{font-size:var(--text-2xl);color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.svc-steps h3{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;line-height:1.3}.svc-steps p{font-size:var(--text-base);color:var(--text-secondary);max-width:62ch;margin-top:8px;line-height:1.6}.svc-steps .svc-step-tools{font-size:var(--text-sm);color:var(--faint)}.svc-close-action{margin-top:24px}.contact-hero{background:var(--bg);text-align:center;padding:160px 40px 80px;position:relative;overflow:hidden}.contact-hero h1{text-wrap:balance;line-height:1.05;font-family:var(--font-sans);font-size:var(--text-h1);letter-spacing:-.04em;color:var(--ink);z-index:1;margin-bottom:16px;font-weight:700;position:relative}.contact-hero p{font-size:var(--text-lg);color:var(--muted);z-index:1;max-width:480px;margin:0 auto;line-height:1.6;position:relative}.contact-section{background:var(--bg);padding:72px 40px 96px}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;max-width:1080px;margin:0 auto;display:grid}.contact-info h2{font-family:var(--font-sans);font-size:var(--text-2xl);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:12px;font-weight:700}.contact-info p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:32px;line-height:1.65}.contact-methods{flex-direction:column;gap:12px;list-style:none;display:flex}.contact-method{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:14px;padding:16px 18px;transition:border-color .2s;display:flex}.contact-method:hover{border-color:var(--accent-line)}a.contact-method:hover .contact-method-value{text-underline-offset:3px;text-decoration:underline}.contact-method-icon{background:var(--surface);border:1px solid var(--line);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.contact-method-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-weight:500}.contact-method-value{overflow-wrap:anywhere;font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.contact-availability{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:32px;padding:20px}.avail-note{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:8px;line-height:1.5}.avail-status{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.contact-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px}.contact-form h3{font-family:var(--font-sans);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px;font-weight:700}.contact-form .form-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:28px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.form-input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);-webkit-appearance:none;outline:none;width:100%;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.form-input::placeholder{color:var(--faint)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input.has-error{border-color:var(--danger);background:var(--card)}.form-input.has-error:focus{box-shadow:0 0 0 3px var(--danger-10)}.form-optional{color:var(--text-secondary);font-weight:400}.form-error{font-size:var(--text-sm);color:var(--danger);line-height:1.45}.form-hint{font-size:var(--text-xs);color:var(--text-secondary)}.form-alert{border:1px solid var(--danger-line);border-radius:var(--radius-md);background:var(--danger-10);font-size:var(--text-sm);color:var(--text-primary);flex-direction:column;gap:4px;margin-bottom:24px;padding:16px 18px;line-height:1.55;display:flex}.form-alert:focus{outline:none}.form-alert-title{color:var(--danger);font-weight:600}.form-alert-link{text-underline-offset:3px;font-weight:600;text-decoration:underline}.form-honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.skip-link{z-index:200;border-radius:var(--radius-sm);background:var(--ink);color:var(--on-accent);padding:10px 16px;font-weight:600;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}main:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--card)}textarea.form-input{resize:vertical;min-height:120px;line-height:1.6}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236B6B76' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.form-field-consent{margin:8px 0 24px}.form-consent{font-size:var(--text-sm);color:var(--text-secondary);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.form-consent input[type=checkbox]{cursor:pointer;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.form-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.form-success-icon{background:var(--surface);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 8px;display:flex}.form-success h4{font-family:var(--font-sans);font-size:var(--text-2xl);color:var(--text-primary);font-weight:700}.form-success h4:focus{outline:none}.form-success p{font-size:var(--text-base);color:var(--text-secondary);max-width:40ch}.form-success .form-success-hint{font-size:var(--text-sm);margin-bottom:8px}.fdl-hero{background:var(--bg);padding:132px 40px 88px;overflow:hidden}.fdl-hero-inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;max-width:1200px;margin:0 auto;display:grid}.fdl-status{font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:8px;margin-bottom:28px;font-weight:500;display:inline-flex}.fdl-status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.fdl-hero h1{font-family:var(--font-sans);font-size:var(--text-display-app);letter-spacing:-.04em;color:var(--ink);margin-bottom:12px;font-weight:700;line-height:.95}.fdl-lead{font-size:var(--text-xl);color:var(--ink-2);text-wrap:pretty;max-width:34ch;margin-bottom:32px;line-height:1.55}.fdl-form-note{font-size:var(--text-sm);color:var(--muted);margin-top:14px}.notify-form.align-start{max-width:460px;margin:0}.notify-form.align-start .notify-row{justify-content:flex-start}.notify-form.align-start .notify-input{flex:220px;max-width:none}.notify-form.align-start .notify-consent,.notify-form.align-start .notify-error{margin-left:0;margin-right:0}.notify-done.align-start{color:var(--ink);font-size:var(--text-base);max-width:40ch}.fdl-phones{margin:0}.fdl-phones-stage{aspect-ratio:7/5.9;position:relative}.fdl-phone{width:40%;height:auto;position:absolute;top:9%}.fdl-phone-left{left:0}.fdl-phone-center{z-index:2;top:0;left:30%}.fdl-phone-right{left:60%}.fdl-design-note{text-align:center;font-size:var(--text-xs);color:var(--muted);margin-top:16px}.fdl-steps{background:var(--surface)}.fdl-step-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px;list-style:none;display:grid}.fdl-step{border-top:1px solid var(--border-mid);padding-top:24px}.fdl-step-num{font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--accent);margin-bottom:14px;font-weight:600;display:block}.fdl-step h3{font-family:var(--font-sans);font-size:var(--text-2xl);letter-spacing:-.02em;margin-bottom:10px;font-weight:700;line-height:1.2}.fdl-step p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.65}.fdl-data{background:var(--card)}.fdl-data-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin-top:32px;display:grid}.fdl-data-item{border-top:1px solid var(--border);padding:20px 0}.fdl-data-item dt{font-weight:600;font-size:var(--text-base);margin-bottom:6px}.fdl-data-item dd{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6}.fdl-close{background:var(--bg);padding-top:0}.fdl-close .coming-soon-banner{margin-top:0}@media (width<=900px){.craft-list.three{grid-template-columns:minmax(0,1fr)}.app-panel{grid-template-columns:minmax(0,1fr);gap:32px;min-height:0;padding:40px 32px 0}.app-panel-copy{padding-bottom:0}.app-panel-screens{width:100%;max-width:520px;margin:0 auto}.home-studio-inner{grid-template-columns:minmax(0,1fr);gap:20px}section{padding:64px 24px}.solo-inner,.mv-grid{grid-template-columns:minmax(0,1fr);gap:32px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-section{padding:48px 24px 72px}.contact-form{padding:28px 20px}.form-row{grid-template-columns:minmax(0,1fr)}nav{padding:0 24px}.fdl-hero{padding:104px 24px 56px}.fdl-hero-inner{grid-template-columns:minmax(0,1fr);gap:40px}.fdl-phones{width:100%;max-width:560px;margin:0 auto}.fdl-step-list,.fdl-data-list{grid-template-columns:minmax(0,1fr);gap:28px}.fdl-data-list{gap:0}.nav-links,.nav-cta{display:none}.hamburger{display:flex}}@media (width<=600px){.mv-section{padding:0 16px 72px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.home-hero{padding:128px 16px 72px}.home-hero-sub{font-size:var(--text-lg)}.home-apps,.home-craft{padding-bottom:80px;padding-left:16px;padding-right:16px}.home-studio{padding:64px 16px}.app-panel{border-radius:22px;padding:28px 20px 0}.app-panel h3{font-size:var(--text-2xl)}.app-panel-tagline{font-size:var(--text-lg)}.craft-list,.craft-list.three{grid-template-columns:minmax(0,1fr)}.svc-section{padding:72px 16px 0}.svc-steps{margin-bottom:72px}.svc-steps li{grid-template-columns:40px minmax(0,1fr)}.footer-grid{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse){.btn,.btn-sm,.btn-lg{min-height:44px}.btn-sm{font-size:var(--text-sm);padding-inline:18px}.nav-links .nav-link,.nav-cta .nav-link{align-items:center;min-height:44px;display:inline-flex}.hamburger{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 11px}.nav-logo,.footer-brand .nav-logo,.footer-brand a{min-height:44px}.text-link{align-items:center;min-height:44px;margin-top:8px;display:inline-flex}.footer-col ul{gap:0}.footer-col ul li a{align-items:center;min-height:44px;display:inline-flex}.footer-col-title{margin-bottom:4px}.notify-consent,.form-consent{min-height:44px;padding-block:4px}.notify-consent input,.form-consent input[type=checkbox]{width:20px;height:20px;margin-top:0}.mobile-menu .nav-link{align-items:center;min-height:48px;display:flex}}.cs{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.cs-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 40px;display:flex}.cs-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-content:center;align-items:center;gap:64px;width:100%;max-width:1200px;margin:0 auto;padding:48px 40px;display:grid}.cs-title{letter-spacing:-.04em;text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;max-width:13ch;font-size:clamp(2.5rem,1.5rem + 3vw,4.5rem);font-weight:700;line-height:1.02}.cs-lede{max-width:46ch;font-size:var(--text-lg);color:var(--text-secondary);text-wrap:pretty;margin-top:24px;line-height:1.65}.cs-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.cs-btn{min-height:48px;padding-inline:18px}.cs-btn svg{flex-shrink:0;width:18px;height:18px}.cs-reply{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:16px}.cs-showcase{padding:0}.cs-panel{background:var(--surface);border-radius:28px;flex-direction:column;padding:28px 28px 0;display:flex;position:relative;overflow:hidden}.cs-states{background:var(--bg);box-shadow:var(--shadow-sm);border-radius:12px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.cs-state{font-size:var(--text-sm);color:var(--text-secondary);background:0 0;border:0;border-radius:8px;padding:7px 14px;font-weight:500;transition:background-color .15s,color .15s;position:relative;overflow:hidden}.cs-state:hover{background:var(--tint);color:var(--ink)}.cs-state.is-active{background:var(--ink);color:var(--on-accent)}.cs-state.is-running:after{content:"";transform-origin:0;height:2px;animation:cs-progress var(--cycle) linear both;background:#ffffff8c;border-radius:1px;position:absolute;bottom:3px;left:8px;right:8px}.cs-phones{height:clamp(340px,min(34vw,52vh),470px);margin-top:28px;position:relative}.cs-phone{--pw:min(250px, 46%);width:var(--pw);aspect-ratio:9/19.5;padding:calc(var(--pw) * .035);background:var(--ink);box-shadow:var(--shadow-md);border-radius:15%/7%;position:absolute;container-type:inline-size}.cs-phone.front{z-index:1;top:0;left:10%}.cs-phone.back{top:12%;left:52%}.cs-phones.is-waiting .cs-phone{opacity:0}.cs-phones.is-waiting .cs-phone.front{transform:translateY(56px)}.cs-phones.is-waiting .cs-phone.back{transform:translate(48px,72px)rotate(3deg)}.cs-phones.is-arrived .cs-phone{transition:opacity .7s var(--ease-out), transform .7s var(--ease-out)}.cs-phones.is-arrived .cs-phone.back{transition-delay:80ms}.cs-sample{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:12px;padding-left:4px}.cs-screen{height:100%;color:var(--ink);animation:cs-screen-in .35s var(--ease-out) both;background:#fff;border-radius:12%/5.6%;padding:0 8cqi;position:relative;overflow:hidden}.cs-status{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto 1fr;align-items:center;height:14cqi;font-size:5.6cqi;font-weight:600;display:grid}.cs-island{background:var(--ink);border-radius:9cqi;width:28cqi;height:7.5cqi}.cs-batt{border:.7cqi solid var(--ink);width:9cqi;height:4.6cqi;box-shadow:inset 4.6cqi 0 0 var(--ink);opacity:.85;border-radius:1.4cqi;justify-self:end}.cs-screen-heading{letter-spacing:-.03em;margin-top:5cqi;font-size:10cqi;font-weight:700}.cs-screen-center{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;inset:36% 8cqi auto}.cs-screen-icon{background:var(--surface);width:22cqi;height:22cqi;color:var(--muted);border-radius:30%;padding:5cqi}.cs-screen-icon svg{width:100%;height:100%}.cs-screen-icon--error{color:var(--danger);background:#b4231814}.cs-screen-title{margin-top:5cqi;font-size:7cqi;font-weight:600;line-height:1.2}.cs-screen-body{color:var(--muted);margin-top:2.4cqi;font-size:5.4cqi;line-height:1.35}.cs-screen-btn{background:var(--ink);color:#fff;border-radius:3cqi;align-items:center;gap:2cqi;margin-top:6cqi;padding:3.2cqi 6.5cqi;font-size:5.6cqi;font-weight:500;display:inline-flex}.cs-screen-btn svg{width:5.4cqi;height:5.4cqi}.cs-screen-btn--ghost{color:var(--ink);box-shadow:inset 0 0 0 .6cqi var(--line-strong);background:0 0}.cs-screen-list{gap:4.6cqi;margin-top:5cqi;display:grid}.cs-skel-row{align-items:center;gap:4cqi;display:flex}.cs-skel{background:#ecedf1;border-radius:2cqi;height:4.2cqi;animation:1.4s ease-in-out infinite cs-pulse;display:block}.cs-skel--thumb{border-radius:3.6cqi;flex-shrink:0;width:14cqi;height:14cqi}.cs-skel--short{width:60%;margin-top:2.4cqi}.cs-skel-lines{flex:1}.cs-spinner{border:1.1cqi solid var(--line);border-top-color:var(--ink);border-radius:50%;justify-self:center;width:9cqi;height:9cqi;margin-top:5cqi;animation:.9s linear infinite cs-spin}.cs-row{border-bottom:.5cqi solid var(--line);animation:cs-row .45s var(--ease-out) both;align-items:center;gap:4cqi;padding-bottom:4.6cqi;display:flex}.cs-row-thumb{background:var(--surface);width:14cqi;height:14cqi;color:var(--ink-2);border-radius:3.6cqi;flex-shrink:0;padding:3.4cqi}.cs-row-thumb svg{width:100%;height:100%}.cs-row-text{font-size:5.6cqi;font-weight:500;line-height:1.2}.cs-toast{background:var(--ink);color:#fff;animation:cs-toast .5s var(--ease-out) .45s both;border-radius:4cqi;justify-content:center;align-items:center;gap:2.4cqi;padding:4cqi;font-size:5.6cqi;font-weight:500;display:flex;position:absolute;bottom:8cqi;left:8cqi;right:8cqi}.cs-toast svg{width:6cqi;height:6cqi}.cs-back{width:8cqi;height:8cqi;margin-top:3cqi;display:block}.cs-back svg{width:100%;height:100%}.cs-detail-icon{background:var(--surface);width:20cqi;height:20cqi;color:var(--ink-2);border-radius:30%;margin-top:7cqi;padding:5cqi;display:block}.cs-detail-icon svg{width:100%;height:100%}.cs-detail-title{letter-spacing:-.02em;margin-top:5cqi;font-size:8cqi;font-weight:700}.cs-detail-meta{margin-top:1.6cqi}.cs-detail-tags{flex-wrap:wrap;gap:1.8cqi;margin-top:5cqi;display:flex}.cs-detail-tags span{box-shadow:inset 0 0 0 .5cqi var(--line-strong);border-radius:99px;padding:1.6cqi 3.2cqi;font-size:4.8cqi;font-weight:500}.cs-detail-note{border-top:.5cqi solid var(--line);color:var(--muted);margin-top:6cqi;padding-top:4cqi;font-size:5cqi}.cs-detail-btn{border-radius:4cqi;justify-content:center;margin:0;padding:4cqi;position:absolute;bottom:8cqi;left:8cqi;right:8cqi}.cs-footer{border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--text-tertiary);justify-content:space-between;gap:16px;padding:24px 40px 32px;display:flex}@keyframes cs-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cs-screen-in{0%{opacity:0}}@keyframes cs-pulse{50%{opacity:.45}}@keyframes cs-spin{to{transform:rotate(360deg)}}@keyframes cs-row{0%{opacity:0;transform:translateY(3cqi)}}@keyframes cs-toast{0%{opacity:0;transform:translateY(6cqi)}}@media (prefers-reduced-motion:reduce){.cs-phones.is-waiting .cs-phone.front,.cs-phones.is-waiting .cs-phone.back{transform:none}.cs-phones.is-arrived .cs-phone{transition:opacity .3s ease-out}.cs-screen,.cs-skel,.cs-spinner,.cs-row,.cs-toast,.cs-state.is-running:after{animation:none}}@media (width<=900px){.cs-header{padding:0 24px}.cs-hero{grid-template-columns:minmax(0,1fr);align-content:start;gap:48px;padding:48px 24px 64px}.cs-showcase{width:100%;max-width:560px;margin:0 auto}.cs-phones{height:clamp(360px,100vw,470px)}.cs-footer{padding:24px}}@media (width<=600px){.cs-header{padding:0 16px}.cs-hero{padding:40px 16px 48px}.cs-panel{border-radius:22px;padding:20px 16px 0}.cs-states{align-self:stretch}.cs-state{font-size:var(--text-xs);flex:1;padding:7px 2px}.cs-phones{height:clamp(250px,72vw,300px)}.cs-phone{--pw:46%}.cs-phone.front{top:auto;bottom:-8%;left:3%}.cs-phone.back{top:auto;bottom:-20%;left:50%}.cs-actions{flex-direction:column}.cs-actions .btn{justify-content:center}.cs-footer{flex-direction:column;gap:4px;padding:20px 16px 28px}}@media (pointer:coarse){.cs-state,.cs-lang{min-height:44px}}
