:root{--ink:#16181d;--sub:#4a4f59;--muted:#6b7079;--line:#e3e4e8;--line-strong:#d5d7dd;--bg:#fff;--bg-alt:#f5f5f7;--accent:#c2185b;--accent-hover:#a3134c;--secondary:#6b5d5d;--good:#1a7f4b;--bad:#b45309;--brand-ink:#0f4c5c;--brand-pink:#e0457b;--sans:"IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:88px}body{word-break:auto-phrase;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}h1,h2,h3{text-wrap:balance}p,li,dd,summary{text-wrap:pretty}a{color:var(--ink)}a:hover{color:var(--sub)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{max-width:1120px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section--alt{background:var(--bg-alt)}.label{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);margin:0 0 12px;font-size:13px}.h2{margin:0 0 48px;font-size:36px;line-height:1.4}.mono{font-family:var(--mono)}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:52px;padding:0 28px;font-family:inherit;font-size:16px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);color:#fff}.btn--outline{border-color:var(--ink);color:var(--ink)}.btn--outline:hover{background:var(--ink);color:#fff}.btn--small{min-height:44px;padding:0 20px;font-size:14px}.header{z-index:10;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;gap:16px;padding-top:8px;padding-bottom:8px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand__logo{font-size:30px}.wordmark{font-family:"Lexend", var(--sans);letter-spacing:.06em;color:var(--brand-ink);align-items:baseline;gap:.08em;font-weight:600;line-height:1;display:inline-flex}.wordmark__m{flex:none;width:.84em;height:.74em}.brand__sub{color:var(--muted);font-size:12px}.header__actions{align-items:center;gap:28px;display:flex}.nav{align-items:center;gap:28px;font-size:14px;display:flex}.nav a{text-decoration:none;position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after{transform:scaleX(1)}.menu-toggle,.nav-backdrop{display:none}.hero{text-align:center;padding:56px 0 80px}.hero__eyebrow{font-family:var(--mono);letter-spacing:.1em;color:var(--secondary);margin:0 0 20px;font-size:13px}.hero__title{margin:0;font-size:46px;font-weight:700;line-height:1.3}.hero__title span{display:inline-block}.quiz{max-width:720px;margin:28px auto 0}.quiz__label{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:999px;margin:0 0 12px;padding:4px 14px;font-size:13px;font-weight:700;display:inline-block}.quiz__q{margin:0 0 24px;font-size:22px;font-weight:700;line-height:1.5}.quiz__pick{border:1px solid var(--ink);text-align:center;background:#fff;border-radius:6px;padding:10px 0;font-size:14px;font-weight:700;transition:background-color .2s,color .2s;display:block}.quiz__option:hover .quiz__pick{background:var(--ink);color:#fff}.quiz__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.quiz__option{border:2px solid var(--line);background:var(--bg-alt);font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:10px;transition:border-color .2s,transform .2s;display:flex}.quiz__option:hover{border-color:var(--ink);transform:translateY(-2px)}.quiz__option.is-good{border-color:var(--good)}.quiz__option.is-bad-choice{border-color:var(--bad)}.quiz__tag{font-family:var(--mono);justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.quiz__badge{font-family:var(--sans);color:var(--bad);font-size:12px}.is-good .quiz__badge{color:var(--good)}.quiz__result{margin-top:20px}.quiz__hint{color:var(--muted);margin:0;font-size:13px}.quiz__answer{animation:.4s both fade-up}.quiz__verdict{margin:0;font-size:18px;font-weight:700}.quiz__explain{color:var(--sub);margin:4px 0 0;font-size:14px}.quiz__reasons{text-align:left;counter-reset:reason;gap:6px;margin:16px 0;padding:0;font-size:14px;list-style:none;display:grid}.quiz__reasons li{counter-increment:reason;gap:8px;display:flex}.quiz__reasons li:before{content:counter(reason);background:var(--ink);color:#fff;width:20px;height:20px;font-family:var(--mono);border-radius:50%;flex:none;place-items:center;margin-top:2px;font-size:11px;font-weight:700;display:grid}.quiz__answer{max-width:600px;margin:0 auto}.quiz__outro{text-align:left;color:var(--sub);margin:0;font-size:15px}.quiz__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;margin-top:24px;display:flex}.quiz__retry{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.mock{background:#fff;border-radius:6px;flex-direction:column;flex:1;gap:8px;min-height:230px;padding:18px;font-size:12px;line-height:1.5;display:flex}.mock>*,.mock-bad__btns>*{position:relative}.mock-bad__title{margin:0;font-size:14px;font-weight:700}.mock-bad__input{color:#a4a8b0;border:1px solid #c5c8cf;border-radius:4px;padding:6px 8px}.mock-bad__note{color:#a4a8b0;margin:0;font-size:10px;line-height:1.4}.mock-bad__btns{gap:8px;margin-top:auto;display:flex}.mock-bad__reset,.mock-bad__send{background:var(--accent);color:#fff;text-align:center;border-radius:5px;flex:1;padding:9px 0;font-weight:700}.mock-good__title{margin:0;font-size:14px;font-weight:700}.mock-good__field{flex-direction:column;gap:3px;display:flex}.mock-good__label{font-size:11px;font-weight:600}.mock-good__label em{background:var(--accent);color:#fff;border-radius:3px;margin-left:.5em;padding:0 5px;font-size:9px;font-style:normal}.mock-good__input{color:var(--muted);border:1px solid #c5c8cf;border-radius:4px;padding:5px 8px}.mock-good__btn{background:var(--accent);color:#fff;text-align:center;border-radius:5px;margin-top:auto;padding:9px 0;font-weight:700}.mock-good__help{text-align:center;color:var(--muted);margin:0;font-size:10px}.pin{background:var(--ink);color:#fff;width:20px;height:20px;font-family:var(--mono);transition:transform .3s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0) * 80ms);border-radius:50%;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;top:-9px;right:-9px;transform:scale(0)}.is-answered .pin{transform:scale(1)}.cards{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:24px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:16px;padding:32px;display:flex}.card h3{margin:0;font-size:22px;line-height:1.4}.card p{white-space:pre-line;color:var(--sub);margin:0;font-size:15px}.card__prices{border:1px solid var(--line-strong);background:#fff;border-radius:6px;text-decoration:none;transition:border-color .2s;display:block}.card__prices:hover{border-color:var(--ink);color:var(--ink)}.card__prices-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:16px 20px;display:grid}.card__price{flex-direction:column;display:flex}.card__price-name{color:var(--muted);font-size:12px}.card__price-amount{color:var(--ink);font-size:18px;font-weight:700;line-height:1.4}.card__prices-link{border-top:1px solid var(--line);text-align:right;color:var(--accent);padding:12px 20px;font-size:14px;font-weight:700;transition:color .2s;display:block}.card__prices:hover .card__prices-link{color:var(--accent-hover)}.card .card__tags{font-family:var(--mono);color:var(--muted);margin-top:auto;font-size:12px}.works__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px;display:flex}.works__head .h2{margin:0}.works__note{color:var(--muted);margin:0;font-size:13px}.works{border-top:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.work{grid-row:span 5;grid-template-rows:subgrid;border-bottom:1px solid var(--line);align-content:start;row-gap:12px;padding:32px 32px 40px 0;display:grid}.work__meta{font-family:var(--mono);color:var(--muted);margin:0;font-size:12px}.work h3{margin:0;font-size:22px;line-height:1.4}.work__body{white-space:pre-line;color:var(--sub);margin:0;font-size:15px}.work__role{margin:4px 0 0;font-size:13px}.work__role span{color:var(--muted);margin-left:.8em}.work__stack{font-family:var(--mono);color:var(--secondary);margin:0;font-size:12px}.works__more{color:var(--sub);margin:32px 0 0;font-size:14px}.company-card{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:880px;padding:8px 32px 28px}.company{margin:0}.company__row{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:4px 24px;padding:16px 0;font-size:15px;display:grid}.company dt{color:var(--muted);font-size:14px}.company dd{margin:0}.stack-groups{gap:4px;margin:0;padding:0;list-style:none;display:grid}.stack-groups__label{min-width:8.5em;color:var(--secondary);font-size:13px;display:inline-block}.stack-list{margin:0;display:none}.origin{align-items:flex-start;gap:16px;padding-top:20px;display:flex}.origin__mark{flex:none;width:36px;height:32px;margin-top:4px}.origin p{color:var(--sub);margin:0;font-size:13px;line-height:1.8}.pricing{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));align-items:start;gap:24px 40px;display:grid}.pricing__label{color:var(--secondary);margin:0 0 4px;font-size:13px;font-weight:600}.pricing__list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.price{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;display:flex}.price__title{margin:0;font-size:16px;font-weight:700;line-height:1.5}.price__body{color:var(--sub);margin:4px 0 0;font-size:13px}.price__cost{white-space:nowrap;flex:none;align-items:baseline;gap:6px;margin:0;display:flex}.price__unit{color:var(--muted);font-size:12px}.price__amount{font-size:24px;font-weight:700;line-height:1.3}.contact{background:var(--ink);color:#fff}.contact__inner{flex-wrap:wrap;gap:56px;display:flex}.contact__intro{flex:340px;min-width:0}.contact .label{color:#b4b8c0}.contact__title{margin:0;font-size:36px;line-height:1.4}.contact__lead{color:#c9ccd2;margin:24px 0 0;font-size:16px}.contact__sub{color:#b4b8c0;margin:32px 0 0;font-size:14px}.form{min-width:0;color:var(--ink);background:#fff;border-radius:8px;flex:1.4 420px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;padding:32px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field--full{grid-column:1/-1}.field label{font-size:14px;font-weight:600}.field .optional{color:var(--muted);font-weight:400}.field .required{color:var(--accent);margin-left:.6em;font-size:12px}.field input,.field select,.field textarea{min-height:44px;font:inherit;color:var(--ink);background:#fff;border:1px solid #c5c8cf;border-radius:6px;padding:10px 12px;font-size:16px}.field textarea{resize:vertical}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form__privacy{color:var(--muted);margin:0;font-size:13px}.form__status{margin:0;font-size:14px}.form__status--error{color:#b42318}.form__done{grid-column:1/-1;padding:24px 0}.form__done h3{margin:0 0 8px;font-size:20px}.form__done p{color:var(--sub);margin:0}.page-hero{padding-bottom:64px}.page-hero__title{margin:0;font-size:40px;line-height:1.4}.page-hero__lead{max-width:640px;color:var(--sub);margin:20px 0 0;font-size:17px}.plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.plan{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:12px;padding:32px 24px;display:flex;position:relative}.plan--featured{border:2px solid var(--ink)}.plan__badge{background:var(--ink);color:#fff;border-radius:999px;margin:0;padding:2px 12px;font-size:12px;font-weight:700;position:absolute;top:-13px;left:28px}.plan__name{margin:0;font-size:18px}.plan__price{margin:0;font-size:36px;font-weight:700;line-height:1.3}.plan__unit{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.plan__target{color:var(--sub);margin:0;font-size:14px}.plan__list{border-top:1px solid var(--line);gap:8px;margin:4px 0 0;padding:16px 0 0;font-size:14px;list-style:none;display:grid}.plan__list li{gap:8px;display:flex}.plan__list li:before{content:"✓";color:var(--good);flex:none;font-weight:700}.plan__term{color:var(--secondary);margin:auto 0 0;padding-top:4px;font-size:13px}.options{border-top:1px solid var(--ink);margin:0}.options>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;display:flex}.options dt{font-size:16px}.options dd{white-space:nowrap;margin:0;font-size:18px;font-weight:700}.options__unit{color:var(--muted);margin-right:8px;font-size:12px;font-weight:400}.faq{border-top:1px solid var(--line-strong)}.faq details{border-bottom:1px solid var(--line-strong)}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;padding:20px 0;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);color:var(--secondary);flex:none;font-size:20px;line-height:1.2}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--sub);margin:0;padding:0 0 20px;font-size:15px}.page-cta{text-align:center}.page-cta .contact__lead{max-width:560px;margin:16px auto 32px}.price-jump{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;margin-top:40px;display:grid}.price-jump a{border:1px solid var(--line-strong);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:20px 56px 20px 24px;text-decoration:none;transition:border-color .2s;display:flex;position:relative}.price-jump a:hover{border-color:var(--ink);color:var(--ink)}.price-jump__title{font-size:17px;font-weight:700}.price-jump__sample{color:var(--sub);font-size:13px}.price-jump__arrow{color:var(--accent);font-size:20px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.footer{border-top:1px solid var(--line)}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:40px;padding-top:40px;padding-bottom:24px;display:flex}.footer__brand{flex:0 260px;font-size:26px}.footer__tagline{color:var(--muted);margin:8px 0 0;font-size:13px}.footer__links{flex-wrap:wrap;align-items:center;gap:12px 28px;font-size:14px;display:flex}.footer__links a{text-decoration:none}.footer__links a:hover{text-decoration:underline}.footer__bottom{padding-bottom:80px}.footer__bottom div{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:16px;font-size:12px;display:flex}.footer__bottom a{color:var(--muted)}.prose{max-width:760px}.prose h1{margin:0 0 32px;font-size:32px;line-height:1.4}.prose h2{margin:40px 0 12px;font-size:19px}.prose p,.prose li{color:var(--sub);font-size:15px}.ui-switch{z-index:20;background:var(--ink);border:0;border-radius:999px;align-items:center;gap:2px;min-width:0;margin:0;padding:4px 4px 4px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #16181d3d}.ui-switch__label{font-family:var(--mono);letter-spacing:.1em;color:#b4b8c0;margin-right:8px;font-size:12px}.ui-switch button{min-height:40px;font:inherit;color:#c9ccd2;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .2s,color .2s}.ui-switch button[aria-pressed=true]{color:var(--ink);background:#fff}.ui-switch .ui-switch__good[aria-pressed=true]{background:var(--good);color:#fff}.ui-switch .ui-switch__bad[aria-pressed=true]{background:var(--bad);color:#fff}.ba-bar{justify-content:flex-end;margin-bottom:8px;display:flex}.ba-toggle{border:1px solid var(--line-strong);background:#fff;border-radius:999px;min-width:0;margin:0;padding:3px;display:inline-flex}.ba-toggle button{min-height:32px;font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:13px;transition:background-color .2s,color .2s}.ba-toggle .ba-toggle__good[aria-pressed=true]{background:var(--good);color:#fff}.ba-toggle .ba-toggle__bad[aria-pressed=true]{background:var(--bad);color:#fff}.ba-notes{border:1px dashed var(--bad);background:#fff;border-radius:8px;margin-top:40px;padding:16px 20px;font-size:14px;display:none}.is-bad .ba-notes{animation:.4s both fade-up;display:block}.ba-notes__title{color:var(--bad);margin:0 0 6px;font-weight:700}.ba-notes ul{color:var(--sub);margin:0;padding-left:1.2em}.compare.is-bad .card{text-align:center}.compare.is-bad .card p{color:#a4a8b0}.compare.is-bad .card .card__tags{margin-top:0}.compare.is-bad .work{flex-direction:column;grid-row:auto;gap:2px;padding-top:16px;padding-bottom:16px;display:flex}.compare.is-bad .work h3{font-size:16px}.compare.is-bad .work__meta{order:9}.compare.is-bad .company__row{text-align:center;border-bottom:0;padding:6px 0}.compare.is-bad .company dt{color:var(--ink)}.compare.is-bad .stack-groups{display:none}.compare.is-bad .stack-list{display:block}.compare.is-bad .pricing__label,.compare.is-bad .price__unit{display:none}.compare.is-bad .price__amount{font-size:14px;font-weight:400}.compare.is-bad .plan--featured{border:1px solid var(--line)}.compare.is-bad .plan__badge,.compare.is-bad .plan__unit,.compare.is-bad .plan__list,.compare.is-bad .plan__term{display:none}@media (max-width:960px){.header__actions{gap:8px}.menu-toggle{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex}.menu-toggle__bar{background:currentColor;border-radius:1px;width:22px;height:2px;transition:transform .3s,opacity .2s}.is-open .menu-toggle__bar:first-child{transform:translateY(7px)rotate(45deg)}.is-open .menu-toggle__bar:nth-child(2){opacity:0}.is-open .menu-toggle__bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav{border-bottom:1px solid var(--line);opacity:0;visibility:hidden;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;font-size:16px;transition:opacity .25s,transform .25s,visibility 0s linear .25s;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);box-shadow:0 16px 32px #16181d14}.nav a{border-bottom:1px solid var(--line);padding:16px 0}.nav a:after{display:none}.nav-backdrop{opacity:0;visibility:hidden;background:#16181d66;height:100vh;transition:opacity .25s,visibility 0s linear .25s;display:block;position:absolute;top:100%;left:0;right:0}.is-open .nav,.is-open .nav-backdrop{opacity:1;visibility:visible;transition:opacity .25s,transform .25s;transform:none}}@media (max-width:520px){.quiz__options{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.brand__sub{display:none}.brand__logo{font-size:26px}.section{padding:72px 0}.hero{padding:32px 0 56px}.hero__title{font-size:32px}.quiz__q{font-size:18px}.page-hero__title{font-size:30px}.h2,.contact__title{font-size:28px}.work{padding-right:0}.form,.card{padding:24px}.company-card{padding:4px 20px 20px}.company__row{grid-template-columns:1fr;padding:12px 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:no-preference){.hero__eyebrow,.hero__title,.quiz{animation:.8s cubic-bezier(.2,.7,.2,1) both fade-up}.hero__title{animation-delay:80ms}.quiz{animation-delay:.2s}@media (scripting:enabled){[data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(16px)}[data-reveal].is-visible{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.proposal__title{text-wrap:balance;margin:0;font-size:32px;line-height:1.4}.proposal__lead{max-width:720px;color:var(--sub);margin:12px 0 0}.proposal__figure{margin:32px 0 0}.proposal__figure img{border:1px solid var(--line);border-radius:8px;width:100%;height:auto;display:block}.proposal__figure figcaption{color:var(--muted);margin-top:8px;font-size:12px}.proposal__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:32px;display:grid}.proposal__box{background:var(--bg-alt);border-radius:8px;padding:22px 24px}.proposal__h2{margin:0 0 12px;font-size:17px}.proposal__points{color:var(--sub);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.proposal__price{margin:0;font-size:22px;font-weight:700}.proposal__note{color:var(--muted);margin:10px 0 0;font-size:13px}.proposal__cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}@media (max-width:760px){.proposal__title{font-size:24px}}
