.sj-diagnosis{--ink:#333;--brown:#513b2c;--accent:#c4a78d;--paper:#fdfbf7;--cream:#f3efea;--line:rgba(81,59,44,.17);--white:#fff;color:var(--ink);background:var(--paper);font-family:"Noto Serif TC","PMingLiU",serif;font-size:17px;line-height:1.9;letter-spacing:1.2px;overflow-x:clip}
.sj-diagnosis *{box-sizing:border-box}.sj-diagnosis [hidden]{display:none!important}.sj-diagnosis button,.sj-diagnosis input,.sj-diagnosis textarea{font:inherit}.sj-diagnosis__hero{padding:86px 0 72px;background:linear-gradient(120deg,#fdfbf7 0%,#f1e5d5 100%);border-bottom:1px solid var(--line)}
.sj-diagnosis__hero-inner{display:grid;grid-template-columns:150px minmax(0,1fr);gap:48px;align-items:center;width:min(1040px,calc(100% - 44px));margin:auto}.sj-diagnosis__logo{display:block;width:145px;height:auto}.sj-diagnosis__kicker{margin:0 0 10px;color:var(--brown);font:600 12px/1.3 Georgia,serif;letter-spacing:.23em;text-transform:uppercase}.sj-diagnosis h1{margin:0 0 17px;color:var(--brown);font-size:42px;font-weight:500;line-height:1.45;letter-spacing:4px}.sj-diagnosis__lead{margin:0 0 10px;font-size:19px;color:#4a3831}.sj-diagnosis__hero p:last-child{max-width:720px;margin-bottom:0}
.sj-diagnosis__body{display:grid;grid-template-columns:220px minmax(0,720px);gap:66px;width:min(1040px,calc(100% - 44px));margin:auto;padding:78px 0 100px}.sj-progress{position:relative}.sj-progress ol{position:sticky;top:40px;margin:0;padding:0;list-style:none}.sj-progress li{display:flex;gap:15px;align-items:center;padding:12px 0;color:#8b7d73;font-size:14px;transition:.25s}.sj-progress li span{font:400 13px Georgia,serif;letter-spacing:.08em}.sj-progress li.is-active{color:var(--brown);font-weight:600}.sj-progress li.is-done{color:#6f806c}.sj-progress__bar{display:none}
.sj-form-step{display:none;animation:sjFade .38s ease}.sj-form-step.is-active{display:block}@keyframes sjFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sj-step-heading{display:flex;gap:22px;align-items:flex-start;margin-bottom:42px;padding-bottom:25px;border-bottom:1px solid var(--line)}.sj-step-heading>span{color:var(--accent);font:400 42px/1 Georgia,serif}.sj-step-heading p{margin:1px 0 3px;color:var(--brown);font:600 11px/1.3 Georgia,serif;letter-spacing:.2em;text-transform:uppercase}.sj-step-heading h2{margin:0;color:#222;font-size:29px;font-weight:500;letter-spacing:3px;line-height:1.4}
.sj-fields{display:grid;gap:28px}.sj-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.sj-field{display:block;margin:0 0 38px;padding:0;border:0}.sj-field--wide{grid-column:1/-1}.sj-field>span,.sj-field legend{display:block;margin-bottom:4px;color:#29221e;font-weight:600;letter-spacing:1.5px}.sj-field b,.sj-consent b{color:#9c6c54;font-weight:500}.sj-field small{display:block;margin:0 0 12px;color:#786d66;font-size:13px;line-height:1.65;letter-spacing:.8px}.sj-field input:not([type=radio]):not([type=checkbox]):not([type=file]),.sj-field textarea{display:block;width:100%;border:0;border-bottom:1px solid #ae9d91;border-radius:0;padding:11px 4px;background:transparent;color:#222;outline:0;transition:.2s}.sj-field textarea{min-height:126px;border:1px solid var(--line);padding:14px;resize:vertical;background:rgba(255,255,255,.48)}.sj-field input:focus,.sj-field textarea:focus{border-color:var(--brown)!important;box-shadow:0 2px 0 rgba(81,59,44,.08)}.sj-field input.is-invalid,.sj-field textarea.is-invalid{border-color:#a44737!important}.sj-field.is-invalid{padding:16px;border-left:3px solid #a44737;background:#fff8f5}.sj-field.is-invalid:after{content:"請完成這個欄位";display:block;margin-top:8px;color:#a44737;font-size:13px}.sj-counter{display:block;margin-top:5px;color:#887c75;font-size:12px;font-style:normal;text-align:right}
.sj-options{display:grid;gap:10px;margin-top:14px}.sj-options--three{grid-template-columns:repeat(3,minmax(0,1fr))}.sj-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}.sj-options--one{grid-template-columns:1fr}.sj-options label{position:relative;cursor:pointer}.sj-options input{position:absolute;opacity:0;pointer-events:none}.sj-options span{display:flex;align-items:center;min-height:52px;padding:10px 15px;border:1px solid var(--line);background:rgba(255,255,255,.45);font-size:14px;line-height:1.55;transition:.2s}.sj-options span:before{content:"";flex:0 0 15px;width:15px;height:15px;margin-right:10px;border:1px solid #9d8c80;background:#fff}.sj-options input[type=radio]+span:before{border-radius:50%}.sj-options input:checked+span{border-color:var(--brown);background:#eee3d8;color:var(--brown)}.sj-options input:checked+span:before{border:4px solid var(--brown);background:#fff}.sj-options input[type=checkbox]:checked+span:before{border:0;background:var(--brown);box-shadow:inset 0 0 0 3px #fff}.sj-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.sj-options label.is-disabled{opacity:.45;cursor:not-allowed}
.sj-upload{position:relative;padding:27px;border:1px dashed var(--accent);background:#f8f2eb;text-align:center}.sj-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.sj-upload strong{display:inline-block;margin:8px 0;padding:8px 18px;border:1px solid var(--brown);color:var(--brown);font-size:14px;font-weight:500}.sj-upload output{display:block;color:#6f6259;font-size:13px}.sj-consent{display:flex;gap:12px;align-items:flex-start;margin:32px 0 18px;padding:20px;background:#f2e9df;cursor:pointer}.sj-consent input{width:18px;height:18px;margin-top:7px;accent-color:var(--brown)}.sj-disclaimer{padding:20px;border-left:2px solid var(--accent);color:#675b54;font-size:13px;line-height:1.85}
.sj-form-nav{display:flex;justify-content:space-between;gap:15px;margin-top:50px;padding-top:28px;border-top:1px solid var(--line)}.sj-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:11px 22px;border:1px solid var(--brown);border-radius:0;background:transparent;color:var(--brown);font-weight:500;letter-spacing:2px;cursor:pointer;transition:.23s}.sj-btn--next,.sj-btn--submit{margin-left:auto;background:var(--brown);color:#fff}.sj-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(81,59,44,.13)}.sj-btn:disabled{opacity:.55;cursor:wait;transform:none}.sj-form-message{display:none;margin-top:20px;padding:14px 18px;background:#fff2ee;color:#963f31;font-size:14px}.sj-form-message.is-visible{display:block}.sj-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.sj-success{grid-column:2;padding:60px 48px;background:linear-gradient(135deg,#f8f4ee,#ebddd0);text-align:center}.sj-success__mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 24px;border:1px solid var(--accent);border-radius:50%;color:var(--brown);font-size:28px}.sj-success h2{margin:0 0 20px;color:var(--brown);font-size:31px;font-weight:500;letter-spacing:3px}.sj-success__case{color:#6f6259;font:400 13px Georgia,serif;letter-spacing:.1em}.sj-success__signature{margin-top:38px;padding-top:28px;border-top:1px solid var(--line);color:#4a3831;letter-spacing:2px}
@media(max-width:820px){.sj-diagnosis{font-size:16px}.sj-diagnosis__hero{padding:54px 0 52px}.sj-diagnosis__hero-inner{grid-template-columns:1fr;gap:22px;width:min(100% - 30px,1040px)}.sj-diagnosis__logo{width:125px}.sj-diagnosis h1{font-size:34px;letter-spacing:3px}.sj-diagnosis__lead{font-size:17px}.sj-diagnosis__body{display:block;width:min(100% - 30px,720px);padding:34px 0 70px}.sj-progress ol{display:none}.sj-progress__bar{display:block;height:3px;margin:0 0 35px;background:#e1d7cf}.sj-progress__bar span{display:block;width:16.666%;height:100%;background:var(--brown);transition:.3s}.sj-step-heading{margin-bottom:32px}.sj-step-heading>span{font-size:34px}.sj-step-heading h2{font-size:26px}.sj-fields--two,.sj-options--three,.sj-options--two{grid-template-columns:1fr}.sj-field--wide{grid-column:auto}.sj-field{margin-bottom:32px}.sj-options span{min-height:48px}.sj-form-nav{position:sticky;bottom:0;z-index:5;margin-inline:-15px;padding:17px 15px;background:rgba(253,251,247,.94);backdrop-filter:blur(8px)}.sj-btn{min-width:0;flex:1;padding-inline:12px;letter-spacing:1px}.sj-success{padding:46px 24px}.sj-success h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.sj-form-step{animation:none}.sj-btn,.sj-progress__bar span{transition:none}}
