html{-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}:root{--bg:#fff;--surface:#f2f5f9;--ink:#0e1c33;--muted:#56677f;--line:#d9e1ec;--navy:#0b2a5b;--navy-ink:#fff;--navy-muted:#b7c6de;--accent:#1d5fd0;--accent-soft:#e6eefc;--font-jp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;--font-en:"Archivo","Helvetica Neue",Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--wrap:1120px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a111e;--surface:#111b2c;--ink:#e5ecf6;--muted:#97a6bc;--line:#22314a;--navy:#0f2550;--navy-ink:#f2f6fc;--navy-muted:#a9bad6;--accent:#6c9cff;--accent-soft:#16264a;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a111e;--surface:#111b2c;--ink:#e5ecf6;--muted:#97a6bc;--line:#22314a;--navy:#0f2550;--navy-ink:#f2f6fc;--navy-muted:#a9bad6;--accent:#6c9cff;--accent-soft:#16264a;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--ink);font-family:var(--font-jp);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.9}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700;line-height:1.45}p{margin:0}.wrap{max-width:var(--wrap);padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin:0 auto}.site-header{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex}.logo{font-family:var(--font-en);letter-spacing:.12em;color:var(--navy);font-size:20px;font-weight:700;text-decoration:none}:root[data-theme=dark] .logo{color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo{color:var(--ink)}}.nav{align-items:center;gap:28px;font-size:14px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.nav .btn-sm{color:var(--navy-ink)}.btn-sm{background:var(--accent);color:#fff;border-radius:4px;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-sm:hover{filter:brightness(1.08)}.menu-btn{border:1px solid var(--line);color:var(--ink);font:500 13px var(--font-en);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;display:none}.mobile-nav{border-top:1px solid var(--line);background:var(--bg)}.mobile-nav ul{margin:0;padding:8px 0 16px;list-style:none}.mobile-nav a{border-bottom:1px solid var(--line);padding:12px 0;text-decoration:none;display:block}@media (width<=820px){.nav{display:none}.menu-btn{display:block}}.section{padding-block:clamp(72px,10vw,128px)}.section+.section{border-top:1px solid var(--line)}.eyebrow{font-family:var(--font-en);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:1px}.h2{margin-top:14px;font-size:clamp(26px,3.4vw,36px)}.split{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.split>*{min-width:0}@media (width<=820px){.split{grid-template-columns:1fr}}.lead{font-size:clamp(16px,1.6vw,18px);line-height:2.1}.body-text{color:var(--muted);max-width:40em}.stack{flex-direction:column;gap:1.4em;display:flex}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;align-items:center;gap:12px;padding:15px 28px;font-family:inherit;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translate(4px)}.btn-ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);filter:none}.photo{background:var(--surface);border:1px dashed var(--line);border-radius:6px;align-items:flex-end;min-height:220px;padding:16px;display:flex;position:relative;overflow:hidden}.photo:before{content:"";background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);opacity:.5;background-size:32px 32px;position:absolute;inset:0}.photo span{font-family:var(--font-mono);color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:4px 10px;font-size:12px;position:relative}.hero{padding-block:clamp(64px,9vw,120px) clamp(56px,7vw,96px);overflow:hidden}.hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}@media (width<=900px){.hero .wrap{grid-template-columns:1fr}}.hero-kicker{font-family:var(--font-en);letter-spacing:.22em;color:var(--accent);font-size:13px;font-weight:600}.hero h1{letter-spacing:.04em;color:var(--ink);margin-top:20px;font-size:clamp(36px,5.6vw,64px);line-height:1.3}.hero h1 .blue{color:var(--accent)}.hero p.sub{color:var(--muted);margin-top:28px;font-size:clamp(15px,1.5vw,17px);line-height:2.1}.hero .actions{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.route-map{width:100%;max-width:100%;height:auto;display:block}.route-map .grid{stroke:var(--line);stroke-width:1px;fill:none}.route-map .arc{stroke:var(--accent);stroke-width:1.6px;fill:none;stroke-dasharray:4 5}.route-map .dot{fill:var(--accent)}.route-map .origin{fill:var(--navy)}:root[data-theme=dark] .route-map .origin{fill:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .route-map .origin{fill:var(--ink)}}.route-map .ring{fill:none;stroke:var(--accent);stroke-width:1px}.route-map text{font-family:var(--font-mono);fill:var(--muted);font-size:11px}.route-map text.o{fill:var(--ink);font-weight:500}@media (prefers-reduced-motion:no-preference){.route-map .arc{animation:18s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-180px}}}.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px;display:grid}@media (width<=820px){.svc-grid{grid-template-columns:1fr}}.svc{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex-direction:column;text-decoration:none;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.svc:hover{border-color:var(--accent);transform:translateY(-2px)}.svc .photo{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:200px}.svc-body{flex-direction:column;flex:1;gap:14px;padding:28px 28px 32px;display:flex}.svc-en{font-family:var(--font-en);letter-spacing:.2em;color:var(--accent);font-size:12px;font-weight:600}.svc h3{font-size:22px}.svc p{color:var(--muted);font-size:15px}.svc .more{color:var(--accent);align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:14px;font-weight:500;display:flex}.strengths{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:56px;display:grid}@media (width<=820px){.strengths{grid-template-columns:1fr}}.strength{flex-direction:column;gap:12px;padding:32px 28px 8px 0;display:flex}.strength+.strength{border-left:1px solid var(--line);padding-left:28px}@media (width<=820px){.strength+.strength{border-left:0;border-top:1px solid var(--line);padding-left:0}.strength{padding-right:0}}.strength .tag{font-family:var(--font-en);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:600}.strength h3{font-size:19px}.strength p{color:var(--muted);font-size:15px}.message .sign{flex-direction:column;gap:2px;margin-top:36px;display:flex}.message .sign small{color:var(--muted);font-size:13px}.message .sign b{letter-spacing:.12em;font-size:20px;font-weight:500}.message-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:clamp(32px,6vw,80px);margin-top:48px;display:grid}@media (width<=820px){.message-grid{grid-template-columns:1fr}}.message-grid .photo{min-height:340px}.message-grid .photo-img{aspect-ratio:4/5;width:100%;max-width:420px;min-height:0}.message-grid .photo-img img{object-position:50% 25%}.band{background:var(--navy);color:var(--navy-ink)}.band .eyebrow,.band .body-text{color:var(--navy-muted)}.facts{border-top:1px solid #ffffff2e;grid-template-columns:minmax(0,10em) minmax(0,1fr);margin:0;display:grid}.facts dt,.facts dd{border-bottom:1px solid #ffffff2e;margin:0;padding:20px 0}.facts dt{color:var(--navy-muted);font-size:14px}.facts dd{font-variant-numeric:tabular-nums}@media (width<=560px){.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}.facts dd{padding-top:4px}}.contact{background:var(--surface)}.form{background:var(--bg);border:1px solid var(--line);border-radius:6px;gap:22px;padding:clamp(24px,4vw,40px);display:grid}.field{gap:8px;display:grid}.field label{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.req{color:#fff;background:var(--accent);border-radius:3px;padding:1px 7px;font-size:11px;font-weight:500}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;width:100%;padding:12px 14px;font-size:15px}.field textarea{resize:vertical;min-height:160px}.check{align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.form-note{color:var(--muted);font-size:13px}.form-done{background:var(--accent-soft);color:var(--ink);border-radius:4px;padding:14px 16px;font-size:14px}.page-head{border-bottom:1px solid var(--line);background:var(--surface);padding-block:clamp(56px,8vw,104px) clamp(48px,6vw,72px)}.crumbs{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--accent)}.page-head .eyebrow{margin-top:36px}.page-head h1{margin-top:14px;font-size:clamp(30px,4.4vw,48px)}.page-head .tagline{margin-top:20px;font-size:clamp(17px,2vw,22px);font-weight:500}.page-head .lead{color:var(--muted);max-width:40em;margin-top:16px}.pains{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px;padding:0;list-style:none;display:grid}@media (width<=720px){.pains{grid-template-columns:1fr}}.pains li{background:var(--surface);border-radius:6px;align-items:flex-start;gap:14px;padding:22px 24px;font-weight:500;display:flex}.pains li:before{content:"";border:1.5px solid var(--accent);background:linear-gradient(135deg,transparent 45%,var(--accent) 45%,var(--accent) 55%,transparent 55%);border-radius:3px;flex:none;width:18px;height:18px;margin-top:.45em}.answer{align-items:center;gap:16px;margin-top:40px;font-size:clamp(18px,2.2vw,24px);font-weight:700;display:flex}.answer:before{content:"";background:var(--accent);width:2px;height:40px}.feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.feature+.feature{margin-top:clamp(56px,8vw,96px)}.feature.rev .photo{order:2}@media (width<=820px){.feature{grid-template-columns:1fr}.feature.rev .photo{order:0}}.feature .photo{min-height:300px}.feature h3{margin-top:12px;font-size:clamp(22px,2.6vw,28px)}.feature .stack{margin-top:24px}.flow{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:48px 0 0;padding:0;list-style:none;display:grid}@media (width<=900px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.flow{grid-template-columns:1fr}}.flow li{border-top:2px solid var(--accent);flex-direction:column;gap:10px;padding-top:20px;display:flex;position:relative}.flow .num{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:500}.flow h3{font-size:18px}.flow p{color:var(--muted);font-size:14px;line-height:1.85}.ops{flex-wrap:wrap;align-items:center;gap:10px;margin:40px 0 0;padding:0;list-style:none;display:flex}.ops li{align-items:center;gap:10px;display:flex}.ops .op{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:8px 18px;font-size:15px;font-weight:500}.ops .sep{color:var(--accent);font-family:var(--font-en)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;display:grid}@media (width<=720px){.stats{grid-template-columns:1fr}}.stat{flex-direction:column;gap:6px;padding:28px 24px 28px 0;display:flex}.stat+.stat{border-left:1px solid var(--line);padding-left:24px}@media (width<=720px){.stat+.stat{border-left:0;border-top:1px solid var(--line);padding-left:0}}.stat .k{color:var(--muted);font-size:13px}.stat .v{font-family:var(--font-en);font-variant-numeric:tabular-nums;color:var(--ink);font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.2}.stat .v small{font-family:var(--font-jp);margin-left:4px;font-size:16px;font-weight:500}.stat .v.todo{color:var(--muted)}.todo-note{color:var(--muted);font-size:13px;font-family:var(--font-mono);margin-top:14px}.cta-band .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding-block:clamp(56px,7vw,88px);display:flex}.cta-band h2{font-size:clamp(22px,2.8vw,30px)}.cta-band p{color:var(--navy-muted);margin-top:8px}.cta-band .btn{background:var(--navy-ink);color:var(--navy)}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:48px 40px;font-size:13px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.site-footer nav{flex-wrap:wrap;gap:20px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}.site-footer .logo{font-size:16px}
