.agency-nav-button { height:42px; padding:0 19px; border:0; border-radius:10px; background:transparent; color:#52647d; font-weight:650; white-space:nowrap; }
.agency-nav-button:hover { background:#eef7f4; color:#12805f; }
.agency-contact-link { border:0; background:transparent; color:#2262a3; padding:7px 3px; font-size:13px; font-weight:600; }
.agency-contact-link:hover { color:#12805f; text-decoration:underline; text-underline-offset:4px; }
.agency-login-entry { margin:8px 0 0; text-align:center; }
.agency-about-button { margin:12px 0 0 12px; padding:10px 14px; color:#166f55; background:#eef8f4; border:1px solid #d2eade; border-radius:8px; }
.agency-mobile-entry { display:none; }
.agency-contact-dialog { box-sizing:border-box; width:min(1000px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:auto; border:1px solid #e2eaf2; border-radius:22px; background:#fff; color:#15304b; box-shadow:0 24px 90px #102a4540; scrollbar-gutter:stable; }
.agency-contact-dialog *, .agency-contact-dialog *::before, .agency-contact-dialog *::after { box-sizing:border-box; }
.agency-contact-dialog::backdrop { background:rgba(20,40,63,.46); backdrop-filter:blur(4px); }
.agency-contact-heading { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 30px 18px; border-bottom:1px solid #e6edf3; background:#fff; }
.agency-contact-eyebrow { font-size:11px; font-weight:650; letter-spacing:.1em; color:#588277; }
.agency-contact-heading h2 { margin:6px 0 0; color:#16354d; font-size:24px; line-height:1.3; }
.agency-contact-close { flex:0 0 36px; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#f1f5f8; color:#738496; font-size:25px; line-height:1; }
.agency-contact-close:hover { background:#e5edf3; color:#214760; }
.agency-contact-body { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:0 30px; align-items:start; padding:30px; }
.agency-recruit-hero { grid-column:1; margin:0 0 27px; }
.agency-section-kicker { color:#16805d; font-size:11px; font-weight:700; letter-spacing:.07em; }
.agency-recruit-hero h3 { margin:10px 0 12px; font-size:32px; font-weight:750; line-height:1.35; letter-spacing:-.03em; color:#123e37; }
.agency-recruit-hero p { margin:0; font-size:14px; line-height:1.9; color:#5c7185; }
.agency-contact-topics { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 0; }
.agency-contact-topics span { padding:5px 10px; border:1px solid #deebe6; border-radius:20px; background:#f3f9f6; color:#4b7062; font-size:11px; }
.agency-contact-aside { position:sticky; top:126px; grid-column:2; grid-row:1 / span 2; min-width:0; }
.agency-wechat-card { display:flex; flex-direction:column; align-items:center; padding:21px 16px 12px; border:1px solid #cfe5d9; border-radius:16px; background:linear-gradient(145deg,#eef9f3,#fbfefd); }
.agency-wechat-symbol { display:grid; place-items:center; width:44px; height:44px; margin-bottom:12px; border:1px solid #cce6d7; border-radius:14px; background:#def3e7; color:#168b5d; }
.agency-wechat-symbol svg { width:29px; height:29px; }
.agency-wechat-card > strong { font-size:17px; font-weight:700; }
.agency-wechat-intro { margin:9px 0 0; color:#658374; font-size:11px; }
.agency-wechat-label { margin:22px 0 3px; color:#698071; font-size:11px; }
.agency-wechat-id { width:100%; min-width:0; margin:0; padding:6px 0 10px; border:0; border-radius:0; background:transparent; color:#173f32; text-align:center; font-family:inherit; font-size:22px; font-weight:750; box-shadow:none; cursor:text; }
.agency-copy-wechat { width:100%; min-height:44px; margin-top:8px; padding:11px 16px; border:0; border-radius:10px; background:#168f62; color:#fff; font-size:14px; font-weight:650; box-shadow:0 5px 12px #12805918; }
.agency-copy-wechat:hover { background:#10794f; }
.agency-copy-wechat:disabled { opacity:.48; }
.agency-contact-status { min-height:38px; margin:12px 0 0; color:#6a7d74; font-size:11px; line-height:1.8; text-align:center; }
.agency-contact-note { margin:18px 2px 0; padding:0; }
.agency-contact-note strong { font-size:12px; font-weight:650; }
.agency-contact-note p { margin:6px 0 0; color:#718095; font-size:12px; line-height:1.8; }
.agency-terms-note { margin:15px 2px 0; padding-top:13px; border-top:1px solid #e9eef1; color:#809084; font-size:11px; line-height:1.85; }
.agency-recruit-main { grid-column:1; min-width:0; }
.agency-recruit-section { margin:0 0 28px; padding-top:22px; border-top:1px solid #e6edf0; }
.agency-recruit-section h3 { margin:8px 0 16px; color:#183c4b; font-size:18px; line-height:1.6; }
.agency-audience-list { display:grid; gap:15px; margin:0; padding:0; list-style:none; }
.agency-audience-list li { position:relative; padding-left:17px; }
.agency-audience-list li::before { position:absolute; content:''; top:7px; left:0; width:6px; height:6px; border-radius:50%; background:#48a681; }
.agency-audience-list strong { display:block; font-size:13px; font-weight:650; }
.agency-audience-list span { display:block; margin-top:5px; color:#748392; font-size:12px; line-height:1.8; }
.agency-models { display:grid; gap:10px; }
.agency-models article { padding:16px 18px; border:1px solid #e5ecef; border-radius:12px; background:#fafcfd; }
.agency-models article > span { font-size:11px; color:#278263; }
.agency-recruit-main h4 { margin:6px 0; color:#254558; font-size:14px; font-weight:650; line-height:1.6; }
.agency-models p, .agency-support-grid p { margin:6px 0 0; color:#748392; font-size:12px; line-height:1.9; }
.agency-support-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; }
.agency-support-grid h4 { margin-top:0; }
.agency-process { display:grid; gap:16px; list-style:none; counter-reset:agency-step; margin:0; padding:0; }
.agency-process li { position:relative; counter-increment:agency-step; padding-left:40px; }
.agency-process li::before { position:absolute; content:counter(agency-step,decimal-leading-zero); left:0; top:0; display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:#258163; background:#eff7f3; font-size:11px; font-weight:700; }
.agency-process strong { display:block; color:#254558; font-size:13px; line-height:1.7; }
.agency-process span { display:block; margin-top:4px; color:#748392; font-size:12px; line-height:1.8; }
.agency-faq { margin-bottom:0; }
.agency-faq details { border-bottom:1px solid #e9eef1; }
.agency-faq summary { padding:14px 0; color:#315366; font-size:13px; line-height:1.8; cursor:pointer; }
.agency-faq p { margin:0 0 16px; color:#748392; font-size:12px; line-height:1.9; }
.agency-recruit-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; padding:18px; border-radius:12px; background:#f1f8f4; }
.agency-recruit-footer strong { color:#386451; font-size:12px; line-height:1.8; }
.agency-jump-contact { min-height:44px; border:0; border-radius:8px; padding:10px 14px; color:#fff; background:#168f62; font-size:15px; font-weight:650; white-space:nowrap; }
.agency-reveal-contact { width:100%; margin:12px 0; }
.agency-jump-contact:hover { background:#10794f; }
.agency-qr { margin-top:16px; text-align:center; }
.agency-qr[hidden] { display:none; }
.agency-qr img { display:block; width:180px; max-width:100%; height:auto; margin:auto; padding:8px; border:1px solid #e0e9e3; border-radius:10px; background:white; }
.agency-qr span { display:block; margin-top:8px; color:#718174; font-size:12px; }
.agency-contact-dialog :is(button,input,summary):focus-visible { outline:3px solid #168f623b; outline-offset:3px; }
@media(max-width:800px) {
  .agency-nav-button { display:none; }
  .agency-mobile-entry { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 12px 12px; padding:12px 16px; border:1px solid #dce9e4; border-radius:13px; background:#f9fdfa; }
  .agency-mobile-entry > div { display:grid; gap:3px; min-width:0; }
  .agency-mobile-entry strong { font-size:13px; color:#215749; }
  .agency-mobile-entry span { font-size:11px; line-height:1.7; color:#73877e; }
  .agency-mobile-entry .agency-contact-link { flex-shrink:0; color:#16815b; font-size:12px; }
  .agency-contact-body { grid-template-columns:minmax(0,1fr) 242px; gap:0 24px; padding:24px; }
  .agency-recruit-hero h3 { font-size:27px; }
}
@media(max-width:640px) {
  .agency-contact-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:18px; scrollbar-gutter:auto; }
  .agency-contact-heading { padding:17px 20px 14px; }
  .agency-contact-eyebrow { font-size:10px; }
  .agency-contact-heading h2 { font-size:21px; }
  .agency-contact-body { display:flex; flex-direction:column; gap:0; padding:22px 20px; }
  .agency-recruit-hero { margin-bottom:22px; }
  .agency-recruit-hero h3 { margin:9px 0 10px; font-size:26px; }
  .agency-recruit-hero p { font-size:13px; line-height:1.9; }
  .agency-contact-topics { margin-top:15px; gap:6px; }
  .agency-contact-topics span { padding:4px 8px; font-size:10px; }
  .agency-contact-aside { position:static; width:100%; margin-bottom:26px; }
  .agency-wechat-card { padding:18px 14px 10px; }
  .agency-wechat-symbol { display:none; }
  .agency-wechat-intro { margin-top:7px; }
  .agency-wechat-label { margin-top:15px; }
  .agency-wechat-id { font-size:22px; }
  .agency-contact-note { margin-top:14px; }
  .agency-recruit-section { margin-bottom:26px; padding-top:20px; }
  .agency-recruit-section h3 { font-size:17px; }
  .agency-support-grid { grid-template-columns:1fr; gap:18px; }
  .agency-about-button { display:block; margin:12px 0 0; }
  .agency-qr img { width:165px; }
}
