/* Service invitation layout: keep the official logo's original proportions. */
.login-scene{padding:18px 20px 30px}
.login-scene .hero{margin:30px 0 25px}
.login-scene .hero h1{font-family:'Microsoft YaHei',sans-serif;font-size:28px;line-height:1.5;margin:0 0 10px;filter:none}
.login-card{padding:26px 20px;background:#fff9ef;border:0}
.login-card h2{text-align:left;font-size:19px;font-weight:600;letter-spacing:0;margin-bottom:8px}
.login-intro{font-size:12px;line-height:1.8;color:#a0795c;margin:0 0 23px}
.login-card .field input{font-size:16px;min-height:50px;letter-spacing:1px}
.login-card .field input:focus-visible{outline:2px solid #bc7c25;outline-offset:2px}
.login-card .field input[aria-invalid='true']{border-color:#b63732}
.login-card .cta{border-radius:12px}
.login-card .form-error{margin:8px 0 12px;min-height:18px;line-height:1.6}
.login-help{font-size:11px;color:#a0795c;text-align:center;margin:14px 0 0;line-height:1.8}
.brand{gap:12px;letter-spacing:0;min-height:58px}
.brand-logo{width:66px;height:54px;object-fit:contain;border:0;border-radius:0;display:block;flex-shrink:0}
.brand-copy{display:flex;flex-direction:column;gap:7px}
.brand-copy strong{font-size:16px;font-weight:500;letter-spacing:2px;color:#fff5e6}
.brand small{margin:0;font-size:10px;letter-spacing:1px;color:#f2d5bd}
.brand-context{margin-left:auto;font-size:10px;color:#f1cdb8;writing-mode:vertical-rl;letter-spacing:2px;padding-left:10px;border-left:1px solid #ffffff30}
.caption-logo{width:108px;height:auto;display:block}
.scene{container-type:inline-size}
.hero h1{font-size:clamp(30px,10.7cqi,44px);margin:14px 0 12px;letter-spacing:0;line-height:1.4}
.invite-title span{display:block;white-space:nowrap}
.hero-sub{font-size:12px;letter-spacing:2px;line-height:1.8;text-wrap:balance}
.overline{font-size:9px;letter-spacing:2px;line-height:1.7}
.stars{display:flex;gap:8px}.star{font-size:32px;background:transparent;color:#b99e79;padding:0 2px}.star.selected{color:#bc7c25}.rating-hint{font-size:11px;color:#996c48;margin-top:5px}
.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:8px 10px;border:1px solid #e3cfb4;border-radius:20px;background:#fffaf1;color:#88604d;font-size:11px}.tag.active{background:#a62b2e;color:#fff8ea;border-color:#a62b2e}
.field textarea{width:100%;resize:vertical;font:inherit;font-size:12px;padding:12px;border:1px solid #e5cfa8;border-radius:7px;background:#fffaf0;color:#73422f;line-height:1.7}
.reward-promise{font-size:10px;line-height:1.8;margin-top:14px;text-align:center}.space-top{margin-top:12px}
.brand-logo{width:92px;height:76px}
.brand{gap:16px}
.brand-context{writing-mode:horizontal-tb;letter-spacing:0;line-height:1.6;max-width:42px}
.portrait-card{width:100%;max-width:none;margin:22px auto 0;padding:15px;display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:13px;background:#fff8ee;border:1px solid #efd9bf;border-radius:14px;box-shadow:0 4px 14px #590e140d;color:#60332e}
.portrait-card img{display:block;width:52px;height:56px;aspect-ratio:auto;flex-shrink:0;border-radius:10px;object-fit:cover;object-position:center;background:#e9e1d4;border:1px solid #e6dac6}
.portrait-label{position:static;min-width:0;padding:0;background:none;border-radius:0;text-align:left}
.person-eyebrow,.person-service>span{display:block;font-size:10px;font-weight:400;letter-spacing:.5px;line-height:1.6;color:#a1826c}
.person-line{display:block;margin-top:5px}
.person-line strong{display:block;font-size:19px;font-weight:500;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere}
.person-service{min-width:0;border-left:1px solid #eadbca;padding:2px 0 2px 13px}
.person-role{margin-top:6px;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:0;color:#78544a;overflow-wrap:anywhere}
.review-scene{padding:18px 20px 24px;min-height:0}
.review-scene .brand{min-height:76px}
.review-scene .hero{margin-top:18px}
.review-scene .hero h1{font-family:'Microsoft YaHei',sans-serif;font-size:clamp(23px,7.5cqi,29px);font-weight:600;line-height:1.4;margin:0 0 8px;filter:none}
.review-scene .hero-sub{font-size:11px;letter-spacing:1px}
.review-scene .portrait-card{margin-top:18px}
.review-scene .motto{margin:10px 5px 16px;font-size:10px;line-height:1.6;letter-spacing:0;text-wrap:balance}
.review-scene .form-card{padding:18px 16px 15px;border:0;border-radius:16px;background:#fff9ef}
.rating-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rating-heading h2{font-size:14px;letter-spacing:0;font-weight:600;margin:0;text-align:left}
.rating-heading>span{font-size:10px;color:#a47c60}
.review-scene .stars{justify-content:space-between;gap:4px;margin:9px 0 0}
.review-scene .star{font-size:38px;min-width:44px;min-height:48px;line-height:1;padding:0;color:#bba17b}
.review-scene .star.selected{color:#c58a2d}
.review-scene .rating-hint{text-align:center;font-size:10px;margin:2px 0 17px}
.highlights>span{font-size:11px;margin-bottom:9px}
.highlights em{font-style:normal;font-size:10px;color:#ad8c73;margin-left:7px}
.review-scene .tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.review-scene .tag{min-height:36px;padding:8px 5px;border-radius:8px;font-size:11px}
.extra-feedback{border-top:1px solid #ecdfcc;border-bottom:1px solid #ecdfcc;margin-top:16px;padding:12px 0}
.extra-feedback summary{cursor:pointer;font-size:12px;color:#78513e}
.extra-feedback summary span{font-size:10px;color:#ad8c73;margin-left:6px}
.extra-feedback .field{margin-top:12px;margin-bottom:0}
.review-scene .consent{margin-top:13px;font-size:10px;align-items:center;gap:6px}
.review-scene .consent input{width:16px;height:16px;margin:0}
.review-scene .form-error{min-height:0;margin:0;font-size:11px}
.review-scene .form-error:not(:empty){margin:8px 0}
.review-scene .cta{margin-top:12px;border-radius:12px;min-height:46px;padding:12px}
.review-scene .reward-promise{font-size:10px;color:#a0795c;margin-top:10px}
.review-footnote{text-align:center;font-size:9px;color:#e5c2a2;margin-top:17px;line-height:1.6}
@media(max-width:360px){.portrait-card{grid-template-columns:44px minmax(0,1fr) minmax(0,1.05fr);gap:10px;padding:12px}.portrait-card img{width:44px;height:50px}.person-line strong{font-size:17px}.person-service{padding-left:10px}.person-role{font-size:11px}.brand-copy strong{font-size:14px}.brand small{font-size:9px}.hero-sub{letter-spacing:1px}.brand{gap:12px}.brand-logo{width:84px;height:69px}.brand-context{display:none}.review-scene{padding:16px 18px 22px}.review-scene .hero{margin-top:12px}}
