:root{--white:#fff;--black:#222;--gray-50:#f4f5f6;--gray-100:#e9ecef;--gray-200:#d7dce2;--gray-300:#bcc4cc;--gray-500:#7d8d9d;--gray-700:#6b7580;--gray-800:#3b454e;--orange-30:#f9d4b2;--orange-50:#fff5eb;--orange-600:#f06000;--orange-700:#f06000;--orange-800:#ae4e19;--red-100:#ffefed;--red-600:#e8271b;--red-700:#dc0c00;--green-100:#f3ffee;--green-700:#2cab23;--green-800:#1f8019;--blue-50:#eef8fd;--blue-100:#e4f2ff;--blue-700:#116ff3;--yellow-100:#fff7dc;--yellow-700:#ffbf00;--brand:var(--orange-700);--brand-hover:var(--orange-800);--brand-light:var(--orange-50);--brand-softer:var(--orange-30);--text-primary:var(--black);--text-secondary:var(--gray-800);--text-placeholder:var(--gray-500);--text-inverse:var(--white);--text-link:var(--blue-700);--text-action:var(--orange-700);--bg-default:var(--gray-50);--bg-surface:var(--white);--divider-section:var(--gray-200);--divider-input:var(--gray-300);--font-sans:"Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", "Yu Gothic UI", "Meiryo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--focus-outline:2px solid var(--orange-600);--r-sm:4px;--r-md:6px;--r-lg:8px;--r-pill:9999px;--shadow-1:0 1px 2px #2222220a;--shadow-2:0 2px 6px #2222220f}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.container{max-width:1040px;margin:0 auto;padding:0 24px}.t-heading-xl{font-size:20px;font-weight:700;line-height:1.5}.t-heading-l{font-size:18px;font-weight:700;line-height:1.5}.t-heading-m{font-size:16px;font-weight:700;line-height:1.5}.t-heading-s{font-size:14px;font-weight:700;line-height:1.5}.t-body-l{font-size:16px;line-height:1.5}.t-body-m{font-size:14px;line-height:1.5}.t-body-s{font-size:12px;line-height:1.5}.topnav{z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--divider-section);position:sticky;top:0}.topnav .inner{justify-content:space-between;align-items:center;max-width:1240px;height:60px;margin:0 auto;padding:0 24px;display:flex}.topnav .brand{color:var(--text-primary);letter-spacing:.01em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.topnav .brand-mark{border-radius:var(--r-sm);background:var(--brand);width:10px;height:10px;display:inline-block}.topnav nav{flex-wrap:wrap;gap:22px;display:flex}.topnav nav a{color:var(--gray-700);cursor:pointer;font-size:13px;font-weight:500;transition:color .15s}.topnav nav a:hover{color:var(--brand)}@media (max-width:760px){.topnav nav{display:none}}.btn{border-radius:var(--r-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn.filled{background:var(--brand);color:var(--text-inverse);border-color:var(--brand)}.btn.filled:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.filled:disabled{background:var(--gray-300);border-color:var(--gray-300);color:var(--text-inverse);cursor:not-allowed}.btn.outlined{background:var(--bg-surface);color:var(--brand);border-color:var(--brand)}.btn.outlined:hover{background:var(--brand-light)}.btn.white{background:var(--bg-surface);color:var(--text-primary);border-color:var(--gray-300)}.btn.white:hover{background:var(--gray-50)}.btn.lg{height:48px;padding:0 28px;font-size:15px}.tag{border-radius:var(--r-sm);align-items:center;gap:4px;height:22px;padding:0 8px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.tag.green{background:var(--green-100);color:var(--green-700)}.tag.yellow{background:var(--yellow-100);color:#b88a00}.tag.orange{background:var(--orange-50);color:var(--brand)}.tag.blue{background:var(--blue-100);color:var(--blue-700)}.chip{border-radius:var(--r-pill);background:var(--bg-surface);height:32px;color:var(--text-primary);border:1px solid var(--gray-200);cursor:pointer;align-items:center;gap:4px;padding:0 14px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.chip:hover{background:var(--gray-50)}.chip.active{background:var(--brand-light);color:var(--brand);border-color:var(--brand)}.hero{background:var(--bg-surface);border-bottom:1px solid var(--divider-section);padding:64px 0 56px}.hero .eyebrow{letter-spacing:.08em;color:var(--brand);align-items:center;gap:8px;margin-bottom:20px;font-size:12px;font-weight:700;display:inline-flex}.hero .eyebrow:before{content:"";background:var(--brand);width:24px;height:2px;display:inline-block}.hero h1{letter-spacing:.01em;color:var(--text-primary);margin:0 0 20px;font-size:clamp(24px,3.6vw,36px);font-weight:700;line-height:1.4}.hero h1 .hl{color:var(--brand);border-bottom:3px solid var(--orange-30)}.hero .lead{color:var(--text-secondary);max-width:720px;margin:0 0 24px;font-size:15px;line-height:1.85}.hero .lead b{color:var(--text-primary);font-weight:700}section.block{padding:56px 0}section.block.tint{background:var(--bg-surface);border-top:1px solid var(--divider-section);border-bottom:1px solid var(--divider-section)}section.block .eyebrow{letter-spacing:.1em;color:var(--brand);margin-bottom:10px;font-size:12px;font-weight:700}section.block h2{color:var(--text-primary);margin:0 0 12px;font-size:clamp(20px,2.6vw,26px);font-weight:700;line-height:1.5}section.block p.kicker{color:var(--text-secondary);max-width:760px;margin:0 0 28px;font-size:14px;line-height:1.85}.filter-box{background:var(--bg-surface);border:1px solid var(--divider-section);border-radius:var(--r-lg);z-index:50;margin-bottom:24px;padding:16px 20px 14px;position:sticky;top:68px}.filter-box .filter-row{grid-template-columns:80px 1fr;align-items:start;gap:8px 16px;padding:6px 0;display:grid}@media (max-width:760px){.filter-box .filter-row{grid-template-columns:64px 1fr}}.filter-toggle{display:none}@media (max-width:767px){.filter-box{padding:0}.filter-box .filter-content{padding:4px 16px 12px}.filter-box.is-collapsed .filter-content{display:none}.filter-toggle{border-radius:var(--r-lg);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-family:inherit;font-size:13.5px;font-weight:700;display:flex}.filter-toggle-label{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.filter-toggle-badge{border-radius:var(--r-pill);background:var(--brand);min-width:20px;height:20px;color:var(--text-inverse);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.filter-toggle-meta{color:var(--text-placeholder);white-space:nowrap;font-size:12px;font-weight:600}.filter-toggle-meta .filter-count{color:var(--text-primary);font-weight:700}.filter-toggle-icon{color:var(--text-placeholder);font-size:10px;transition:transform .2s}.filter-box.is-open .filter-toggle-icon{transform:rotate(180deg)}}.filter-label{color:var(--text-secondary);padding-top:8px;font-size:12px;font-weight:700}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-actions{border-top:1px solid var(--gray-100);color:var(--text-placeholder);justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;font-size:12.5px;display:flex}.filter-actions .reset-btn{color:var(--brand);cursor:pointer;border-radius:var(--r-md);background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:12.5px;font-weight:600}.filter-actions .reset-btn:hover{background:var(--brand-light)}.filter-actions .filter-count{color:var(--text-primary);font-weight:700}.cat-block{margin-bottom:16px;scroll-margin-top:180px}.cat-head{background:var(--gray-50);border:1px solid var(--divider-section);border-radius:var(--r-lg);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;transition:background .12s,border-color .12s;display:flex}.cat-head:hover{background:var(--brand-light);border-color:var(--brand-softer)}.cat-block.open .cat-head{background:var(--brand-light);border-color:var(--brand-softer);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.cat-head .cat-code{border-radius:var(--r-sm);background:var(--brand);width:28px;height:28px;color:var(--text-inverse);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.cat-head h3{min-width:0;color:var(--text-primary);flex:1;margin:0;font-size:15px;font-weight:700;line-height:1.4}.cat-head .cat-stat{color:var(--text-placeholder);white-space:nowrap;font-size:11.5px}.cat-head .toggle{width:28px;height:28px;color:var(--brand);background:var(--bg-surface);border:1px solid var(--brand-softer);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;font-size:11px;transition:transform .2s,background .12s;display:flex}.cat-head:hover .toggle{background:var(--brand);color:var(--text-inverse);border-color:var(--brand)}.cat-block.open .cat-head .toggle{background:var(--brand);color:var(--text-inverse);border-color:var(--brand);transform:rotate(180deg)}.case-list{background:var(--bg-surface);border:1px solid var(--brand-softer);border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg);border-top:none;flex-direction:column;gap:10px;padding:12px;display:none}.cat-block.open .case-list{display:flex}@media (max-width:600px){.cat-head{gap:10px;padding:10px 12px}.cat-head .cat-code{width:26px;height:26px;font-size:12px}.cat-head h3{font-size:14px}.cat-head .cat-stat{display:none}.case-list{padding:10px}}.case{background:var(--bg-surface);border:1px solid var(--divider-section);border-radius:var(--r-lg);padding:20px 22px 18px;transition:border-color .12s,box-shadow .12s;position:relative}.case:hover{border-color:var(--gray-300)}.case.selected{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.case.hidden{display:none}.case-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.case-id{background:var(--gray-50);height:22px;color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--r-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.case-title{min-width:0;color:var(--text-primary);flex:1;margin:0;font-size:15.5px;font-weight:700;line-height:1.5}.badge{border-radius:var(--r-sm);white-space:nowrap;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.done{background:var(--green-100);color:var(--green-700)}.badge.proposed{background:var(--yellow-100);color:#b88a00}.badge.done:before,.badge.proposed:before{content:"";border-radius:50%;width:6px;height:6px}.badge.done:before{background:var(--green-700)}.badge.proposed:before{background:var(--yellow-700)}.case-grid{grid-template-columns:repeat(2,1fr);gap:14px 22px;font-size:13px;line-height:1.75;display:grid}@media (max-width:680px){.case-grid{grid-template-columns:1fr}}.case-field label{color:var(--text-placeholder);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.case-field .body{color:var(--text-secondary)}.case-field .body b{color:var(--text-primary);font-weight:700}.case-field.pain-field{grid-column:1/-1}.case-field.pain-field .body{background:var(--gray-50);border-left:3px solid var(--brand);border-radius:var(--r-md);color:var(--text-secondary);padding:10px 14px}.case-check-wrap{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;font-weight:700;display:flex}.case-check-wrap input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand);cursor:pointer}.client-form{background:var(--bg-surface);border:1px solid var(--divider-section);border-radius:var(--r-lg);margin-bottom:24px;padding:24px}.client-form h3{color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:700}.client-form .kicker{color:var(--text-placeholder);margin:0 0 18px;font-size:12.5px}.client-form .form-grid{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}@media (max-width:680px){.client-form .form-grid{grid-template-columns:1fr}}.client-form .form-field label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.client-form .form-field label .req{color:var(--red-600);margin-left:3px}.client-form .form-field input,.client-form .form-field select,.client-form .form-field textarea{border:1px solid var(--divider-input);border-radius:var(--r-md);background:var(--bg-surface);width:100%;color:var(--text-primary);padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.client-form .form-field input:focus,.client-form .form-field select:focus,.client-form .form-field textarea:focus{border-color:var(--brand);outline:none}.client-form .form-field textarea{resize:vertical;min-height:80px}.client-form .form-field.full{grid-column:1/-1}.submit-bar{background:var(--bg-surface);border-top:1px solid var(--divider-section);z-index:80;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 10px #00000008}.submit-bar .summary{color:var(--text-secondary);font-size:14px}.submit-bar .summary b{color:var(--brand);font-weight:700}.submit-bar .error{color:var(--red-700);font-size:12.5px;font-weight:600}.no-results{text-align:center;color:var(--text-placeholder);background:var(--bg-surface);border:1px dashed var(--divider-section);border-radius:var(--r-lg);margin-bottom:24px;padding:40px 20px;font-size:14px}.thanks-card{background:var(--bg-surface);border:1px solid var(--divider-section);border-radius:var(--r-lg);text-align:center;max-width:560px;margin:96px auto 48px;padding:48px}.thanks-card h1{color:var(--text-primary);margin:0 0 12px;font-size:24px;font-weight:700}.thanks-card p{color:var(--text-secondary);font-size:14px;line-height:1.85}footer{text-align:center;color:var(--text-placeholder);background:var(--bg-default);padding:36px 0 56px;font-size:12px}footer .brand{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:700}
