:root{--bg:#fff;--ink:#111;--ink-soft:#525252;--accent:#e0631b;--accent-tint:#fbeee5;--line:#e8e8e8;--body-size:17px;--body-line:1.9;--caption-size:13px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);max-width:100vw;color:var(--ink);overflow-x:hidden}body{font-family:var(--font-zen-kaku), "Zen Kaku Gothic New", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}.site-header{border-bottom:1px solid var(--line);z-index:100;background:var(--bg);justify-content:space-between;align-items:center;padding:28px 56px;display:flex;position:relative}.logo-block{align-items:center;text-decoration:none;display:flex}.logo-block img{width:auto;height:72px}.nav-desktop{gap:40px;display:flex}.nav-desktop a{letter-spacing:.04em;color:var(--ink);border-bottom:1px solid #0000;padding-bottom:4px;font-size:14px;text-decoration:none}.nav-desktop a.current{border-color:var(--accent);color:var(--accent)}.nav-desktop a:hover{border-color:var(--accent)}.menu-toggle{cursor:pointer;z-index:110;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:32px;height:22px;padding:0;display:none}.menu-toggle span{background:var(--ink);width:100%;height:1px;transition:transform .25s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(10px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-10px)rotate(-45deg)}.mobile-nav{background:var(--bg);z-index:90;opacity:0;pointer-events:none;flex-direction:column;padding:100px 32px 40px;transition:opacity .2s,transform .2s;display:flex;position:fixed;inset:0;transform:translateY(-8px)}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav nav{flex-direction:column;display:flex}.mobile-nav a{border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:.03em;padding:18px 0;font-size:18px;text-decoration:none}.mobile-nav a.current{color:var(--accent)}@media (max-width:720px){.site-header{padding:20px 24px}.nav-desktop{display:none}.menu-toggle{display:flex}}@media (min-width:721px){.mobile-nav{display:none}}.site-footer{border-top:1px solid var(--line);font-size:var(--caption-size);color:var(--ink-soft);justify-content:space-between;margin-top:auto;padding:32px 56px;display:flex}.site-footer a{color:var(--ink-soft);border-bottom:1px solid var(--line);text-decoration:none}.site-footer a:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:720px){.site-footer{flex-direction:column;gap:8px;padding:24px}}.page-eyebrow{letter-spacing:.28em;color:var(--accent);z-index:2;align-items:center;gap:10px;margin-bottom:20px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.page-eyebrow:before{content:"";background:var(--accent);width:28px;height:1px}.page-title{z-index:2;margin:0 0 20px;font-size:clamp(26px,3.4vw,38px);font-weight:700;line-height:1.5;position:relative}.page-lead{font-weight:400;font-size:var(--body-size);line-height:var(--body-line);color:var(--ink-soft);z-index:2;max-width:560px;margin:0;position:relative}.hero{align-items:center;min-height:clamp(460px,68vh,720px);display:flex;position:relative;overflow:hidden}.hero-kv{aspect-ratio:1672/941;z-index:1;opacity:.92;width:clamp(45%,55%,780px);position:absolute;top:50%;right:max(0px,50% - 800px);transform:translateY(-50%)}.hero-content{z-index:2;max-width:760px;margin-left:max(56px,50% - 434px);padding:clamp(48px,9vw,80px) clamp(24px,6vw,56px) clamp(48px,9vw,80px) 0;position:relative}.hero-eyebrow{letter-spacing:.28em;color:var(--accent);align-items:center;gap:10px;margin-bottom:32px;font-size:12px;font-weight:500;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--accent);width:28px;height:1px}.hero-title{letter-spacing:.01em;margin:0 0 28px;font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.75}.hero-sub{font-weight:400;font-size:var(--body-size);line-height:var(--body-line);color:var(--ink-soft);margin:0 0 40px}.hero-cta{border:1px solid var(--ink);color:var(--ink);letter-spacing:.08em;padding:15px 36px;font-size:13px;font-weight:500;text-decoration:none;transition:all .25s;display:inline-block}.hero-cta:hover{background:var(--ink);color:var(--bg)}.home-plans{border-top:1px solid var(--line);max-width:980px;margin:40px auto 0;padding:56px 56px 100px}.home-plans-title{margin:0 0 32px;font-size:16px;font-weight:700}.home-plans-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:40px;display:grid}.home-plans-item{border-left:1px solid var(--line);padding-left:24px}.home-plans-item:first-child{border-left:none;padding-left:0}.home-plans-num{color:var(--accent);margin-bottom:12px;font-size:24px;font-weight:700;line-height:1}.home-plans-name{margin:0 0 10px;font-size:16px;font-weight:700}.home-plans-desc{font-size:var(--caption-size);color:var(--ink-soft);line-height:1.7}.home-plans-cta{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:2px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}@media (max-width:860px){.hero{flex-direction:column;align-items:stretch;min-height:auto;padding:0}.hero-kv{opacity:1;width:100%;margin-top:-40px;position:relative;top:auto;right:auto;transform:none}.hero-content{max-width:none;margin-left:0;padding:56px 24px 24px}.home-plans{padding:40px 24px 64px}.home-plans-grid{grid-template-columns:1fr;gap:24px}.home-plans-item{border-left:none;border-top:1px solid var(--line);padding:24px 0 0}.home-plans-item:first-child{border-top:none;padding-top:0}}.intro{max-width:720px;margin:0 auto;padding:96px 40px 80px}.eyebrow{letter-spacing:.28em;color:var(--accent);align-items:center;gap:10px;margin-bottom:40px;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:28px;height:1px}.pull-quote{letter-spacing:.01em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.9}.story{max-width:720px;margin:0 auto;padding:0 40px 96px}.story p{font-size:var(--body-size);line-height:var(--body-line);color:var(--ink);margin:0 0 32px}.story p:last-child{margin-bottom:0}.story-more{border-top:1px solid var(--line);font-size:var(--caption-size);color:var(--ink-soft);margin-top:48px;padding-top:32px}.story-more a{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:1px;text-decoration:none}@media (max-width:720px){.intro{padding:56px 24px}.story{padding:0 24px 64px}}.results-header{max-width:980px;margin:0 auto;padding:72px 56px 48px;position:relative;overflow:hidden}.corner-accent{aspect-ratio:753/517;opacity:.5;pointer-events:none;width:260px;position:absolute;top:-40px;right:-20px}.results-content{max-width:980px;margin:0 auto;padding:0 56px 120px}.case{border-top:1px solid var(--line);grid-template-columns:100px 1fr;gap:32px;padding:48px 0;display:grid}.case:first-child{border-top:none}.case-num{color:var(--accent);font-size:28px;font-weight:700;line-height:1}.case-industry{font-size:var(--caption-size);color:var(--ink-soft);letter-spacing:.03em;margin-top:12px;line-height:1.6}.case-title{margin:0 0 24px;font-size:19px;font-weight:700;line-height:1.6}.case-field{font-size:var(--body-size);line-height:var(--body-line);grid-template-columns:88px 1fr;gap:16px;margin-bottom:14px;display:grid}.case-field:last-child{margin-bottom:0}.case-field-label{color:var(--ink-soft);letter-spacing:.05em;font-size:var(--caption-size);padding-top:2px}.case-field-value{color:var(--ink)}@media (max-width:720px){.results-header{padding:48px 24px 32px}.corner-accent{width:160px;top:-20px;right:-30px}.results-content{padding:0 24px 80px}.case{grid-template-columns:1fr;gap:12px;padding:32px 0}.case-field{grid-template-columns:1fr;gap:4px}}.services-page-header{max-width:980px;margin:0 auto;padding:72px 56px 0}.pains{max-width:980px;margin:0 auto;padding:56px}.pains-title{margin:0 0 28px;font-size:16px;font-weight:700}.pain-list{grid-template-columns:1fr 1fr;gap:16px 40px;margin:0;padding:0;list-style:none;display:grid}.pain-list li{font-size:var(--body-size);line-height:var(--body-line);color:var(--ink);padding-left:22px;position:relative}.pain-list li:before{content:"―";color:var(--accent);position:absolute;left:0}.principle{max-width:980px;margin:0 auto;padding:0 56px 8px}.principle p{font-weight:700;font-size:var(--body-size);line-height:var(--body-line);margin:0}.plans{max-width:980px;margin:0 auto;padding:24px 56px 56px}.plans-title{border-top:1px solid var(--line);margin:32px 0;padding-top:32px;font-size:16px;font-weight:700}.plan{border-top:1px solid var(--line);grid-template-columns:90px 1fr 260px;align-items:start;gap:32px;padding:40px 0;display:grid}.plan:first-of-type{border-top:none}.plan-num{color:var(--accent);font-size:26px;font-weight:700;line-height:1}.plan-name{margin:0 0 14px;font-size:17px;font-weight:700}.plan-desc{font-size:var(--body-size);line-height:var(--body-line);color:var(--ink);margin:0}.plan-target{background:var(--accent-tint);border-left:3px solid var(--accent);font-size:var(--body-size);line-height:var(--body-line);color:var(--ink);padding:18px 20px}.plan-target-label{letter-spacing:.1em;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.plans-note{font-size:var(--caption-size);color:var(--ink-soft);border-top:1px solid var(--line);margin-top:32px;padding-top:24px;line-height:1.9}.plans-note a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}@media (max-width:780px){.services-page-header{padding:48px 24px 0}.pains{padding:40px 24px}.pain-list{grid-template-columns:1fr}.principle{padding:0 24px 8px}.plans{padding:0 24px 40px}.plan{grid-template-columns:1fr;gap:16px;padding:32px 0}.plan-target{margin-top:4px}}.company-page-header{max-width:720px;margin:0 auto;padding:72px 40px 0}.company-page-header .page-title{margin-bottom:56px;font-size:clamp(24px,3vw,32px)}.company-table{max-width:720px;margin:0 auto;padding:0 40px 120px}.row{border-top:1px solid var(--line);font-size:var(--body-size);line-height:var(--body-line);grid-template-columns:140px 1fr;gap:24px;padding:22px 0;display:grid}.row:last-child{border-bottom:1px solid var(--line)}.row-label{color:var(--ink-soft);letter-spacing:.04em;font-size:var(--caption-size);padding-top:2px}.row-value{color:var(--ink)}.row-value ul{margin:0;padding-left:18px}.row-value li{margin-bottom:6px}.row-value li:last-child{margin-bottom:0}@media (max-width:640px){.company-page-header{padding:48px 24px 0}.company-page-header .page-title{margin-bottom:40px}.company-table{padding:0 24px 80px}.row{grid-template-columns:1fr;gap:6px}}.contact-page-header{text-align:center;max-width:600px;margin:0 auto;padding:88px 40px 0}.contact-page-header .page-eyebrow{justify-content:center}.contact-page-header .page-title{margin-bottom:64px;font-size:clamp(24px,3vw,30px)}.contact-form{max-width:600px;margin:0 auto;padding:0 40px 120px}.field{margin-bottom:32px}.field label{font-size:var(--caption-size);letter-spacing:.04em;color:var(--ink-soft);margin-bottom:10px;display:block}.field .required{color:var(--accent);margin-left:2px}.field input,.field textarea{border:none;border-bottom:1px solid var(--line);width:100%;font-family:inherit;font-size:var(--body-size);color:var(--ink);background:0 0;outline:none;padding:10px 2px;transition:border-color .2s}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}.field textarea{resize:vertical;min-height:120px;line-height:1.8}.field-error{color:var(--accent);margin-top:8px;font-size:12px}.field-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit-row{text-align:center;margin-top:56px}.submit-btn{border:1px solid var(--ink);color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;padding:16px 56px;font-family:inherit;font-size:14px;transition:all .25s;display:inline-block}.submit-btn:hover:not(:disabled){background:var(--ink);color:var(--bg)}.submit-btn:disabled{opacity:.5;cursor:default}.form-status{text-align:center;font-size:var(--body-size);margin-top:24px;line-height:1.8}.form-status.is-error{color:var(--accent)}@media (max-width:640px){.contact-page-header{padding:56px 24px 0}.contact-page-header .page-title{margin-bottom:48px}.contact-form{padding:0 24px 80px}}
