:root{--bg-primary:#0a0a0b;--bg-secondary:#111113;--text-primary:#fafafa;--text-muted:#6a6a6f;--text-muted-dark:#8a8a90;--accent-cyan:#00fff0;--accent-magenta:#f0a;--accent-blue:#3d5afe;--paper:#fafafa;--surface:#f1f1f3;--line:#e2e2e5;--ink:#0a0a0b;--text-secondary:#a4a6b0;--text-copy:#b2b6bf;--text-caption:#bec1cc;--text-action:#c4c6ce;--text-lead:#c5c7ce;--text-emphasis:#e1e3e8;--text-optional:#989eaa;--text-placeholder:#89909c;--text-outline:#b9d2d4;--accent-bridge:#76c7f1;--field-bg:#111316;--field-focus-bg:#101a1d;--action-bg:#092223;--action-disabled-bg:#142629;--status-error-border:#ff75b8;--status-error-text:#ff91c5;--status-error-summary:#ffb0d7;--hero-glint-cyan:#d1fff9;--hero-light-cyan:#087e85;--hero-mid-cyan:#032c39;--hero-shadow-cyan:#091017;--hero-glint-magenta:#ffc4ed;--hero-mid-magenta:#76236a;--hero-shadow-magenta:#161225;--light-source:#fff;--shadow-source:#000;--line-dark:#ffffff26;--blue-alpha-0c:#3d5afe0c;--cyan-alpha-04:#00fff004;--cyan-alpha-07:#00fff007;--cyan-alpha-08:#00fff008;--cyan-alpha-09:#00fff009;--cyan-alpha-0b:#00fff00b;--cyan-alpha-0c:#00fff00c;--cyan-alpha-10:#00fff010;--cyan-alpha-14:#00fff014;--cyan-alpha-16:#00fff016;--cyan-alpha-19:#00fff019;--cyan-alpha-1c:#00fff01c;--cyan-alpha-25:#00fff025;--cyan-alpha-2b:#00fff02b;--cyan-alpha-3b:#00fff03b;--cyan-alpha-4d:#00fff04d;--cyan-alpha-55:#00fff055;--cyan-alpha-60:#00fff060;--cyan-alpha-66:#00fff066;--cyan-alpha-7a:#00fff07a;--cyan-alpha-80:#00fff080;--cyan-alpha-8a:#00fff08a;--cyan-alpha-90:#00fff090;--cyan-alpha-a0:#00fff0a0;--light-alpha-02:#ffffff02;--light-alpha-06:#ffffff06;--light-alpha-2a:#ffffff2a;--light-alpha-35:#ffffff35;--light-alpha-40:#ffffff40;--light-alpha-50:#ffffff50;--magenta-alpha-05:#ff00aa05;--magenta-alpha-07:#ff00aa07;--magenta-alpha-08:#ff00aa08;--magenta-alpha-0a:#ff00aa0a;--magenta-alpha-0b:#ff00aa0b;--magenta-alpha-0c:#ff00aa0c;--magenta-alpha-12:#ff00aa12;--magenta-alpha-30:#ff00aa30;--magenta-alpha-45:#ff00aa45;--magenta-alpha-59:#ff00aa59;--magenta-alpha-60:#ff00aa60;--magenta-alpha-80:#ff00aa80;--magenta-alpha-90:#ff00aa90;--magenta-alpha-99:#f0a9;--shadow-alpha-30:#00000030;--shadow-alpha-88:#0008}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-jp);word-break:auto-phrase;line-height:1.7;overflow-x:hidden}::selection{background:var(--accent-cyan);color:var(--bg-primary)}.custom-cursor{background:var(--accent-cyan);mix-blend-mode:difference;pointer-events:none;z-index:10000;opacity:0;border-radius:50%;width:8px;height:8px;transition:scale .15s,opacity .2s;position:fixed;top:-4px;left:-4px}.custom-cursor[data-visible=true]{opacity:1}.custom-cursor[data-hover=true]{scale:4}.noise{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.visible{opacity:1!important;transform:translateY(0)!important}body>nav{z-index:100;justify-content:space-between;align-items:center;width:100%;padding:2rem 4rem;transition:background .3s,padding .3s;display:flex;position:fixed;top:0;left:0}.logo{font-family:var(--font-en);letter-spacing:.3em;text-transform:uppercase;color:var(--text-primary);font-size:.9rem;font-weight:900;text-decoration:none}.nav-links{gap:3rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);font-size:.8rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--accent-cyan);width:0;height:1px;transition:width .4s cubic-bezier(.23,1,.32,1);position:absolute;bottom:-4px;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.menu-btn{font:inherit;cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;gap:6px;margin:-12px;padding:12px;display:none}.menu-btn span{background:var(--text-primary);width:24px;height:1px;transition:all .3s;display:block}.menu-btn.active span:first-child{transform:rotate(45deg)translate(4px,4px)}.menu-btn.active span:last-child{transform:rotate(-45deg)translate(4px,-4px)}.mobile-menu{background:var(--bg-primary);z-index:99;opacity:0;visibility:hidden;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .4s,visibility .4s;display:flex;position:fixed;top:0;left:0}.mobile-menu.active{opacity:1;visibility:visible;transition:opacity .4s,visibility}.mobile-nav-links{text-align:center;list-style:none}.mobile-nav-links li{opacity:0;margin:2rem 0;transition:opacity .4s,transform .4s;transform:translateY(20px)}.mobile-menu.active .mobile-nav-links li{opacity:1;transform:translateY(0)}.mobile-menu.active .mobile-nav-links li:first-child{transition-delay:.1s}.mobile-menu.active .mobile-nav-links li:nth-child(2){transition-delay:.15s}.mobile-menu.active .mobile-nav-links li:nth-child(3){transition-delay:.2s}.mobile-menu.active .mobile-nav-links li:nth-child(4){transition-delay:.25s}.mobile-nav-links a{font-family:var(--font-en);letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);padding:.75rem 1.5rem;font-size:1.5rem;font-weight:700;text-decoration:none;display:inline-block;position:relative}.mobile-nav-links a:after{content:"";background:var(--accent-cyan);width:0;height:1px;transition:width .3s;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.mobile-nav-links a:hover:after,.mobile-nav-links a:active:after,.mobile-nav-links a.active:after{width:60%}body.menu-open nav{mix-blend-mode:normal}section{padding:10rem 4rem;position:relative}footer{background:linear-gradient(var(--cyan-alpha-04),transparent 50%);padding:5rem 4rem 3rem;padding-inline:max(5vw,50vw - 700px)}footer a:hover{color:var(--accent-cyan)}footer a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.footer-main{border-bottom:1px solid #ffffff14;grid-template-columns:2fr 1fr 1.4fr;gap:4rem;padding-bottom:4rem;display:grid}.footer-logo{font-family:var(--font-en);letter-spacing:.12em;margin-bottom:1.25rem;font-size:24px;font-weight:900}.footer-statement{font-family:var(--font-jp);letter-spacing:.1em;color:var(--text-muted-dark);font-size:.85rem;font-weight:300}.footer-heading{font-family:var(--font-en);letter-spacing:.25em;color:var(--text-muted-dark);margin-bottom:1.5rem;font-size:14px;font-weight:700}.footer-links{flex-direction:column;gap:.85rem;list-style:none;display:flex}.footer-links a{font-family:var(--font-en);letter-spacing:.12em;color:var(--text-muted-dark);align-items:center;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;transition:color .4s cubic-bezier(.23,1,.32,1);display:inline-flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--accent-cyan)}.footer-address{font-style:normal;font-family:var(--font-jp);letter-spacing:.08em;color:var(--text-muted-dark);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:300;line-height:1.7;display:flex}.footer-company{font-family:var(--font-jp);letter-spacing:.1em;color:var(--text-primary);margin-bottom:.35rem;font-size:.9rem;font-weight:400}.footer-mail{font-family:var(--font-en);letter-spacing:.06em;color:var(--text-muted-dark);margin-top:.6rem;font-size:.9rem;text-decoration:none;transition:color .4s cubic-bezier(.23,1,.32,1)}.footer-mail:hover,.footer-mail:focus-visible{color:var(--accent-cyan)}.footer-bottom{justify-content:space-between;align-items:center;padding-top:2.5rem;display:flex}.footer-legal{font-family:var(--font-jp);letter-spacing:.1em;color:var(--text-muted-dark);font-size:.8rem;font-weight:400;text-decoration:none;transition:color .4s cubic-bezier(.23,1,.32,1)}.footer-legal:hover,.footer-legal:focus-visible{color:var(--accent-cyan)}.footer-copy{font-family:var(--font-en);letter-spacing:.1em;color:var(--text-muted-dark);font-size:12px;font-weight:400}@media (max-width:1024px){body>nav{padding:1.5rem 2rem}section{padding:6rem 2rem}}@media (max-width:768px){html{font-size:15px}body>nav{padding:1.25rem 1.5rem}.logo{letter-spacing:.2em;font-size:.75rem}.nav-links{display:none}.menu-btn{cursor:pointer;z-index:101;flex-direction:column;gap:5px;margin:-10px;padding:10px;display:flex}section{padding:5rem 1.5rem}footer{padding:3.5rem 1.5rem calc(2rem + env(safe-area-inset-bottom));padding-inline:max(5vw,50vw - 700px)}.footer-main{grid-template-columns:1fr;gap:2.5rem;padding-bottom:2.5rem}.footer-heading{margin-bottom:.5rem}.footer-links{gap:0}.footer-links a,.footer-mail,.footer-legal{align-items:center;min-height:44px;display:inline-flex}.footer-company{font-size:.85rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:1.5rem}.footer-copy{font-size:12px}}@media (max-width:700px){footer{padding-inline:24px}.footer-logo{font-size:21px}.footer-main{grid-template-columns:.65fr 1.35fr;gap:30px 20px}.footer-brand{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.jp-clause{display:inline-block}.nav-links a:active:after{width:100%;transition-duration:.1s}.footer-links a:active,.footer-legal:active{color:var(--text-primary);transition-duration:.1s}.footer-mail:active{opacity:.6;transition-duration:.1s}@media (max-width:768px){.menu-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px}.logo{align-items:center;min-height:44px;display:inline-flex}}@media (prefers-contrast:more){.footer-mail{text-decoration:underline}}nav.site-nav{background:color-mix(in srgb,var(--bg-primary)94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--text-primary)10%,transparent);padding:22px 5vw}.site-nav .logo{font-size:18px}.site-nav .nav-links{align-items:center;gap:36px}.site-nav .nav-links a{align-items:center;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}.site-nav .nav-links .nav-contact{border:1px solid color-mix(in srgb,var(--text-primary)25%,transparent);gap:26px;padding:0 18px}.site-nav .nav-contact span{font-size:20px}.site-nav .menu-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px}.site-nav a:focus-visible,.site-nav button:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}@media (max-width:768px){nav.site-nav{padding:16px 24px}.site-nav .logo{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
