:root{--ink:#0a1628;--ink-2:#0d1b30;--ink-3:#12213a;--paper:#fafbfc;--mist:#f1f6fc;--line:#ffffff14;--line-strong:#ffffff29;--text:#e6ecf5;--text-dim:#9aa7bb;--text-faint:#5f6c83;--accent:#06c;--accent-glow:#4da3ff;--danger:#ff5c7a;--font-jp:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-kr:"Pretendard", "Noto Sans KR", sans-serif;--font-mono:"JetBrains Mono", "Geist Mono", "SF Mono", monospace;--font-display:"Noto Serif JP", "Noto Sans JP", sans-serif;--max:1360px;--pad:clamp(20px, 4vw, 60px)}:root[data-theme=light]{--ink:#fafbfc;--ink-2:#f1f6fc;--ink-3:#e8eef6;--text:#0a1628;--text-dim:#4a5668;--text-faint:#8898ad;--line:#0a162814;--line-strong:#0a16282e}*{box-sizing:border-box}html{scroll-behavior:smooth}.moru-redesign{min-height:100vh;font-family:var(--font-jp);background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;margin:0;overflow-x:hidden}html[lang=ko] .moru-redesign{font-family:var(--font-kr)}.moru-redesign a{color:inherit;text-decoration:none}.moru-redesign button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.moru-container{max-width:var(--max);padding:0 var(--pad);margin:0 auto}.nav{z-index:100;will-change:background, padding, transform;padding:18px 0;transition:background .3s,padding .3s,transform .2s ease-out;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom:1px solid var(--line);background:#0a1628f0;padding:10px 0}.nav.is-hidden{transform:translateY(-100%)}.nav-inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.nav-logo{color:var(--text);align-items:center;gap:10px;display:flex}.nav-logo img{width:auto;height:28px;transition:opacity .2s;display:block}.nav-logo:hover img{opacity:.8}.nav-links{flex:1;justify-content:center;gap:32px;display:flex}.nav-link{flex-direction:column;align-items:center;padding:6px 0;font-size:13px;font-weight:500;transition:color .2s;display:flex;position:relative}.nav-link:hover{color:var(--accent-glow)}.nav-meta{font-family:var(--font-mono);opacity:.55;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:9px}.nav-right{align-items:center;gap:16px;display:flex}.nav-cta{background:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.nav-cta:hover{box-shadow:0 8px 30px color-mix(in oklab, var(--accent) 40%, transparent);transform:translateY(-1px)}.nav-burger{flex-direction:column;gap:5px;padding:6px;display:none}.nav-burger span{background:currentColor;width:22px;height:1.5px;transition:transform .3s;display:block}.nav-burger span.open:first-child{transform:translateY(3.5px)rotate(45deg)}.nav-burger span.open:last-child{transform:translateY(-3.5px)rotate(-45deg)}.lang-switch{font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.lang-switch button{color:var(--text-faint);padding:2px 4px;transition:color .2s}.lang-switch button.on{color:var(--text)}.lang-switch .sep{opacity:.3}.mobile-menu{background:var(--ink-2);border-top:1px solid var(--line);padding:20px var(--pad);flex-direction:column;gap:14px;display:none;position:absolute;top:100%;left:0;right:0}.mobile-menu a{border-bottom:1px solid var(--line);padding:10px 0}.mobile-menu .mobile-cta{color:var(--accent-glow);border:0}.hero{min-height:100vh;padding-top:120px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-grain{mix-blend-mode:overlay;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.hero-vignette{background:radial-gradient(ellipse at 50% 40%, transparent 30%, var(--ink) 90%);pointer-events:none;position:absolute;inset:0}.hero-grid{max-width:var(--max);padding:80px var(--pad) 0;grid-template-areas:"eyebrow""title""sub""ctas""meta";gap:28px;margin:0 auto;display:grid;position:relative}.hero-eyebrow{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em;grid-area:eyebrow;align-items:center;gap:10px;font-size:12px;animation:1s .1s both fadeUp;display:inline-flex}.hero-eyebrow .dot{background:var(--accent-glow);width:6px;height:6px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);grid-area:title;margin:0;font-size:clamp(48px,9vw,152px);font-weight:300;line-height:.95}.hero-title .line{display:block;overflow:hidden}.hero-title .word{transition:transform 1.2s cubic-bezier(.19,1,.22,1);display:inline-block;transform:translateY(110%)}.hero-title.is-in .line:first-child .word{transition-delay:.2s;transform:translateY(0)}.hero-title.is-in .line:nth-child(2) .word{color:var(--accent-glow);font-style:italic;transition-delay:.35s;transform:translateY(0)}.hero-sub{max-width:560px;color:var(--text-dim);opacity:0;grid-area:sub;font-size:clamp(15px,1.3vw,18px);line-height:1.7;transition:opacity .8s .7s,transform .8s .7s;transform:translateY(20px)}.hero-sub.is-in{opacity:1;transform:none}.hero-ctas{opacity:0;flex-wrap:wrap;grid-area:ctas;gap:14px;transition:opacity .8s .85s,transform .8s .85s;display:flex;transform:translateY(20px)}.hero-ctas.is-in{opacity:1;transform:none}.moru-btn{cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:14px;font-weight:500;transition:transform .25s,box-shadow .25s,background .25s,color .25s;display:inline-flex}.moru-btn-primary{background:var(--accent);color:#fff}.moru-btn-primary:hover{box-shadow:0 20px 40px color-mix(in oklab, var(--accent) 40%, transparent);transform:translateY(-2px)}.moru-btn-ghost{border:1px solid var(--line-strong);color:var(--text)}.moru-btn-ghost:hover{background:var(--line);border-color:var(--text)}.moru-btn.large{padding:18px 34px;font-size:16px}.moru-btn[disabled]{opacity:.4;cursor:not-allowed}.hero-meta{border-top:1px solid var(--line);opacity:0;grid-area:meta;grid-template-columns:repeat(3,1fr);gap:20px;max-width:600px;margin-top:60px;padding-top:24px;transition:opacity .8s 1s;display:grid}.hero-meta.is-in{opacity:1}.hero-meta>div{flex-direction:column;gap:4px;display:flex}.hero-meta .label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.hero-meta .value{color:var(--text);font-size:14px}.hero-scroll{right:var(--pad);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);flex-direction:column;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:90px}.hero-scroll .line-down{background:linear-gradient(to bottom, var(--text-dim), transparent);width:1px;height:48px;position:relative;overflow:hidden}.hero-scroll .line-down:after{content:"";background:linear-gradient(to bottom, transparent, var(--accent-glow));width:100%;height:48px;animation:2s linear infinite scrollLine;position:absolute;top:-48px;left:0}@keyframes scrollLine{to{transform:translateY(96px)}}.hero-marquee{border-top:1px solid var(--line);background:var(--ink);white-space:nowrap;padding:18px 0;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.marquee-track{font-family:var(--font-mono);letter-spacing:.15em;color:var(--text-dim);font-size:12px;animation:40s linear infinite marquee;display:inline-flex}.marquee-item{padding-right:80px}.marquee-item em{color:var(--accent-glow);margin:0 16px;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.sec-head{opacity:0;gap:16px;max-width:780px;margin-bottom:72px;transition:opacity .9s,transform .9s;display:grid;transform:translateY(30px)}.sec-head.is-in{opacity:1;transform:none}.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}.sec-sub{font-family:var(--font-mono);color:var(--accent-glow);text-transform:uppercase;letter-spacing:.2em;align-items:center;gap:10px;font-size:12px;display:inline-flex}.sec-sub .tick{background:var(--accent-glow);width:24px;height:1px;display:inline-block}.sec-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(36px,5vw,72px);font-weight:400;line-height:1}.sec-desc{color:var(--text-dim);max-width:640px;margin:0;font-size:16px;line-height:1.7}.atelier{background:var(--ink);border-bottom:1px solid var(--line);contain:paint;padding:140px 0 160px;position:relative}.atelier-grid{grid-template-rows:minmax(360px,52vh) minmax(280px,36vh);grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px;display:grid}.atelier-tile{border:1px solid var(--line-strong);background:var(--ink-2);opacity:0;border-radius:2px;margin:0;transition:opacity 1s,transform 1s;position:relative;overflow:hidden;transform:translateY(28px)}.atelier-grid.is-in .atelier-tile{opacity:1;transform:none}.atelier-main{grid-area:1/1/3/2}.atelier-top-right{grid-area:1/2/2/3}.atelier-bottom-left{display:none}.atelier-bottom-right{grid-area:2/2/3/3}.atelier-img{-o-object-fit:cover;object-fit:cover;filter:grayscale(.35)contrast(1.02)brightness(.92);transition:filter .6s,transform 1.4s}.atelier-tile:after{content:"";pointer-events:none;background:linear-gradient(#0a162800 50%,#0a1628b8 100%),radial-gradient(120% 60% at 50% 0,#4da3ff0f,#0000 60%);position:absolute;inset:0}.atelier-tile:hover .atelier-img{filter:grayscale(.05)contrast(1.05)brightness();transform:scale(1.02)}.atelier-tile figcaption{z-index:2;font-family:var(--font-mono);color:#e6f0ffd9;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;font-size:11px;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.atelier-cap-num{color:var(--accent-glow)}.atelier-cap-text{letter-spacing:.1em}@media (min-width:1100px){.atelier-grid{grid-template-rows:minmax(420px,60vh);grid-template-columns:1.4fr 1fr 1fr;gap:14px}.atelier-main{grid-area:1/1/2/2}.atelier-top-right{grid-area:1/2/2/3}.atelier-bottom-left{grid-area:1/3/2/4;display:block}.atelier-bottom-right{display:none}}@media (min-width:1400px){.atelier-grid{grid-template-rows:minmax(440px,62vh) minmax(220px,28vh);grid-template-columns:1.6fr 1fr 1fr}.atelier-main{grid-row:1/3}.atelier-top-right{grid-row:1/2}.atelier-bottom-left{grid-area:1/3/2/4;display:block}.atelier-bottom-right{grid-area:2/2/3/4;display:block}}.video-belt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2);contain:paint;padding:120px 0;position:relative;overflow:hidden}.belt-visual{pointer-events:none;opacity:.35;display:flex;position:absolute;inset:0}.belt-stripes{grid-template-columns:repeat(18,1fr);display:grid;position:absolute;inset:0}.belt-stripes .stripe{background:linear-gradient(to bottom, transparent 0%, var(--accent-glow) 50%, transparent 100%);opacity:.15;animation:4s ease-in-out infinite alternate stripe;transform:scaleY(0)}@keyframes stripe{to{opacity:.4;transform:scaleY(1)}}.belt-text{max-width:var(--max);padding:0 var(--pad);font-family:var(--font-display);text-align:center;gap:20px;max-width:920px;margin:0 auto;font-size:clamp(22px,2.4vw,34px);font-weight:400;line-height:1.55;display:grid;position:relative}.belt-text p{opacity:0;margin:0;transition:opacity .9s,transform .9s;transform:translateY(16px)}.belt-text.is-in p{opacity:1;transform:none}.philosophy{contain:paint;padding:140px 0;position:relative}.philo-grid{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:4px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:60px;display:grid;overflow:hidden}.philo-item{background:var(--ink);opacity:0;flex-direction:column;gap:16px;min-height:260px;padding:48px 44px 52px;transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1),background .4s;display:flex;position:relative;transform:translateY(24px)}.philo-item.is-in{opacity:1;transform:none}.philo-item:hover{background:var(--ink-2)}.philo-item:before{content:"";background:var(--accent-glow);transform-origin:top;width:2px;height:100%;transition:transform .6s cubic-bezier(.19,1,.22,1);position:absolute;top:0;left:0;transform:scaleY(0)}.philo-item:hover:before{transform:scaleY(1)}.philo-num{font-family:var(--font-mono);letter-spacing:.25em;color:var(--accent-glow);font-size:12px}.philo-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.3}.philo-body{color:var(--text-dim);margin:0;font-size:14px;line-height:1.8}.faq{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);contain:paint;padding:140px 0}.faq-list{border-top:1px solid var(--line-strong);margin-top:48px}.faq-row{border-bottom:1px solid var(--line-strong);opacity:0;contain:layout paint;overflow-anchor:none;transition:opacity .7s cubic-bezier(.19,1,.22,1),transform .7s cubic-bezier(.19,1,.22,1);transform:translateY(12px)}.faq-row.is-in{opacity:1;transform:none}.faq-q{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;grid-template-columns:56px 1fr 24px;align-items:center;gap:24px;padding:28px 8px;transition:color .2s;display:grid}.faq-q:hover{color:var(--accent-glow)}.faq-idx{font-family:var(--font-mono);letter-spacing:.15em;color:var(--accent-glow);font-size:12px}.faq-q-text{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.4}.faq-icon{width:20px;height:20px;display:block;position:relative}.faq-icon span{background:var(--text-dim);transform-origin:50%;width:100%;height:1.5px;transition:transform .4s cubic-bezier(.19,1,.22,1),background .3s;position:absolute;top:50%;left:0}.faq-icon span:nth-child(2){transform:rotate(90deg)}.faq-row.is-open .faq-icon span{background:var(--accent-glow)}.faq-row.is-open .faq-icon span:nth-child(2){transform:rotate(0)}.faq-a-wrap{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.19,1,.22,1),opacity .18s;display:grid;overflow:hidden}.faq-row.is-open .faq-a-wrap{opacity:1;grid-template-rows:1fr}.faq-a{color:var(--text-dim);max-width:780px;margin:0;padding:0 8px 0 88px;font-size:14px;line-height:1.85;overflow:hidden}.faq-row.is-open .faq-a{padding-bottom:28px}.services{contain:paint;padding:140px 0}.service-list{gap:160px;display:grid}.service-row{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.service-row.reverse{grid-template-columns:1fr 1fr}.service-row.reverse .service-visual{order:2}.service-visual{aspect-ratio:5/4;background:var(--ink-2);border:1px solid var(--line);opacity:0;border-radius:20px;transition:transform 1.1s cubic-bezier(.19,1,.22,1),opacity 1.1s;position:relative;overflow:hidden;transform:translateY(60px)}.service-row.is-in .service-visual{opacity:1;transform:none}.service-text{opacity:0;transition:opacity 1s .2s,transform 1s .2s;transform:translateY(40px)}.service-row.is-in .service-text{opacity:1;transform:none}.service-tag{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent-glow);text-transform:uppercase;margin-bottom:20px;font-size:11px}.service-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 24px;font-size:clamp(32px,3.6vw,52px);font-weight:400;line-height:1.1}.service-lead{color:var(--accent-glow);margin:0 0 20px;font-size:18px;font-weight:500}.service-body{color:var(--text-dim);max-width:520px;margin:0 0 16px;font-size:15px;line-height:1.8}.sv-card{flex-direction:column;padding:36px;display:flex;position:absolute;inset:0}.sv-web{background:linear-gradient(135deg,#12213a,#0d1b30)}.sv-web .sv-head{border:1px solid var(--line);background:#ffffff0a;border-bottom:0;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:10px 14px;display:flex}.sv-web .sv-head span{background:#fff3;border-radius:50%;width:10px;height:10px}.sv-web .sv-url{text-align:center;font-family:var(--font-mono);color:var(--text-faint);background:#ffffff0d;border-radius:4px;flex:1;margin:0 8px;padding:3px 10px;font-size:11px}.sv-web .sv-body{border:1px solid var(--line);background:#ffffff05;border-radius:0 0 10px 10px;flex-direction:column;flex:1;gap:18px;padding:18px;display:flex}.sv-nav{gap:14px;display:flex}.sv-nav div{background:#ffffff1a;border-radius:2px;width:40px;height:6px}.sv-nav div:first-child{background:var(--accent);width:50px}.sv-hero{flex-direction:column;gap:10px;padding:14px 0;display:flex}.sv-line{background:#ffffff1a;border-radius:2px;height:8px}.sv-line.w-60{background:#ffffff4d;width:60%;height:14px}.sv-line.w-40{width:40%}.sv-line.w-30{width:30%}.sv-line.w-70{width:70%}.sv-line.w-50{width:50%}.sv-line.mt{margin-top:6px}.sv-btn{background:var(--accent);border-radius:4px;width:90px;height:24px;margin-top:6px}.sv-cols{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.sv-col{background:#ffffff08;border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.sv-col .sq{background:var(--accent-glow);opacity:.6;border-radius:4px;width:24px;height:24px;margin-bottom:6px}.sv-cursor{background:var(--accent-glow);width:14px;height:14px;box-shadow:0 0 20px var(--accent-glow);border-radius:50%;animation:6s ease-in-out infinite cursor;position:absolute;top:50%;left:30%}@keyframes cursor{0%{top:25%;left:20%}25%{top:45%;left:50%}50%{top:65%;left:35%}75%{top:55%;left:70%}to{top:25%;left:20%}}.sv-app{background:linear-gradient(160deg,#1a2a46,#0d1b30);justify-content:center;align-items:center}.sv-phone{background:#000;border:8px solid #222;border-radius:32px;width:220px;height:85%;animation:5s ease-in-out infinite float;position:relative;box-shadow:0 30px 60px #00000080}@keyframes float{50%{transform:translateY(-10px)}}.sv-notch{z-index:2;background:#000;border-radius:12px;width:60px;height:14px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.sv-screen{background:linear-gradient(#0d1b30,#0a1628);border-radius:24px;flex-direction:column;gap:10px;padding:30px 14px 14px;display:flex;position:absolute;inset:0;overflow:hidden}.sv-app-top{align-items:center;gap:8px;padding:4px;display:flex}.sv-avatar{background:var(--accent-glow);border-radius:50%;width:32px;height:32px}.sv-app-top>div:last-child{flex:1}.sv-card2{background:#ffffff0d;border-radius:10px;padding:12px}.sv-ph{background:linear-gradient(45deg, var(--accent), var(--accent-glow));border-radius:6px;width:100%;height:60px}.sv-ph.sm{height:36px}.sv-tabbar{border-top:1px solid #ffffff1a;justify-content:space-around;margin-top:auto;padding:10px 0;display:flex}.sv-tabbar span{background:#ffffff1a;border-radius:50%;width:20px;height:20px}.sv-tabbar span.active{background:var(--accent-glow)}.sv-cloud{background:linear-gradient(135deg,#0f1e36,#0a1628)}.sv-topo{width:100%;height:70%}.sv-metrics{border-top:1px solid var(--line);justify-content:center;gap:24px;padding-top:12px;display:flex}.sv-metrics>div{flex-direction:column;align-items:center;gap:4px;display:flex}.sv-metrics .k{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.15em;font-size:10px}.sv-metrics .v{color:var(--accent-glow);font-size:18px;font-family:var(--font-mono)}.flow{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);contain:paint;padding:140px 0}.flow-rail{grid-template-columns:repeat(4,1fr);gap:40px;display:grid;position:relative}.flow-line{background:linear-gradient(to right, transparent, var(--line-strong) 10%, var(--line-strong) 90%, transparent);height:1px;position:absolute;top:36px;left:0;right:0}.flow-step{opacity:0;transition:opacity .9s,transform .9s;position:relative;transform:translateY(24px)}.flow-step.is-in{opacity:1;transform:none}.flow-marker{align-items:center;gap:14px;margin-bottom:24px;display:flex}.flow-num{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent-glow);font-size:13px}.flow-dot{background:var(--ink);border:2px solid var(--accent-glow);width:12px;height:12px;box-shadow:0 0 0 4px var(--ink-2), 0 0 20px var(--accent-glow);z-index:2;border-radius:50%;position:relative}.flow-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 14px;font-size:22px;font-weight:500;line-height:1.3}.flow-text{color:var(--text-dim);margin:0;font-size:14px;line-height:1.8}.flow-photo{aspect-ratio:4/3;border:1px solid var(--line-strong);background:var(--ink-3);border-radius:2px;width:100%;margin-top:28px;position:relative;overflow:hidden}.flow-photo img{-o-object-fit:cover;object-fit:cover;filter:grayscale(.5)contrast(1.02)brightness(.9);transition:filter .6s,transform 1.2s}.flow-photo-veil{pointer-events:none;background:linear-gradient(#0d1b302e 0%,#0a16288c 100%),radial-gradient(80% 60% at 50% 0,#4da3ff14,#0000 70%);position:absolute;inset:0}.flow-step:hover .flow-photo img{filter:grayscale(.1)contrast(1.05)brightness();transform:scale(1.03)}.works{contain:paint;padding:140px 0}.works-grid{background:var(--line-strong);border:1px solid var(--line-strong);border-radius:4px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.work-cat-card{background:var(--ink);opacity:0;flex-direction:column;gap:18px;min-height:360px;padding:40px 36px 44px;transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1),background .4s;display:flex;position:relative;overflow:hidden;transform:translateY(24px)}.work-cat-card.is-in{opacity:1;transform:none}.work-cat-card:before{content:"";background:linear-gradient(90deg, var(--accent-glow), transparent 70%);transform-origin:0;width:100%;height:2px;transition:transform .6s cubic-bezier(.19,1,.22,1);position:absolute;top:0;left:0;transform:scaleX(0)}.work-cat-card:hover:before{transform:scaleX(1)}.work-cat-card:hover{background:var(--ink-2)}.wc-top{font-family:var(--font-mono);justify-content:space-between;align-items:baseline;display:flex}.wc-tag{letter-spacing:.3em;color:var(--accent-glow);border:1px solid var(--accent-glow);border-radius:2px;padding:4px 10px;font-size:12px}.wc-count{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:11px}.wc-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:8px 0 0;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.25}.wc-desc{color:var(--text-dim);flex:1;margin:0;font-size:14px;line-height:1.75}.wc-stack{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.wc-chip{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);border:1px solid var(--line);background:#ffffff0a;border-radius:999px;padding:4px 10px;font-size:10px;transition:color .2s,border-color .2s}.work-cat-card:hover .wc-chip{border-color:color-mix(in oklab, var(--accent-glow) 40%, transparent);color:var(--text)}.wc-corner{color:var(--accent-glow);opacity:0;transition:opacity .4s,transform .4s;position:absolute;top:18px;right:18px;transform:translate(-6px,6px)}.work-cat-card:hover .wc-corner{opacity:.9;transform:none}.works-note{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-dim);text-align:center;margin:40px 0 0;font-size:12px}.team-bridge{background:var(--ink);width:100%;position:relative;overflow:hidden}.team-bridge-inner{opacity:0;width:100%;height:clamp(360px,56vh,580px);transition:opacity 1.2s;position:relative;overflow:hidden}.team-bridge-inner.is-in{opacity:1}.team-bridge-img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;filter:grayscale(.4)contrast(1.04)brightness(.85);transition:transform 1.6s;transform:scale(1.02)}.team-bridge-inner.is-in .team-bridge-img{transform:scale(1)}.team-bridge-veil{pointer-events:none;background:linear-gradient(#0a162880 0%,#0a162833 30%,#0a1628d9 100%),radial-gradient(60% 60% at 80%,#4da3ff14,#0000 70%);position:absolute;inset:0}.team-bridge-caption{padding:0 var(--pad);max-width:var(--max);font-family:var(--font-display);color:#f0f5fff0;letter-spacing:-.005em;z-index:2;align-items:center;gap:16px;margin:0 auto;font-size:clamp(20px,2.2vw,30px);font-weight:400;line-height:1.4;display:flex;position:absolute;bottom:clamp(36px,8vh,64px);left:0;right:0}.team-bridge-mark{background:var(--accent-glow);flex-shrink:0;width:36px;height:1px;display:inline-block}.team{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);contain:paint;padding:140px 0}.team-members{grid-template-columns:repeat(3,1fr);align-items:start;gap:48px;margin-top:64px;display:grid}.member-card{opacity:0;flex-direction:column;gap:24px;transition:all .9s;display:flex;transform:translateY(30px)}.member-card.is-in{opacity:1;transform:none}.member-photo{background:var(--ink-3);border-radius:12px;width:200px;height:260px;position:relative;overflow:hidden}.member-photo img{-o-object-fit:cover;object-fit:cover;filter:grayscale(.3)contrast(1.05);width:100%;height:100%;transition:filter .6s}.member-photo:hover img{filter:none}@media (hover:none),(max-width:720px){.member-photo img,.atelier-img,.flow-photo img,.team-bridge-img{filter:none}.atelier-tile:hover .atelier-img,.flow-step:hover .flow-photo img{transform:none}}.member-photo-stripe{background:linear-gradient(135deg, transparent 50%, color-mix(in oklab, var(--accent) 40%, transparent));mix-blend-mode:overlay;position:absolute;inset:0}.member-role{font-family:var(--font-mono);color:var(--accent-glow);letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.member-name{font-family:var(--font-display);margin-bottom:4px;font-size:28px;font-weight:500;line-height:1.1}.member-roman{font-family:var(--font-mono);color:var(--text-faint);margin-bottom:16px;font-size:12px}.member-bio{color:var(--text-dim);margin:0;font-size:14px;line-height:1.75}.company{contain:paint;padding:140px 0}.company-table{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.company-row{border-bottom:1px solid var(--line);opacity:0;grid-template-columns:200px 1fr;gap:40px;padding:28px 12px;transition:all .8s;display:grid;transform:translate(-16px)}.company-table.is-in .company-row{opacity:1;transform:none}.company-row:last-child{border-bottom:0}.company-key{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-glow);padding-top:2px;font-size:12px}.company-val{color:var(--text);font-size:15px;line-height:1.8}.contact{background:var(--ink-2);border-top:1px solid var(--line);contain:paint;padding:140px 0 100px}.contact-form{grid-template-columns:1fr 1fr;gap:32px 40px;max-width:900px;display:grid}.contact-form .moru-field.full{grid-column:1/-1}.moru-field{flex-direction:column;gap:10px;display:flex}.moru-field label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.moru-field label em{color:var(--accent-glow);border:1px solid var(--accent-glow);border-radius:3px;padding:2px 6px;font-size:9px;font-style:normal}.moru-field input,.moru-field select,.moru-field textarea{border:0;border-bottom:1px solid var(--line-strong);color:var(--text);font:inherit;background:0 0;border-radius:0;padding:12px 4px;font-size:15px;transition:border-color .3s}.moru-field input:focus,.moru-field select:focus,.moru-field textarea:focus{border-color:var(--accent-glow);outline:0}.moru-field textarea{resize:vertical}.moru-field select option{background:var(--ink-2);color:var(--text)}.agree{padding-top:20px}.moru-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:12px;font-size:13px;display:flex}.moru-check input{display:none}.moru-check .box{border:1px solid var(--line-strong);border-radius:3px;width:18px;height:18px;transition:all .2s;display:inline-block;position:relative}.moru-check input:checked+.box{background:var(--accent);border-color:var(--accent)}.moru-check input:checked+.box:after{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.moru-check a{color:var(--accent-glow);text-decoration:underline}.submit-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding-top:20px;display:flex}.submit-msg{margin:0;font-size:13px}.submit-msg.ok{color:var(--accent-glow)}.submit-msg.err{color:var(--danger)}.site-footer{background:var(--ink);border-top:1px solid var(--line)}.footer-top{padding:80px var(--pad) 60px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.footer-logo{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:16px;font-size:64px;font-weight:300}.footer-logo-img{width:auto;height:40px;margin-bottom:20px;display:block}.footer-brand{min-width:0}.footer-brand address{color:var(--text-dim);white-space:nowrap;font-size:13px;font-style:normal;line-height:1.7}@media (max-width:720px){.footer-brand address{white-space:normal;max-width:380px}}.footer-links{flex-direction:column;gap:10px;display:flex}.footer-links a{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);font-size:12px;transition:color .2s}.footer-links a:hover{color:var(--accent-glow)}.footer-bottom{padding:24px var(--pad);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-bottom small{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.1em;font-size:11px}.footer-bottom nav{gap:24px;display:flex}.footer-bottom nav a{color:var(--text-dim);font-size:12px}.footer-bottom nav a:hover{color:var(--text)}.tweaks{background:color-mix(in oklab, var(--ink) 90%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line-strong);z-index:1000;width:280px;font-family:var(--font-mono);border-radius:14px;padding:16px;font-size:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 30px 60px #0006}.tweaks header{border-bottom:1px solid var(--line);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;font-size:11px;display:flex}.tweaks header button{color:var(--text-dim);padding:0 4px;font-size:18px}.tw-group{margin-bottom:14px}.tw-group label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:10px;display:block}.tw-segments{background:var(--line);border-radius:6px;gap:4px;padding:3px;display:flex}.tw-segments button{color:var(--text-dim);text-transform:uppercase;border-radius:4px;flex:1;padding:6px 8px;font-size:11px;transition:all .2s}.tw-segments button.on{background:var(--accent);color:#fff}.tw-swatches{gap:8px;display:flex}.tw-swatches button{border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:all .2s}.tw-swatches button.on{border-color:#fff;transform:scale(1.1)}@media (max-width:980px){.nav-links{display:none}.nav{padding:14px 0}.nav.scrolled{padding:8px 0}.nav-inner{gap:16px}.nav-right{gap:10px}.nav-cta{display:none}.nav-burger{border:1px solid var(--line-strong);border-radius:999px;justify-content:center;align-items:center;min-width:38px;min-height:38px;display:flex}.mobile-menu{display:flex}.lang-switch{padding:7px 10px;font-size:10px}.philosophy{padding:96px 0}.philo-grid{background:0 0;border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;gap:0;margin-top:40px}.philo-item{border-bottom:1px solid var(--line-strong);background:0 0;gap:10px;min-height:auto;padding:28px 0 30px 42px}.philo-item:first-child{border-top:1px solid var(--line-strong)}.philo-item:hover{background:0 0}.philo-item:before{background:linear-gradient(180deg, var(--accent-glow), transparent);opacity:.75;width:1px;left:14px;transform:scaleY(1)}.philo-num{letter-spacing:.12em;width:28px;color:var(--accent-glow);font-size:10px;position:absolute;top:31px;left:0}.philo-title{font-size:22px;line-height:1.35}.philo-body{font-size:14px;line-height:1.75}.hero-title{font-size:clamp(44px,14vw,100px)}.hero-scroll{display:none}.service-row,.service-row.reverse{grid-template-columns:1fr;gap:40px}.service-row.reverse .service-visual{order:0}.flow-rail{grid-template-columns:1fr;gap:40px}.flow-line{display:none}.team-members{grid-template-columns:1fr;gap:48px;margin-top:48px}.member-card{flex-direction:row;align-items:flex-start;gap:20px}.member-photo{flex-shrink:0;width:140px;height:182px}.member-photo img{-o-object-position:center top;object-position:center top}.member-name{font-size:24px}.member-info{flex:1;min-width:0}.contact-form{grid-template-columns:1fr;gap:24px}.company-row{grid-template-columns:1fr;gap:8px}.works-grid{grid-template-columns:1fr}.work-cat-card{min-height:auto;padding:32px 24px 36px}.faq-q{grid-template-columns:44px 1fr 22px;gap:14px}.faq-a{padding-left:66px}.atelier{padding:96px 0 110px}.atelier-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:12px}.atelier-main,.atelier-top-right,.atelier-bottom-right{aspect-ratio:4/3;grid-area:auto;height:auto}.atelier-bottom-left{aspect-ratio:4/3;grid-area:auto;height:auto;display:block}.atelier-tile figcaption{font-size:10px;bottom:12px;left:14px;right:14px}.flow-photo{aspect-ratio:16/10;margin-top:20px}.team-bridge-inner{height:clamp(280px,50vh,420px)}.team-bridge-caption{gap:12px;font-size:18px;bottom:28px}.team-bridge-mark{width:24px}}
