:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#203b35;background:#f5f8f6;font-synthesis:none;--green:#126c61;--dark:#174b43;--muted:#71847c;--border:#dce7e1;--error:#bc3b3b}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #73bcac;outline-offset:3px}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}fieldset{min-width:0;margin:0;padding:0;border:0}.passport-app{max-width:640px;min-height:100vh;margin:auto;background:#f9fbf9;box-shadow:0 0 70px #173f3310}.site-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1eae3;background:#fff}.brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:650;color:var(--dark)}.brand small{display:block;font-size:7px;letter-spacing:1.4px;margin-top:4px;font-weight:500}.brand-symbol{display:block;flex-shrink:0;object-fit:contain;width:36px;height:36px}.header-caption{font-size:10px;color:var(--muted)}.hero{padding:39px 25px 0;background:linear-gradient(145deg,#eaf2e7,#edf6f0 50%,#d9eae0);overflow:hidden;position:relative}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.5px;color:var(--green)}.hero h1{font-size:38px;letter-spacing:3px;color:var(--dark);margin:15px 0}.hospital-name{font-size:15px;line-height:1.7;letter-spacing:.7px;color:#4e6b5c}.hero-copy{max-width:290px;font-size:13px;line-height:1.9;margin-top:17px;color:#657f70}.passport-art{height:265px;display:grid;place-items:center;position:relative}.passport-book{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(110deg,#185b4c,#247260);color:#e9e2b8;width:157px;height:212px;border-radius:4px 13px 13px 4px;transform:rotate(-9deg);box-shadow:inset 7px 0 5px #0b3e3544,12px 20px 25px #154d382b;border:1px solid #0b4b39;font-size:16px;font-weight:500;letter-spacing:1px}.passport-book:after{content:"";position:absolute;inset:8px;border:1px solid #b9b07855;border-radius:0 7px 7px 0;pointer-events:none}.passport-book small{text-align:center;font-size:8px;line-height:1.8;letter-spacing:2px}.book-logo{display:block;width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}.book-seal{border:1px solid #e9e2b866;border-radius:100%;width:49px;height:49px;display:grid;place-items:center;font-size:7px;letter-spacing:0}.art-circle{position:absolute;border:1px solid #99beaa55;border-radius:50%}.circle-one{width:250px;height:250px;right:-75px;bottom:-75px}.circle-two{width:190px;height:190px;left:-90px;top:25px}.hero-caption{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;letter-spacing:1.2px;color:#5b7a68;border-top:1px solid #a5bfab55;padding:17px 0}.small-dot{width:5px;height:5px;border-radius:100%;background:#739a78}.intro-content{padding:34px 25px 17px}.section-heading h2{font-size:23px;margin:10px 0 14px}.section-description{font-size:13px;line-height:1.9;color:#657c6e}.benefit-list{margin:23px 0 28px}.benefit{display:flex;gap:15px;padding:19px 0;border-bottom:1px solid #e4eae5}.benefit-index{font-size:13px;font-weight:600;color:#6c9e82;background:#edf4eb;width:35px;height:35px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.benefit h3{font-size:15px;margin-bottom:7px}.benefit p{font-size:12px;color:#71847a;line-height:1.9}.process-card{padding:21px 17px;background:#edf4ed;border-radius:12px}.process-card h2{font-size:15px}.process-list{display:flex;justify-content:space-between;gap:8px;padding:0;margin:20px 0 0;list-style:none}.process-list li{font-size:11px;display:flex;flex-direction:column;gap:10px;align-items:center;color:#60766a}.process-list li span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #b7ccbb;border-radius:50%;color:var(--green);font-size:11px}.fine-print{font-size:11px;line-height:1.9;color:#809086;margin-top:20px}.sticky-action{position:sticky;bottom:0;background:#fffffff5;backdrop-filter:blur(12px);padding:14px 24px max(15px,env(safe-area-inset-bottom));border-top:1px solid #dfe9df;z-index:5}.sticky-action p{text-align:center;font-size:10px;color:#7f9084;margin-top:9px}.button{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;min-height:48px;border-radius:8px;font-size:15px;font-weight:550;padding:12px 16px;transition:background .15s}.button-primary{background:var(--green);color:#fff;box-shadow:0 4px 12px #126c6115}.button-primary:hover:not(:disabled){background:#0e594f}.button-secondary{background:#eef4ef;color:var(--green);border:1px solid #dbe7dd;box-shadow:none;font-size:13px}.site-footer{text-align:center;padding:20px 20px max(24px,env(safe-area-inset-bottom));font-size:10px;letter-spacing:.5px;color:#90a095}.site-footer span{padding:0 5px}.footer-logo{display:inline-block;vertical-align:-4px;object-fit:contain;margin-right:3px;opacity:.7}.form-panel{padding:23px 20px 10px}.back-link{background:none;color:#6e8777;padding:0;font-size:12px}.form-heading{margin:27px 4px 23px}.form-heading h1{font-size:28px;margin:10px 0 8px}.form-heading p{font-size:13px;color:var(--muted)}.collection-notice{display:flex;align-items:flex-start;gap:9px;background:#eaf3ee;border:1px solid #d9e7dd;padding:14px 12px;margin-bottom:22px;border-radius:9px}.notice-icon{border:1px solid #5d8c75;color:#5d8c75;border-radius:50%;width:15px;height:15px;line-height:14px;text-align:center;flex-shrink:0;font-size:11px;margin-top:2px}.collection-notice p{font-size:11px;line-height:1.9;color:#5e796b}.collection-notice strong{display:block;font-weight:500;margin-top:4px}.required{color:var(--error)}.form-card{background:#fff;border:1px solid #e2eae3;border-radius:12px;padding:20px 17px 6px;margin:0 0 19px}.card-heading{display:flex;align-items:center;gap:9px;margin-bottom:21px}.card-heading>span{font-size:10px;padding:4px 6px;border-radius:4px;background:#e9f2e9;color:#5c8d6d;letter-spacing:.5px}.card-heading h2{font-size:17px;color:var(--dark)}.field{margin-bottom:16px}.field>label,.field>legend{display:block;font-size:13px;margin-bottom:10px;color:#405e4d}.field input:not([type=radio]),.other-input{border:1px solid var(--border);width:100%;min-height:45px;padding:10px 12px;border-radius:7px;background:#fbfdfb;color:#284b3d;font-size:14px;appearance:none}.field input::placeholder,.other-input::placeholder{color:#a2afa6;font-size:13px}.field input[aria-invalid=true],.question[aria-invalid=true]{border-color:#d78686}.field-error{min-height:0;color:var(--error);font-size:11px;line-height:1.7;margin-top:6px}.field-error:empty{display:none}.sex-options{display:flex;gap:10px}.choice{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);padding:12px 11px;border-radius:7px;font-size:13px;line-height:1.65;color:#58705f;cursor:pointer;background:#fff}.choice:has(input:checked){border-color:#48967e;background:#f0f7f1;color:#185e4b}.choice input,.consent-label input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0;margin:2px 0 0;cursor:pointer}.sex-options .choice{flex:1;padding:11px 14px;align-items:center}.input-suffix{position:relative}.input-suffix input{padding-right:35px!important}.input-suffix>span{position:absolute;right:13px;top:13px;font-size:12px;color:#8b9c90}.questions-intro{font-size:12px;color:#7e8d81;line-height:1.8;margin-bottom:22px}.question{padding:0 0 23px;margin-bottom:22px;border-bottom:1px solid #e9eeea}.question:last-child{border-bottom:0;margin-bottom:0}.question legend{font-size:14px;font-weight:550;line-height:1.8;color:#395b47;margin-bottom:6px;width:100%}.question-type{display:block;font-size:10px;color:#8b9f8e;font-weight:400;margin:0 0 11px}.question-options{display:grid;gap:8px}.question .choice{font-size:12px;line-height:1.8;padding:11px 10px}.question .choice input{margin-top:3px}.other-wrap{margin-top:10px}.other-wrap label{font-size:11px;display:block;margin-bottom:8px;color:#607b69}.other-input{min-height:70px;resize:vertical;font-family:inherit}.consent-section{font-size:12px;color:#687e6d;line-height:1.9;margin:24px 4px 20px}.consent-label{display:inline-flex;align-items:center;gap:7px}.consent-label input{margin:0}.agreement-link{background:none;padding:0;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.submit-caption{text-align:center;margin:11px 0 17px;font-size:10px;color:#8a9b8c}.form-error-summary,.page-notice{padding:13px 15px;border:1px solid #efd4d0;background:#fff3f0;color:#a33c33;border-radius:8px;font-size:12px;line-height:1.8;margin-bottom:20px}.page-notice{margin:20px}.page-notice button{background:none;color:var(--green);text-decoration:underline;padding:5px 0;display:block}.loading-panel{text-align:center;padding:100px 20px;color:#7f9587;font-size:13px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #cbded0;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin-right:5px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.success-panel{padding:38px 22px 10px;text-align:center}.success-mark{width:64px;height:64px;background:#e6f0e5;border:1px solid #d4e5d4;color:#40895f;font-size:33px;border-radius:50%;display:grid;place-items:center;margin:0 auto 23px}.success-panel h1{font-size:26px;margin:13px 0 14px;color:var(--dark)}.success-copy{font-size:13px;line-height:1.9;color:#728375}.reference-number{font-size:11px;color:#8da08e;margin:16px 0 29px;overflow-wrap:anywhere}.contact-card{padding:22px 19px;background:#fff;border:1px solid #e1e9e0;border-radius:12px;text-align:left}.contact-card .card-heading{margin-bottom:13px}.contact-card>p{font-size:12px;line-height:1.9;color:#829383;margin-bottom:21px}.contact-card .button+.button{margin-top:11px}.contact-feedback{font-size:12px;line-height:1.8;color:#637f6a;background:#f0f6f0;border-radius:7px;padding:12px;margin-bottom:17px;overflow-wrap:anywhere}.contact-feedback.is-error{color:#a05238;background:#fff6ee}.qr-container{text-align:center;margin:18px 0 24px;display:flex;flex-direction:column;align-items:center;gap:9px}.qr-container img{display:block;width:min(220px,100%);height:auto;aspect-ratio:1;object-fit:contain;border:1px solid #e1e9df;border-radius:8px;padding:7px;background:#fff}.qr-container strong{font-size:14px;font-weight:550;color:#356448}.qr-container span{font-size:11px;color:#6b836f}.qr-container small{font-size:10px;color:#9aa99b}.appointment-note{text-align:left;margin-top:24px;padding:0 5px}.appointment-note strong{font-size:12px;color:#5c7d63;font-weight:550}.appointment-note p{font-size:12px;line-height:1.9;color:#859687;margin-top:6px}.success-panel>.fine-print{border-top:1px solid #e4ebe1;padding-top:17px;text-align:left;margin-top:22px}.agreement-dialog{border:0;border-radius:14px;width:calc(100% - 32px);max-width:530px;max-height:85dvh;padding:22px;color:#395344;background:#fff;box-shadow:0 10px 70px #173b3340}.agreement-dialog::backdrop{background:#132f2466;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-heading h2{font-size:18px}.dialog-heading button{font-size:27px;font-weight:300;background:#f1f5ef;color:#6b846c;border-radius:50%;width:32px;height:32px;line-height:25px;flex-shrink:0}.agreement-version{font-size:10px;color:#94a08e;margin-top:8px}.agreement-content{font-size:13px;color:#657961;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;max-height:52dvh;overflow:auto;margin:20px 0 24px;padding-right:3px}.noscript-note{padding:24px;text-align:center;color:#9d4332;font-size:14px}@media(min-width:520px){.hero{padding-left:42px;padding-right:42px}.passport-art{height:285px}.hero h1{font-size:43px}.hero-copy{max-width:360px}.intro-content{padding-left:42px;padding-right:42px}.form-panel{padding-left:35px;padding-right:35px}.success-panel{padding-left:40px;padding-right:40px}.form-card{padding-left:24px;padding-right:24px}.header-caption{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:350px){.header-caption{display:none}.site-header{padding-left:20px}.hero h1{font-size:33px;letter-spacing:1px}.form-panel{padding-left:13px;padding-right:13px}.form-card{padding-left:13px;padding-right:13px}}

.hospital-name{white-space:pre-line}.availability-notice,.invitation-notice{margin:18px 20px 0;padding:13px 15px;border-radius:8px;font-size:12px;line-height:1.85;overflow-wrap:anywhere}.availability-notice{color:#8a5c29;background:#fff5e7;border:1px solid #efdfc7}.invitation-notice{color:#23644e;background:#eaf4ed;border:1px solid #d2e5d7}.process-list li .process-copy{display:block;width:auto;height:auto;border:0;border-radius:0;font-size:11px;color:inherit;text-align:center}.site-footer #footer-title{padding:0}.button:disabled{cursor:not-allowed}
.hero-copy,.success-copy,.questions-intro,.benefit p{white-space:pre-line;overflow-wrap:anywhere}.passport-book #book-title{max-width:90%;text-align:center;overflow-wrap:anywhere}
