:root{--c-void: #04050a;--c-navy-950: #070b17;--c-navy-900: #0b1122;--c-navy-800: #111a31;--c-navy-700: #1a2542;--c-line: rgba(196, 204, 222, .12);--c-line-strong: rgba(196, 204, 222, .26);--c-silver-50: #f4f5f9;--c-silver-200: #d3d7e1;--c-silver-400: #9aa1b4;--c-silver-600: #6b7287;--c-violet-300: #c4b4ff;--c-violet-400: #a68cff;--c-violet-500: #8462f6;--c-violet-600: #6844e0;--c-violet-glow: rgba(132, 98, 246, .42);--c-danger: #ff8a9a;--c-success: #8fe3c2;--f-jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--f-display: "Unbounded", "Zen Kaku Gothic New", sans-serif;--t-xs: .78rem;--t-sm: .875rem;--t-base: 1rem;--t-md: 1.125rem;--t-lg: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--t-xl: clamp(1.6rem, 1.3rem + 1.3vw, 2.25rem);--t-2xl: clamp(2rem, 1.4rem + 2.6vw, 3.4rem);--t-hero: clamp(2.35rem, 1.2rem + 4.6vw, 5.6rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--s-10: 8rem;--section-y: clamp(5rem, 3.5rem + 7vw, 10rem);--w-max: 1240px;--w-text: 40rem;--gutter: clamp(1rem, .4rem + 3vw, 3rem);--header-h: 68px;--r-control: 6px;--r-panel: 14px;--r-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--d-fast: .16s;--d-mid: .32s;--d-slow: .9s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);color-scheme:dark}body{margin:0;min-height:100vh;background:var(--c-navy-950);color:var(--c-silver-200);font-family:var(--f-jp);font-size:var(--t-base);line-height:1.9;letter-spacing:.02em;font-feature-settings:"palt" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg,picture{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}h1,h2,h3,h4{margin:0;color:var(--c-silver-50);font-weight:700;line-height:1.35;letter-spacing:.04em;font-feature-settings:"palt" 1}p{margin:0}h1,h2,h3,p,li,dd{word-break:auto-phrase}ul,ol{margin:0;padding:0}::selection{background:var(--c-violet-500);color:#fff}:focus-visible{outline:2px solid var(--c-violet-300);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:100;padding:var(--s-2) var(--s-4);background:var(--c-silver-50);color:var(--c-void);border-radius:var(--r-control);font-weight:700}.skip-link:focus{top:var(--s-3)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:calc(var(--w-max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y);position:relative}.section--tight{padding-block:calc(var(--section-y) * .6)}.section--panel{background:linear-gradient(180deg,var(--c-navy-900),var(--c-navy-950));border-block:1px solid var(--c-line)}main{display:block;min-height:60vh}.section-head{display:grid;gap:var(--s-4);max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 3vw,5rem)}.section-head h2{font-size:var(--t-2xl);line-height:1.3}.section-head p{color:var(--c-silver-400);font-size:var(--t-md);max-width:var(--w-text)}.section-head--split{max-width:none;grid-template-columns:minmax(0,1fr);align-items:end}@media (min-width: 1240px){.section-head--split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-8)}}.kicker{font-family:var(--f-display);font-size:var(--t-sm);font-weight:400;color:var(--c-violet-300);letter-spacing:.06em}.lead{font-size:var(--t-md);color:var(--c-silver-200);max-width:var(--w-text)}.muted{color:var(--c-silver-400)}.prose p+p{margin-top:var(--s-4)}.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}.reveal.is-in{opacity:1;transform:none}.reveal-media{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-inout)}.reveal-media.is-in{clip-path:inset(0 0 0 0)}.no-js .reveal,.no-js .reveal-media{opacity:1;transform:none;clip-path:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-media{opacity:1;transform:none;clip-path:none}}.noscript{margin:0;padding:1rem;background:var(--c-navy-800);color:var(--c-silver-50)}.logo{display:inline-flex;align-items:center;gap:12px;color:var(--c-silver-50)}.logo-wordmark{display:block}.btn{--btn-h: 44px;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:var(--btn-h);padding:0 1.35em;border-radius:var(--r-control);border:1px solid transparent;font-weight:500;font-size:var(--t-sm);letter-spacing:.06em;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background-color var(--d-fast) ease,border-color var(--d-fast) ease,color var(--d-fast) ease,box-shadow var(--d-mid) var(--ease-out),transform var(--d-fast) ease}.btn:active{transform:translateY(1px)}.btn--sm{--btn-h: 38px;padding:0 1.1em}.btn--lg{--btn-h: 54px;padding:0 1.8em;font-size:var(--t-base)}.btn--primary{background:var(--c-violet-500);color:#fff;box-shadow:inset 0 1px #ffffff38,0 0 0 1px #a68cff66}.btn--primary:hover{background:var(--c-violet-600);box-shadow:inset 0 1px #ffffff38,0 0 0 1px #a68cff8c,0 10px 34px -10px var(--c-violet-glow)}.btn--ghost{background:#f4f5f908;border-color:var(--c-line-strong);color:var(--c-silver-50);backdrop-filter:blur(6px)}.btn--ghost:hover{border-color:var(--c-silver-200);background:#f4f5f912}.btn--text{padding:0;min-height:auto;color:var(--c-violet-300)}.btn[disabled]{opacity:.7;cursor:progress}.text-link{display:inline-flex;align-items:center;gap:.45em;color:var(--c-silver-50);font-weight:500;border-bottom:1px solid var(--c-line-strong);padding-bottom:3px;transition:border-color var(--d-fast) ease,gap var(--d-mid) var(--ease-out)}.text-link:hover{border-color:var(--c-violet-400);gap:.75em}.text-link--sm{font-size:var(--t-sm);margin-left:.6em}.section-more{margin-top:var(--s-7)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);transition:background-color var(--d-mid) ease,border-color var(--d-mid) ease,backdrop-filter var(--d-mid) ease;border-bottom:1px solid transparent}.site-header.is-solid{background:#070b17c7;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom-color:var(--c-line)}.site-header.is-open{background:var(--c-navy-950);backdrop-filter:none;-webkit-backdrop-filter:none}.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-5)}.site-header__logo{display:inline-flex;padding:6px 0}.site-nav{display:none;align-items:center;gap:var(--s-6)}.site-nav ul{display:flex;gap:clamp(1rem,.2rem + 1.6vw,2.25rem);list-style:none}.site-nav ul a{position:relative;font-size:var(--t-sm);color:var(--c-silver-200);letter-spacing:.08em;padding:8px 0;transition:color var(--d-fast) ease}.site-nav ul a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-violet-400);transform:scaleX(0);transform-origin:left;transition:transform var(--d-mid) var(--ease-out)}.site-nav ul a:hover,.site-nav ul a.is-active{color:var(--c-silver-50)}.site-nav ul a:hover:after,.site-nav ul a.is-active:after{transform:scaleX(1)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;border:0;background:transparent;color:var(--c-silver-50);cursor:pointer;border-radius:var(--r-control)}@media (min-width: 960px){.site-nav{display:flex}.menu-toggle{display:none}}.mobile-menu{position:fixed;inset:var(--header-h) 0 0;background:var(--c-navy-950);overflow-y:auto;padding:var(--s-6) var(--gutter) calc(var(--s-8) + env(safe-area-inset-bottom));animation:menu-in var(--d-mid) var(--ease-out)}.mobile-menu[hidden]{display:none}.mobile-menu ul{list-style:none;border-top:1px solid var(--c-line)}.mobile-menu li a{display:flex;align-items:center;min-height:60px;border-bottom:1px solid var(--c-line);font-size:var(--t-lg);color:var(--c-silver-50);font-weight:500}.mobile-menu li a.active{color:var(--c-violet-300)}.mobile-menu__cta{width:100%;margin-top:var(--s-6)}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (min-width: 960px){.mobile-menu{display:none!important}}.site-footer{border-top:1px solid var(--c-line);background:var(--c-void);padding:var(--s-9) 0 var(--s-6)}.site-footer__top{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}@media (min-width: 860px){.site-footer__top{grid-template-columns:1fr 1.2fr}}.site-footer__tagline{margin-top:var(--s-5);color:var(--c-silver-50);font-size:var(--t-md);font-weight:500}.site-footer__concept{margin-top:var(--s-1);font-family:var(--f-display);font-size:var(--t-xs);color:var(--c-silver-400);letter-spacing:.08em}.site-footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6)}.site-footer__label{font-size:var(--t-xs);color:var(--c-silver-400);margin-bottom:var(--s-3);letter-spacing:.1em}.site-footer__nav ul{list-style:none;display:grid;gap:var(--s-2)}.site-footer__nav a{font-size:var(--t-sm);color:var(--c-silver-200);transition:color var(--d-fast) ease}.site-footer__nav a:hover{color:var(--c-violet-300)}.site-footer__bottom{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--c-line);display:flex;flex-wrap:wrap;gap:var(--s-4);justify-content:space-between;font-size:var(--t-xs);color:var(--c-silver-400)}.site-footer__bottom a:hover{color:var(--c-silver-50)}.page-top{position:fixed;right:max(var(--gutter),env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:40;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--c-line-strong);background:#0b1122d1;backdrop-filter:blur(8px);color:var(--c-silver-50);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--d-mid) ease,transform var(--d-mid) var(--ease-out),visibility var(--d-mid),border-color var(--d-fast) ease}.page-top.is-visible{opacity:1;visibility:visible;transform:none}.page-top:hover{border-color:var(--c-violet-400)}.page-loading{min-height:70vh;display:grid;place-items:center}.page-loading__bar{width:120px;height:1px;background:var(--c-line-strong);position:relative;overflow:hidden}.page-loading__bar:after{content:"";position:absolute;inset:0;width:40%;background:var(--c-violet-400);animation:loading 1.1s var(--ease-inout) infinite}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.page{animation:page-in .52s var(--ease-out)}@keyframes page-in{0%{opacity:0}}picture img{width:100%;height:100%;object-fit:cover}.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--t-xs);letter-spacing:.06em;border:1px solid var(--c-line-strong);color:var(--c-silver-200)}.tag--self{border-color:#a68cff80;color:var(--c-violet-300)}.tag--sample{border-style:dashed}.tag--client{background:var(--c-silver-50);color:var(--c-void);border-color:var(--c-silver-50)}.tag--status-live:before{content:"";width:6px;height:6px;border-radius:50%;margin-right:6px;background:var(--c-success)}.tag--status-in-progress:before{content:"";width:6px;height:6px;border-radius:50%;margin-right:6px;border:1px solid var(--c-silver-400)}.check-list,.scene-list{list-style:none;display:grid;gap:var(--s-2)}.check-list li,.scene-list li{position:relative;padding-left:1.4em;font-size:var(--t-sm);line-height:1.75}.check-list li:before{content:"";position:absolute;left:0;top:.62em;width:.7em;height:1px;background:var(--c-violet-400)}.scene-list li:before{content:"";position:absolute;left:.15em;top:.55em;width:.45em;height:.45em;border:1px solid var(--c-silver-400);border-radius:50%}.tech-list,.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.tech-list li{font-size:var(--t-xs);padding:4px 10px;border-radius:var(--r-control);background:#f4f5f90d;color:var(--c-silver-200);letter-spacing:.04em}.chip-list li{font-size:var(--t-sm);padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--c-line-strong);color:var(--c-silver-50)}.page-hero{position:relative;padding:calc(var(--header-h) + clamp(4rem,2rem + 8vw,9rem)) 0 clamp(3rem,2rem + 4vw,6rem);overflow:hidden;border-bottom:1px solid var(--c-line)}.page-hero__media{position:absolute;inset:0;z-index:-1}.page-hero__media picture{height:100%}.page-hero__media img{opacity:.5;object-position:center 40%}.page-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--c-navy-950) 8%,rgba(7,11,23,.7) 55%,rgba(7,11,23,.35)),linear-gradient(0deg,var(--c-navy-950),transparent 50%)}.page-hero__kicker{margin-bottom:var(--s-4)}.page-hero__title{font-size:var(--t-2xl);max-width:22em}.page-hero__lead{margin-top:var(--s-5);max-width:var(--w-text);font-size:var(--t-md);color:var(--c-silver-200)}.jump-nav{margin-top:var(--s-7)}.jump-nav ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.jump-nav a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--c-silver-50);background:#070b1780;backdrop-filter:blur(6px);transition:border-color var(--d-fast) ease}.jump-nav a span{font-family:var(--f-display);font-size:var(--t-xs);color:var(--c-violet-300)}.jump-nav a:hover{border-color:var(--c-violet-400)}.cta-band{position:relative;overflow:hidden;padding:clamp(6rem,4rem + 9vw,12rem) 0;text-align:center;isolation:isolate}.cta-band__media{position:absolute;inset:0;z-index:-1}.cta-band__media picture{height:100%}.cta-band__media img{object-position:center 30%;opacity:.75}.cta-band__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--c-navy-950),rgba(7,11,23,.35) 40%,rgba(7,11,23,.6))}.cta-band__inner{display:grid;justify-items:center}.cta-band__title{font-size:var(--t-2xl);line-height:1.4}.cta-band__text{margin-top:var(--s-5);max-width:36rem;color:var(--c-silver-200)}.cta-band__actions{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center}.cta-band__note{margin-top:var(--s-5);font-size:var(--t-xs);color:var(--c-silver-400)}.process{list-style:none;display:grid;gap:var(--s-6);position:relative}.process__step{position:relative;padding-left:3.25rem}.process__no{position:absolute;left:0;top:.15rem;font-family:var(--f-display);font-size:var(--t-sm);font-weight:400;color:var(--c-violet-300)}.process__dot{display:none}.process__title{font-size:var(--t-lg)}.process__text{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--c-silver-400);line-height:1.85}@media (max-width: 899px){.process:before{content:"";position:absolute;left:.7rem;top:2rem;bottom:.5rem;width:1px;background:linear-gradient(var(--c-violet-500),var(--c-line))}.process__no{background:var(--c-navy-950);padding-bottom:6px}}@media (min-width: 900px){.process{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-5)}.process:before{content:"";position:absolute;left:0;right:0;top:2.6rem;height:1px;background:linear-gradient(90deg,var(--c-violet-500),var(--c-line-strong) 70%,var(--c-line))}.process__step{padding-left:0}.process__no{position:static;display:block}.process__dot{display:block;width:9px;height:9px;margin:.85rem 0 1.4rem;border-radius:50%;background:var(--c-navy-950);border:1px solid var(--c-violet-300);position:relative}.process__step:first-child .process__dot{background:var(--c-violet-400);box-shadow:0 0 14px var(--c-violet-glow)}}.work{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6);align-items:start}.work__media{position:relative}.work__screen{border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--c-line-strong);background:var(--c-navy-900);box-shadow:0 40px 80px -40px #000000e6}.work__screen img{object-position:top center}.work__phone{position:absolute;right:-2%;bottom:-8%;width:clamp(92px,18%,150px);border-radius:18px;overflow:hidden;border:4px solid #1c2236;box-shadow:0 24px 50px -16px #000000e6;background:#000}.work__tags{display:flex;flex-wrap:wrap;gap:8px}.work__title{margin-top:var(--s-4);font-size:var(--t-xl)}.work__purpose{margin-top:var(--s-4);color:var(--c-silver-200)}.work__meta{margin:var(--s-6) 0 0;display:grid;gap:var(--s-5)}.work__meta dt{font-size:var(--t-xs);color:var(--c-silver-400);letter-spacing:.1em;margin-bottom:var(--s-2)}.work__meta dd{margin:0}.work__note{margin-top:var(--s-5);font-size:var(--t-sm);color:var(--c-silver-400);padding-left:var(--s-4);border-left:1px solid var(--c-line-strong)}.work__demo{margin-top:var(--s-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}.work__demo-note{font-size:var(--t-xs);color:var(--c-silver-400)}@media (min-width: 1000px){.work--full{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s-8)}.work--full:nth-child(2n) .work__media{order:2}}.contact-form__note{font-size:var(--t-sm);color:var(--c-silver-400);margin-bottom:var(--s-5)}.req,.opt{display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-left:6px;border-radius:4px;font-size:.7rem;font-weight:500;letter-spacing:.04em;vertical-align:2px}.req{background:#8462f633;color:var(--c-violet-300)}.opt{border:1px solid var(--c-line-strong);color:var(--c-silver-400)}.contact-form__note .req{margin-left:0;margin-right:4px}.form-grid{display:grid;gap:var(--s-6) var(--s-5)}@media (min-width: 720px){.form-grid{grid-template-columns:1fr 1fr}.field--wide{grid-column:1 / -1}}.field label{display:block;font-weight:500;font-size:var(--t-sm);color:var(--c-silver-50);margin-bottom:var(--s-2)}.field input[type=text],.field input[type=email],.field select,.field textarea{width:100%;min-height:52px;padding:.75rem 1rem;border-radius:var(--r-control);border:1px solid var(--c-line-strong);background:#04050a8c;color:var(--c-silver-50);font-size:1rem;line-height:1.6;transition:border-color var(--d-fast) ease,box-shadow var(--d-fast) ease}.field textarea{resize:vertical;min-height:180px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#c4ccde66}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--c-violet-400);box-shadow:0 0 0 3px #8462f647}.field [aria-invalid=true]{border-color:var(--c-danger)}.select{position:relative}.select select{appearance:none;padding-right:2.75rem;cursor:pointer}.select select option{background:var(--c-navy-900);color:var(--c-silver-50)}.select:after{content:"";position:absolute;right:1.1rem;top:50%;width:8px;height:8px;border-right:1.5px solid var(--c-silver-400);border-bottom:1.5px solid var(--c-silver-400);transform:translateY(-70%) rotate(45deg);pointer-events:none}.field__hint{margin-top:var(--s-2);font-size:var(--t-xs);color:var(--c-silver-400);line-height:1.7}.field__hint a{color:var(--c-violet-300);text-decoration:underline;text-underline-offset:3px}.field__error{display:flex;gap:6px;align-items:flex-start;margin-top:var(--s-2);font-size:var(--t-sm);color:var(--c-danger);line-height:1.6}.field__error svg{flex:none;margin-top:.2em}.field--check .check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-weight:400}.check input{flex:none;width:22px;height:22px;accent-color:var(--c-violet-500);cursor:pointer}.check a{color:var(--c-violet-300);text-decoration:underline;text-underline-offset:3px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form__submit{margin-top:var(--s-7);display:grid;gap:var(--s-3);justify-items:start}.contact-form__submit .btn{min-width:min(100%,300px)}.contact-form__after{font-size:var(--t-xs);color:var(--c-silver-400)}.form-summary{margin-bottom:var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-control);background:#ff8a9a14;border:1px solid rgba(255,138,154,.35);color:var(--c-danger);font-size:var(--t-sm)}.form-result{display:flex;gap:var(--s-4);align-items:flex-start;padding:var(--s-5);border-radius:var(--r-panel);outline:none}.form-result--error{margin-bottom:var(--s-6);background:#ff8a9a12;border:1px solid rgba(255,138,154,.4)}.form-result--error>svg{color:var(--c-danger);flex:none;margin-top:3px}.form-result__title{font-weight:700;color:var(--c-silver-50);margin-bottom:var(--s-1)}.form-result--error p{font-size:var(--t-sm)}.form-result--error a{color:var(--c-violet-300);text-decoration:underline}.form-result--success{flex-direction:column;padding:var(--s-7) var(--s-6);background:linear-gradient(160deg,#8462f624,#0b112299);border:1px solid rgba(166,140,255,.4)}.form-result--success>svg{color:var(--c-success)}.form-result--success h2{font-size:var(--t-xl)}.form-result--success p{max-width:34rem}.hero{position:relative;min-height:max(640px,100svh);display:grid;grid-template-rows:1fr auto;overflow:hidden;isolation:isolate;background:var(--c-void)}.hero__media{position:absolute;inset:0;z-index:-2}.hero__media picture{height:100%}.hero__media img{object-position:70% 30%;animation:hero-media 2.6s var(--ease-out) both}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#04050aeb,#04050a9e 45%,#04050a0d 80%),linear-gradient(0deg,var(--c-navy-950) 0%,rgba(7,11,23,0) 34%)}@media (max-width: 719px){.hero__media img{object-position:78% 50%}.hero:before{background:linear-gradient(0deg,var(--c-navy-950) 8%,rgba(4,5,10,.72) 55%,rgba(4,5,10,.35) 100%)}}.hero__inner{align-self:center;padding-top:calc(var(--header-h) + var(--s-8));padding-bottom:var(--s-8)}.hero__concept{font-family:var(--f-display);font-weight:300;font-size:var(--t-sm);letter-spacing:.08em;color:var(--c-silver-400);animation:fade-in 1s 1.1s var(--ease-out) both}.hero__title{margin-top:var(--s-5);font-size:clamp(1.9rem,.6rem + 6.2vw,5.6rem);line-height:1.22;letter-spacing:.02em;font-weight:700;color:var(--c-silver-50)}.hero__line{display:block;overflow:hidden;padding-bottom:.06em}.hero__line>span{display:inline-block;background:linear-gradient(180deg,#fff 35%,#b4b9c9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:line-up 1.2s var(--ease-out) both}.hero__line:nth-child(1)>span{animation-delay:.35s}.hero__line:nth-child(2)>span{animation-delay:.55s}.hero__sub{margin-top:var(--s-6);max-width:32rem;font-size:var(--t-md);color:var(--c-silver-200);animation:fade-in 1s 1.25s var(--ease-out) both}.hero__actions{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:var(--s-3);animation:fade-in 1s 1.4s var(--ease-out) both}@media (max-width: 479px){.hero__actions .btn{flex:1 1 100%}}.hero__beam{position:absolute;left:0;right:0;bottom:88px;height:1px;background:linear-gradient(90deg,transparent,var(--c-violet-400) 20%,rgba(196,204,222,.5) 60%,transparent);transform-origin:left;animation:beam 1.8s .9s var(--ease-inout) both;opacity:.8}.hero__foot{height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);animation:fade-in 1s 1.6s var(--ease-out) both}.hero__services{list-style:none;display:none;flex-wrap:wrap;gap:6px 22px}.hero__services a{font-size:var(--t-xs);color:var(--c-silver-400);letter-spacing:.08em;transition:color var(--d-fast) ease}.hero__services a:hover{color:var(--c-silver-50)}@media (min-width: 1240px){.hero__services{display:flex}}.hero__scroll{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--c-silver-200);letter-spacing:.08em;white-space:nowrap;min-height:44px}.hero__scroll svg{animation:nudge 2.4s ease-in-out infinite}@keyframes hero-media{0%{opacity:0;transform:scale(1.08);filter:brightness(.4)}}@keyframes line-up{0%{transform:translateY(105%)}}@keyframes beam{0%{transform:scaleX(0)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.svc-index{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-7)}.svc-index__list{list-style:none;border-top:1px solid var(--c-line)}.svc-index__list li{border-bottom:1px solid var(--c-line)}.svc-index__row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 20px;align-items:center;gap:var(--s-4);padding:var(--s-4) 0;transition:background-color var(--d-mid) ease}.svc-index__no{display:none;font-family:var(--f-display);font-size:var(--t-xs);color:var(--c-silver-600);transition:color var(--d-mid) ease}.svc-index__thumb{width:72px;height:52px;border-radius:6px;overflow:hidden;border:1px solid var(--c-line)}.svc-index__body{display:grid;gap:2px}.svc-index__name{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--t-md);color:var(--c-silver-50);letter-spacing:.04em}.svc-index__icon{color:var(--c-silver-400);flex:none;transition:color var(--d-mid) ease}.svc-index__summary{font-size:var(--t-sm);color:var(--c-silver-400);line-height:1.7}.svc-index__arrow{color:var(--c-silver-600);transition:transform var(--d-mid) var(--ease-out),color var(--d-mid) ease}.svc-index__row:hover .svc-index__arrow,.svc-index__row:focus-visible .svc-index__arrow{color:var(--c-violet-300);transform:translate(4px)}.svc-index__stage{display:none}@media (min-width: 1000px){.svc-index{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:var(--s-8);align-items:start}.svc-index__row{grid-template-columns:44px minmax(0,1fr) 20px;padding:1.15rem 0}.svc-index__no{display:block}.svc-index__thumb{display:none}.svc-index__row:before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--c-violet-400);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}.svc-index__list li.is-active .svc-index__row:before{transform:scaleX(1)}.svc-index__list li.is-active .svc-index__no,.svc-index__list li.is-active .svc-index__icon{color:var(--c-violet-300)}.svc-index__stage{display:block;position:sticky;top:calc(var(--header-h) + 32px);aspect-ratio:4 / 5;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--c-line);background:var(--c-void)}.svc-index__visual{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease-out),transform 1.2s var(--ease-out)}.svc-index__visual picture{height:100%}.svc-index__visual.is-active{opacity:1;transform:none}.svc-index__caption{position:absolute;left:0;right:0;bottom:0;padding:var(--s-8) var(--s-6) var(--s-6);background:linear-gradient(0deg,rgba(4,5,10,.92),transparent)}.svc-index__caption ul{margin-top:var(--s-3);list-style:none;display:flex;flex-wrap:wrap;gap:6px}.svc-index__caption li{font-size:var(--t-xs);padding:4px 10px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);color:var(--c-silver-50);background:#04050a66}}.strengths{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}.strengths__intro h2{margin-top:var(--s-3);font-size:var(--t-2xl)}.strengths__intro .lead{margin-top:var(--s-5)}.strengths__visual{margin-top:var(--s-7);aspect-ratio:16 / 10;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--c-line)}.strengths__visual picture{height:100%}.strengths__list{list-style:none;display:grid;gap:0;border-top:1px solid var(--c-line)}.strength{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px var(--s-4);padding:var(--s-6) 0;border-bottom:1px solid var(--c-line)}.strength__icon{grid-row:span 2;color:var(--c-violet-300);margin-top:4px}.strength h3{font-size:var(--t-md)}.strength p{font-size:var(--t-sm);color:var(--c-silver-400);line-height:1.85}@media (min-width: 1000px){.strengths{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-9);align-items:start}.strengths__intro{position:sticky;top:calc(var(--header-h) + 40px)}}@media (min-width: 1240px){.strengths__list{grid-template-columns:1fr 1fr;column-gap:var(--s-7);border-top:0}.strength{border-top:1px solid var(--c-line);border-bottom:0}}.works-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}.work--feature .work__title{font-size:var(--t-lg)}.work--feature .work__purpose{font-size:var(--t-sm);color:var(--c-silver-400)}.work--feature .work__screen{aspect-ratio:16 / 10}.work--feature .work__screen picture{height:100%}@media (min-width: 900px){.works-feature{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-8) var(--s-6)}.works-feature>:nth-child(1){grid-column:1 / -1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s-7);align-items:center}.works-feature>:nth-child(1) .work__title{font-size:var(--t-xl)}.works-feature>:nth-child(2){grid-column:1 / span 6}.works-feature>:nth-child(3){grid-column:7 / -1;margin-top:var(--s-9)}}.svc-detail-list{padding-block:var(--section-y);display:grid;gap:clamp(5rem,3rem + 8vw,10rem)}.svc-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6);scroll-margin-top:calc(var(--header-h) + 24px)}.svc-detail__media{border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--c-line)}.svc-detail__no{display:flex;align-items:baseline;gap:var(--s-4)}.svc-detail__no>span:first-child{font-family:var(--f-display);font-weight:300;font-size:var(--t-2xl);line-height:1;color:transparent;-webkit-text-stroke:1px var(--c-silver-400)}.svc-detail__title{margin-top:var(--s-4);font-size:var(--t-xl);display:flex;align-items:center;gap:12px}.svc-detail__title svg{color:var(--c-violet-300);flex:none}.svc-detail__desc{margin-top:var(--s-4);max-width:var(--w-text)}.svc-detail__cols{margin-top:var(--s-6);display:grid;gap:var(--s-6)}.svc-detail__label{font-size:var(--t-sm);font-weight:500;color:var(--c-silver-400);margin-bottom:var(--s-3);letter-spacing:.1em}.svc-detail__foot{margin-top:var(--s-7);display:grid;gap:var(--s-4);justify-items:start}.svc-detail__price{font-size:var(--t-sm);color:var(--c-silver-400)}@media (min-width: 720px){.svc-detail__cols{grid-template-columns:1fr 1fr}}@media (min-width: 1000px){.svc-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--s-8);align-items:center}.svc-detail--flip .svc-detail__media{order:2}}.works-notice,.price-notice{display:flex;gap:var(--s-4);align-items:flex-start;padding:var(--s-5) var(--s-6);border-radius:var(--r-panel);border:1px solid var(--c-line-strong);background:#111a318c;font-size:var(--t-sm)}.works-notice svg,.price-notice svg{flex:none;color:var(--c-violet-300);margin-top:4px}.works-notice p+p{margin-top:var(--s-2);color:var(--c-silver-400)}.works-notice strong,.price-notice strong{color:var(--c-silver-50)}.filter{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:8px}.filter__btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--c-line-strong);background:transparent;color:var(--c-silver-200);font-size:var(--t-sm);cursor:pointer;transition:border-color var(--d-fast) ease,background-color var(--d-fast) ease,color var(--d-fast) ease}.filter__btn:hover:not(:disabled){border-color:var(--c-silver-200)}.filter__btn.is-active{background:var(--c-silver-50);border-color:var(--c-silver-50);color:var(--c-void)}.filter__btn:disabled{opacity:.4;cursor:not-allowed}.filter__count{font-family:var(--f-display);font-size:var(--t-xs);opacity:.7}.works-list{margin-top:var(--s-8);display:grid;gap:clamp(5rem,3rem + 6vw,9rem)}.works-list .work{scroll-margin-top:calc(var(--header-h) + 24px)}.empty{color:var(--c-silver-400)}.price-list{list-style:none;margin-top:var(--s-7);border-top:1px solid var(--c-line-strong)}.price-row{display:grid;gap:var(--s-2) var(--s-6);padding:var(--s-6) 0;border-bottom:1px solid var(--c-line)}.price-row__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-4)}.price-row__head h3{font-size:var(--t-lg)}.price-row__svc{font-size:var(--t-xs);color:var(--c-violet-300);border-bottom:1px solid transparent}.price-row__svc:hover{border-color:var(--c-violet-300)}.price-row__desc{font-size:var(--t-sm);color:var(--c-silver-400)}.price-row__ex{display:block;margin-top:2px;color:var(--c-silver-600)}.price-row__amount{display:flex;align-items:baseline;gap:4px;color:var(--c-silver-50)}.price-row__num{font-family:var(--f-display);font-weight:400;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);letter-spacing:.01em;line-height:1.1}.price-row__unit{font-size:var(--t-sm);color:var(--c-silver-200)}.price-row__quote{font-size:var(--t-lg);font-weight:700;color:var(--c-violet-300)}@media (min-width: 860px){.price-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.8fr);align-items:center}.price-row__head{flex-direction:column;gap:4px}.price-row__amount{justify-content:flex-end}}.price-info{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}.price-info__title{font-size:var(--t-xl);margin-bottom:var(--s-3)}.factor-list{list-style:none;margin-top:var(--s-6);display:grid;gap:var(--s-5)}.factor-list li{padding-left:var(--s-5);border-left:1px solid var(--c-violet-500)}.factor-list h3{font-size:var(--t-md)}.factor-list p{font-size:var(--t-sm);color:var(--c-silver-400)}.separate-list{list-style:none;margin-top:var(--s-6);display:grid;gap:var(--s-3)}.separate-list li{display:flex;align-items:center;gap:12px;padding:var(--s-3) var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-control);color:var(--c-silver-50);font-size:var(--t-sm)}.separate-list svg{color:var(--c-violet-300);flex:none}.price-info__note{margin-top:var(--s-6);font-size:var(--t-sm);color:var(--c-silver-200)}@media (min-width: 900px){.price-info{grid-template-columns:1fr 1fr;gap:var(--s-9)}}.philosophy{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-7)}.philosophy__statement{font-size:var(--t-2xl);line-height:1.45}.philosophy__body .lead{color:var(--c-silver-50);font-size:var(--t-lg);line-height:1.8;margin-bottom:var(--s-6)}@media (min-width: 1000px){.philosophy{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s-9)}}.values{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8);align-items:center}.values__media{border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--c-line)}.values__title{font-size:var(--t-2xl)}.values__list{list-style:none;margin-top:var(--s-7);display:grid;gap:var(--s-6)}.values__list li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--s-4)}.values__list svg{color:var(--c-violet-300);margin-top:4px}.values__list h3{font-size:var(--t-lg)}.values__list p{margin-top:var(--s-2);color:var(--c-silver-400)}@media (min-width: 1000px){.values{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--s-9)}}.profile{max-width:880px}.profile__title{font-size:var(--t-xl);margin-bottom:var(--s-6)}.profile__table{margin:0;border-top:1px solid var(--c-line-strong)}.profile__table>div{display:grid;gap:var(--s-1) var(--s-6);padding:var(--s-5) 0;border-bottom:1px solid var(--c-line)}.profile__table dt{font-size:var(--t-sm);color:var(--c-silver-400)}.profile__table dd{margin:0;color:var(--c-silver-50)}@media (min-width: 720px){.profile__table>div{grid-template-columns:180px minmax(0,1fr)}}.contact{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}.contact__points{list-style:none;display:grid;gap:var(--s-5)}.contact__points li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--s-3)}.contact__points svg{color:var(--c-violet-300);margin-top:4px}.contact__points h2{font-size:var(--t-md)}.contact__points p{font-size:var(--t-sm);color:var(--c-silver-400)}.contact__form{padding:clamp(1.25rem,.5rem + 3vw,3rem);border-radius:var(--r-panel);border:1px solid var(--c-line-strong);background:linear-gradient(180deg,#111a31b3,#0b112280)}@media (min-width: 1000px){.contact{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:var(--s-8);align-items:start}.contact__aside{position:sticky;top:calc(var(--header-h) + 32px)}}.legal{max-width:48rem}.legal h2{font-size:var(--t-lg);margin:var(--s-7) 0 var(--s-3)}.legal p,.legal li{color:var(--c-silver-200)}.legal ul{margin:var(--s-3) 0;padding-left:1.3em;display:grid;gap:var(--s-1)}.legal a{color:var(--c-violet-300);text-decoration:underline;text-underline-offset:3px}.legal__date{margin-top:var(--s-8);font-size:var(--t-sm);color:var(--c-silver-400)!important}.not-found{padding:calc(var(--header-h) + var(--s-10)) 0 var(--s-10);min-height:80vh}.not-found__code{font-family:var(--f-display);font-weight:300;font-size:clamp(4rem,2rem + 10vw,9rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--c-silver-400);margin-bottom:var(--s-5)}.not-found h1{font-size:var(--t-xl)}.not-found p{margin-top:var(--s-4);max-width:34rem}.not-found__actions{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:var(--s-3)}.svc-detail__foot .btn{max-width:100%;white-space:normal;text-align:center;padding-block:.6em}
