:root{--ink:#12283c;--ink-soft:#3a4f63;--accent:#0e7c6e;--accent-bright:#3fbfa8;--paper:#f7f6f2;--paper-2:#fffefb;--line:#d4d0c8;--ok:#0e7c6e;--font-display:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-body:"IBM Plex Sans JP", "Hiragino Sans", sans-serif;--font-latin:"IBM Plex Sans", "IBM Plex Sans JP", sans-serif;--radius:8px}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1000px 520px at 8% -8%, color-mix(in oklab, var(--accent) 12%, transparent) 0%, transparent 55%), radial-gradient(800px 480px at 100% 0%, color-mix(in oklab, var(--ink) 6%, transparent) 0%, transparent 50%), var(--paper);margin:0;padding:0}a{color:inherit;text-decoration:none}a:hover{opacity:.85}.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}.brand{font-family:var(--font-display);letter-spacing:-.015em;font-weight:700}.muted{color:var(--ink-soft)}.kc-logo{color:var(--ink);--kc-accent:var(--accent);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.kc-logo:hover{opacity:1}.kc-logo__mark{flex:none;display:block}.kc-logo__type{font-family:var(--font-display);letter-spacing:-.015em;white-space:nowrap;font-size:1.25rem;font-weight:700;line-height:1}.kc-logo__latin{font-family:var(--font-latin);font-weight:600}.kc-logo--reversed{color:#f7f6f2;--kc-accent:var(--accent-bright)}.kc-logo--hero .kc-logo__type{font-size:clamp(1.75rem,4vw,2.5rem)}.kc-logo--hero .kc-logo__mark{width:clamp(40px,6vw,56px);height:auto}.site-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--paper) 88%, white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:60px;display:flex}.header-inner nav{align-items:center;gap:1.25rem;font-size:.9rem;display:flex}.btn{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:opacity .15s,transform .15s;display:inline-flex}.btn:hover{opacity:.9}.btn-ink{background:var(--ink);color:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-outline{border-color:var(--ink);color:var(--ink);background:0 0}.link-quiet{color:var(--ink-soft);text-underline-offset:3px;font-size:.9rem;text-decoration:underline}.site-footer{border-top:1px solid var(--line);background:var(--ink);color:oklab(100% 0 5.96046e-8/.82);margin-top:4rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding:2.5rem 0;font-size:.9rem;display:flex}.footer-links{flex-wrap:wrap;gap:1rem;display:flex}.hero{border-bottom:1px solid var(--line);align-items:center;min-height:min(88vh,720px);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3rem,7vw,5rem);display:flex;position:relative;overflow:hidden}.hero-grid{gap:2.75rem;display:grid}@media (width>=900px){.hero-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:3rem}}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:1.1rem 0 0;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:700;line-height:1.45}.hero-lead{max-width:34rem;color:var(--ink-soft);margin:1.1rem 0 0;line-height:1.7}.cta-row{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:1.75rem;display:flex}.cta-secondary{flex-wrap:wrap;gap:1rem;display:flex}.flow-visual{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;width:100%;display:grid}@media (width<=700px){.flow-visual{grid-template-columns:1fr;justify-items:center}.flow-arrow{transform:rotate(90deg)}}.flow-piece{opacity:0;animation:.7s forwards flow-in}.flow-piece:first-child{animation-delay:.1s}.flow-piece:nth-child(2){animation-delay:.35s}.flow-piece:nth-child(3){animation-delay:.55s}.flow-hub{background:var(--paper-2);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 12px 32px -16px #12283c59}.flow-arrow{color:var(--accent);opacity:.7;font-size:1.25rem}.receipt-mock,.csv-mock{border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius);width:100%;max-width:280px;padding:1rem}.receipt-mock{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.55}.receipt-mock strong{font-family:var(--font-display);color:var(--ink);text-align:center;margin-bottom:.5rem;font-size:.95rem;display:block}.receipt-row{justify-content:space-between;gap:.5rem;display:flex}.receipt-total{border-top:1px dashed var(--line);color:var(--ink);margin-top:.6rem;padding-top:.5rem;font-weight:600}.csv-mock{background:var(--ink);color:oklab(100% 0 5.96046e-8/.88);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;line-height:1.55;overflow-x:auto}.csv-mock .label{font-family:var(--font-body);letter-spacing:.12em;color:var(--accent-bright);margin-bottom:.5rem;font-size:.7rem;display:block}@keyframes flow-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.flow-piece{opacity:1;animation:none}}.section{padding:3.5rem 0}.section-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:700}.section-lead{max-width:40rem;color:var(--ink-soft);margin:.75rem 0 0;line-height:1.7}.point-list{border-top:1px solid var(--line);gap:0;margin:2rem 0 0;padding:0;list-style:none;display:grid}.point-list li{border-bottom:1px solid var(--line);gap:.35rem;padding:1.25rem 0;display:grid}@media (width>=700px){.point-list li{grid-template-columns:11rem 1fr;align-items:baseline;gap:1.5rem}}.point-list h3{font-size:1rem;font-family:var(--font-display);color:var(--accent);margin:0;font-weight:700}.compare-grid{gap:1.5rem;margin-top:2rem;display:grid}@media (width>=800px){.compare-grid{grid-template-columns:1fr 1fr}}.compare-col{border-top:2px solid var(--line);padding:1.5rem 0}.compare-col.ours{border-top-color:var(--accent)}.compare-col h3{font-family:var(--font-display);margin:0;font-size:1.1rem}.compare-col ul{color:var(--ink-soft);margin:1rem 0 0;padding-left:1.1rem;font-size:.92rem;line-height:1.75}.price-strip{border-block:1px solid var(--line);background:color-mix(in oklab, var(--accent) 6%, var(--paper))}.price-strip-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2.5rem 0;display:flex}.faq-list{border-top:1px solid var(--line);margin:2rem 0 0;padding:0;list-style:none}.faq-list details{border-bottom:1px solid var(--line);padding:1rem 0}.faq-list summary{cursor:pointer;font-weight:600;font-family:var(--font-display);list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:var(--accent);font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--ink-soft);max-width:40rem;margin:.75rem 0 0;font-size:.92rem;line-height:1.7}.final-cta{text-align:center;padding:4rem 0}.final-cta .kc-logo{justify-content:center;margin-bottom:1.25rem}.final-cta p{max-width:28rem;color:var(--ink-soft);margin:0 auto 1.5rem;line-height:1.7}.price-grid{gap:1rem;margin-top:2rem;display:grid}@media (width>=800px){.price-grid{grid-template-columns:repeat(3,1fr)}}.price-card{border:1px solid var(--line);border-radius:var(--radius);background:oklab(100% 0 5.96046e-8/.5);padding:1.5rem}.price-card.featured{border-color:var(--accent);background:var(--paper-2);box-shadow:0 0 0 1px var(--accent)}.prose{max-width:42rem;color:var(--ink-soft);font-size:.95rem;line-height:1.7}.prose h1{color:var(--ink);font-family:var(--font-display)}.prose h2{color:var(--ink);font-size:1.05rem;font-family:var(--font-display);margin-top:2rem}.prose strong{color:var(--ink)}.prose a{text-underline-offset:2px;text-decoration:underline}.guide-index{gap:.85rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.guide-index a{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);gap:.35rem;padding:1rem 1.1rem;text-decoration:none;display:grid}.guide-index a:hover{opacity:1;border-color:color-mix(in oklab, var(--accent) 45%, var(--line))}.guide-index strong{color:var(--ink);font-size:1.02rem}.howto-steps{padding-left:1.2rem}.howto-steps li{margin:.85rem 0}.howto-steps p{margin:.35rem 0 0}
