*{box-sizing:border-box}[hidden]{display:none!important}:root{color:#183346;font-family:"Microsoft JhengHei",sans-serif;font-size:18px}body{margin:0;background:#e9eee8}.frame{height:100dvh;max-width:1200px;margin:auto;background:#fffbef;display:flex;flex-direction:column;overflow:hidden}header{flex:none;background:white;padding:12px 20px}header strong{font-size:18px}.header-progress{display:flex;align-items:center;gap:14px;margin-top:12px}.stage-track{display:flex;flex:1;padding-bottom:12px}.stage{font-size:18px;flex:1;position:relative;text-align:center;color:#606b70}.stage:after{content:"";position:absolute;bottom:-7px;left:0;right:0;height:2px;background:#d2d8cf}.stage:before{content:"";position:absolute;bottom:-11px;left:calc(50% - 5px);height:10px;width:10px;border-radius:50%;background:#b4bcb2;border:2px solid white;z-index:1}.stage.active{font-weight:bold;color:#265d29}.stage.active:before,.stage.complete:before,.stage.active:after,.stage.complete:after{background:#265d29}#progress{white-space:nowrap;font-size:18px}form{flex:1;min-height:0;position:relative}.page{height:100%;padding:22px;overflow:auto;line-height:1.6}.tag{color:#347255;font-size:18px}h1{font-size:27px;line-height:1.35;margin:6px 0 18px}p{margin:0 0 14px}.legal-body p{margin-bottom:14px;white-space:pre-wrap;overflow-wrap:anywhere}.legal-page{overflow:hidden}.note{padding:14px;background:#edf2e5;border-radius:12px;margin:12px 0;font-size:18px}label{display:block;font-size:18px;font-weight:bold;margin-bottom:18px}input,select,textarea{display:block;width:100%;font:inherit;font-weight:normal;background:white;color:#183346;padding:12px;border:1px solid #aab9c0;border-radius:9px;margin-top:6px;min-height:50px}textarea{resize:none}input:focus,select:focus,textarea:focus{outline:3px solid #a9cca0}small{font-size:18px;display:block;line-height:1.55}.grid{display:grid;grid-template-columns:1fr;gap:0}footer{flex:none;background:white;border-top:1px solid #e2e7db;padding:10px 18px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:8px}.actions{display:flex;gap:12px}button{font:inherit;font-size:18px;min-height:50px;border-radius:99px;border:1px solid #183346;padding:10px 24px;background:#183346;color:white;cursor:pointer}#previous{color:#111;background:white}#previous:not(:disabled):hover,#previous:not(:disabled):focus-visible,#previous:not(:disabled):active{background:#183346;color:white}button:focus-visible{outline:3px solid #83ad73;outline-offset:3px}button:disabled{opacity:.4;cursor:default}#status{font-size:18px;color:#8d392d;line-height:1.4}#status:empty{display:none}.opening{padding:0 0 14px;display:flex;flex-direction:column;align-items:center;gap:12px;overflow:hidden}.opening picture{flex:1;min-height:0;width:100%;display:flex;justify-content:center}.opening img{width:100%;height:100%;object-fit:contain}.opening #hero-next{flex:none;background:#346f31;border-color:#346f31;font-weight:bold;width:calc(100% - 44px);max-width:420px}.review{display:grid;gap:9px}.review div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding-bottom:9px;border-bottom:1px solid #dfe5d7;overflow-wrap:anywhere}.review strong{font-weight:normal;color:#347255}.consent{display:flex;align-items:flex-start;gap:12px;margin-top:20px;font-weight:normal}.consent input{width:24px;height:24px;min-height:24px;flex:none;margin-top:3px;accent-color:#346f31}.thanks img{width:110px;display:block;margin:0 auto 18px}.thanks h1{text-align:center}.thanks p{font-size:18px}@media(min-width:701px){body{padding:20px}.frame{height:calc(100dvh - 40px);border-radius:22px;box-shadow:0 15px 50px #19334515}header{display:flex;justify-content:space-between;align-items:center;padding:18px 30px}.header-progress{margin:0;width:560px}.page{padding:26px 44px;max-width:1000px;width:100%;margin:auto}.opening{max-width:none;padding:0 0 16px}.grid{grid-template-columns:1fr 1fr;gap:0 24px}.full{grid-column:1/-1}h1{font-size:30px}footer{padding:14px 30px;flex-direction:row;justify-content:flex-end}.review{grid-template-columns:1fr 1fr;gap:18px 30px}.review div{grid-template-columns:130px 1fr}.thanks img{width:140px}.legal-body{max-width:900px}}@media(max-width:370px){header{padding:10px 12px}.header-progress{gap:5px}.stage{letter-spacing:-1px}.page{padding:18px}.review div{grid-template-columns:110px 1fr}}
/* Readable single-column review rows can move between pages on shorter phones. */
.review-row{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #dfe5d7;overflow-wrap:anywhere;line-height:1.55}.review-row strong{font-weight:normal;color:#347255}
.legal-body{line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:700px){header{height:126px}.stage-track{min-height:58px}.stage{line-height:1.4}.header-progress{margin-top:8px}.page{padding:18px 22px}}

.stage br{display:none}@media(max-width:700px){.stage br{display:block}.stage{white-space:nowrap}}

.privacy-page{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.privacy-page .legal-body{padding-bottom:24px}

footer[hidden]{display:flex!important;visibility:hidden;pointer-events:none}

.contact-reminder{margin-top:0}.warning{color:#963c33;border-left:4px solid #963c33}.address-page{overflow-y:auto}.legal-page.privacy-page{font-size:18px}.legal-page.privacy-page .legal-body{padding-bottom:24px}

/* Fixed single-screen pages: adapt type and spacing instead of splitting or scrolling. */
.legal-page,.address-page{overflow:hidden!important;font-size:var(--fit-size,18px);padding:14px 20px;line-height:1.35}
.legal-page .legal-body{font-size:inherit;line-height:1.35;white-space:pre-wrap;padding-bottom:0!important}
.legal-page h1,.address-page h1{font-size:24px;margin:4px 0 10px}
.legal-page .tag,.address-page .tag{font-size:16px}
.address-page label,.address-page small,.address-page .note{font-size:inherit;margin-bottom:10px}
.address-page input,.address-page select,.address-page textarea{font-size:16px;min-height:40px;padding:7px 10px;margin-top:3px}
.address-page textarea{height:64px}.address-page .note{padding:8px 10px;margin-top:6px;line-height:1.3}
.legal-page.privacy-page{font-size:var(--fit-size,18px)}

.legal-page .legal-body{white-space:normal}.legal-page .legal-body p{font-size:inherit;line-height:inherit;margin:0;white-space:normal}
@media(max-width:700px){.legal-page .legal-body{line-height:1.4}.legal-page .legal-body p{margin:0 0 6px}.legal-page .legal-body p:last-child{margin-bottom:0}.address-page label{margin-bottom:16px;font-size:var(--fit-size,16px)}.address-page .note{margin-top:12px}.address-page input,.address-page select,.address-page textarea{font-size:16px}.address-page h1{margin-bottom:14px}}

/* Desktop reading layout; phone rules remain unchanged. */
@media(min-width:701px){
.page:not(.opening){max-width:1060px;padding:24px 40px;line-height:1.6}
.page:not(.opening) h1{font-size:32px;margin:6px 0 18px}
.legal-page .legal-body{max-width:none;line-height:1.55}
.legal-page .legal-body p{margin:0 0 9px;padding-left:24px;text-indent:-24px}
.legal-page .legal-body p:last-child{margin-bottom:0}
.address-page label{font-size:20px;margin-bottom:18px}
.address-page input,.address-page select,.address-page textarea{font-size:20px;padding:11px 14px;min-height:48px}
.address-page textarea{height:82px}.address-page .note{font-size:20px;padding:14px 18px;line-height:1.5}
.confirmation{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-content:start}
.confirmation>.tag,.confirmation>h1,.confirmation>.note,.confirmation>.submit-consent{grid-column:1/-1}
.confirmation .review-row{font-size:20px;line-height:1.55;padding:10px 0;grid-template-columns:130px 1fr}
}
@media(min-width:701px) and (max-height:780px){
.page:not(.opening){padding:16px 32px}.page:not(.opening) h1{font-size:28px;margin-bottom:12px}
.legal-page .legal-body{line-height:1.4}.legal-page .legal-body p{margin-bottom:6px}
.address-page label{font-size:18px;margin-bottom:10px}.address-page input,.address-page select,.address-page textarea{font-size:18px;min-height:42px;padding:8px 12px}.address-page textarea{height:64px}.address-page .note{font-size:18px;padding:10px 14px}
.confirmation .review-row{font-size:18px;padding:6px 0}.confirmation{gap:6px 24px}
}

.merged-confirmation{overflow-y:auto}.merged-confirmation .submit-consent{margin-top:8px}.merged-confirmation .consent{margin-top:10px}.merged-confirmation .warning{margin-top:0;margin-bottom:8px}.merged-confirmation .review-row{padding:6px 0}@media(max-width:700px){.merged-confirmation{padding:16px 20px}.merged-confirmation h1{font-size:25px;margin-bottom:12px}.merged-confirmation .review-row{font-size:16px;line-height:1.4}.merged-confirmation .note,.merged-confirmation .consent{font-size:16px}}

@media(min-width:701px){.merged-confirmation{gap:6px 26px}.merged-confirmation .review-row{padding:4px 0;line-height:1.4}.merged-confirmation .submit-consent .note{margin:8px 0;padding:10px 14px}}

.thanks #success-copy{margin-top:8px}

.thanks-footer .actions{width:100%;justify-content:flex-end}.thanks-footer button{white-space:nowrap}@media(max-width:700px){.thanks-footer .actions{gap:8px}.thanks-footer button{padding:10px 12px;font-size:16px;flex:1}.thanks-footer{padding-left:12px;padding-right:12px}}
@media(max-width:700px) and (max-height:740px){.legal-page .legal-body{line-height:1.3}.legal-page .legal-body p{margin-bottom:4px}}
@media(max-width:700px) and (max-height:740px){.legal-page{padding-top:10px;padding-bottom:10px}.legal-page h1{margin-bottom:6px}.legal-page .legal-body p{margin-bottom:3px}}

.legal-page.expanded-rules{overflow-y:auto!important;overscroll-behavior:contain;font-size:20px!important;-webkit-overflow-scrolling:touch}.expanded-rules .legal-body{line-height:1.6!important}.expanded-rules .legal-body p{margin-bottom:14px!important}.expanded-rules .legal-body p:last-child{padding-bottom:12px}@media(max-width:700px){.legal-page.expanded-rules{font-size:16px!important}.expanded-rules .legal-body{line-height:1.6!important}.expanded-rules .legal-body p{margin-bottom:12px!important}}

.field-error{display:block;color:#963c33;font-size:16px;font-weight:normal;margin-top:6px;line-height:1.4}.page[data-single="true"]:not(.address-page):not(.legal-page){overscroll-behavior:contain}.page input,.page select,.page textarea{scroll-margin-top:20px;scroll-margin-bottom:28px}

.address-page:focus-within{overflow-y:auto!important}

#status.duplicate-alert{width:100%;text-align:center;font-size:22px;font-weight:800;color:#963c33;line-height:1.5;padding:10px 14px;border-radius:10px;background:#fff0ea}footer:has(.duplicate-alert){flex-wrap:wrap}footer:has(.duplicate-alert) .actions{margin-left:auto}#edit-invoice{background:white;color:#963c33;border-color:#963c33}
@media(max-width:700px){#status.duplicate-alert{font-size:20px}.actions:has(#edit-invoice:not([hidden])){flex-wrap:wrap;width:100%;justify-content:flex-end}.actions #edit-invoice:not([hidden]){flex-basis:100%;margin-bottom:2px}.keyboard-open .frame{position:fixed;top:var(--keyboard-top,0px);left:0;right:0;height:var(--keyboard-height,100dvh);width:100%;max-width:none;border-radius:0}.keyboard-open header,.keyboard-open footer{display:none!important}.keyboard-open .page[data-single="true"]{overflow-y:auto!important}.keyboard-open .page{scroll-behavior:auto;padding-top:12px;padding-bottom:24px}.keyboard-open .page input,.keyboard-open .page select,.keyboard-open .page textarea{font-size:18px}}
