/* Page-specific layouts keep the other website pages unchanged. */
body[data-page="dingtalk"] .hero-copy { max-width:760px; }
body[data-page="dingtalk"] .hero h1 { font-size:60px; }
body[data-page="dingtalk"] .hero-kicker { font-size:15px; letter-spacing:0; }
body[data-page="dingtalk"] .btn { background:#075acb; }
body[data-page="dingtalk"] .btn.secondary { background:rgba(5,24,47,.55); }
body[data-page="dingtalk"] a:focus-visible,
body[data-page="dingtalk"] button:focus-visible,
.office-panel:focus-visible { outline:3px solid #0d7cd7; outline-offset:5px; }
.service-soft { background:#f5f8fc; }
.service-partner { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:#37628b; font-size:14px; font-weight:650; }
.service-partner svg { width:20px; height:20px; }
.service-overview .section-head { margin-bottom:32px; }
.service-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-nav a { padding:28px 24px; border-right:1px solid var(--line); transition:background .2s; }
.service-nav a:first-child { padding-left:0; }
.service-nav a:last-child { border-right:0; }
.service-nav a:hover { background:#f5f8fc; }
.service-nav a > svg { width:30px; height:30px; color:#075acb; }
.service-nav h3 { margin:20px 0 10px; font-size:23px; }
.service-nav p { min-height:48px; margin:0; color:#56677b; font-size:14px; line-height:1.7; }
.service-nav span { display:flex; align-items:center; gap:14px; margin-top:18px; color:#075acb; font-size:13px; font-weight:650; }
.service-nav span svg { width:16px; height:16px; }
.service-product,.yida-delivery,.agent-delivery { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:56px; }
.service-copy .section-title { font-size:34px; line-height:1.4; }
.service-copy .section-intro { margin-left:0; font-size:16px; }
.service-copy .cap-list { margin-top:24px; }
.service-copy .cap-row p { color:#56677b; font-size:14px; }
.service-image { margin:0; min-width:0; }
.service-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:top; border:1px solid var(--line); border-radius:5px; }
.yida-apps { display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; }
.yida-apps svg { width:28px; height:28px; color:#075acb; }
.yida-apps h3 { margin:16px 0 8px; font-size:19px; }
.yida-apps p { margin:0; color:#56677b; font-size:14px; line-height:1.8; }
.service-deliverable { display:flex; flex-wrap:wrap; gap:12px 24px; margin:34px 0 0; padding-top:24px; border-top:1px solid var(--line); color:#56677b; font-size:14px; line-height:1.8; }
.service-deliverable strong { color:var(--ink); }
.qwen-section { background:#edf5f4; }
.qwen-section .eyebrow { color:#12695d; letter-spacing:0; }
.qwen-section .section-intro { color:#526d68; }
.qwen-product { margin:0; }
.qwen-product > img { width:100%; height:auto; border:1px solid #d0e0db; border-radius:6px; }
.qwen-product figcaption { display:flex; justify-content:space-between; gap:16px; margin-top:12px; color:#526d68; font-size:12px; }
.qwen-product figcaption a { display:inline-flex; align-items:center; gap:4px; color:#12695d; }
.qwen-product figcaption svg { width:14px; height:14px; }
.office-access { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:36px; }
.office-access > div { display:grid; grid-template-columns:24px 1fr; gap:8px 12px; align-content:start; }
.office-access svg { width:24px; height:24px; color:#12695d; }
.office-access h3 { margin:0; font-size:17px; }
.office-access p { grid-column:2; margin:0; color:#526d68; font-size:14px; line-height:1.7; }
.office-scenarios { margin-top:56px; }
.office-heading { margin:0 0 22px; font-size:26px; }
.office-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; border-bottom:1px solid #c5dcd6; }
.office-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:58px; padding:12px 8px; border:0; border-bottom:3px solid transparent; color:#526d68; background:transparent; font-weight:650; }
.office-tabs button svg { width:20px; height:20px; flex-shrink:0; }
.office-tabs button:hover { color:#12695d; background:#e2eeeb; }
.office-tabs button[aria-selected="true"] { color:#0d5c50; border-color:#12695d; }
.office-panel { min-height:240px; padding:32px 0 20px; }
.office-panel[hidden] { display:none; }
.office-panel h4 { margin:0 0 12px; font-size:24px; line-height:1.5; }
.office-panel > p { max-width:860px; margin:0; color:#526d68; line-height:1.8; }
.office-panel dl { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:24px; margin:28px 0 0; }
.office-panel dt { color:#12695d; font-size:12px; font-weight:700; }
.office-panel dd { margin:8px 0 0; color:#304d46; font-size:14px; line-height:1.8; }
.office-workflow { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; padding-top:28px; border-top:1px solid #c5dcd6; }
.office-workflow span { display:flex; align-items:center; gap:8px; color:#304d46; font-size:14px; font-weight:650; }
.office-workflow svg { width:20px; height:20px; flex-shrink:0; color:#12695d; }
.office-workflow > svg { width:16px; color:#6c938a; }
.agent-principles { display:grid; gap:28px; }
.agent-principles article { display:grid; grid-template-columns:28px 1fr; gap:8px 14px; }
.agent-principles svg { width:28px; height:28px; color:#075acb; }
.agent-principles h3 { margin:0; font-size:19px; }
.agent-principles p { grid-column:2; margin:0; color:#56677b; line-height:1.8; font-size:14px; }
.role-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:42px; padding-top:28px; border-top:1px solid var(--line); }
.role-services h3 { margin:0 0 10px; font-size:18px; }
.role-services p { margin:0; color:#56677b; font-size:14px; line-height:1.8; }
.delivery-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin:0; padding:0; list-style:none; }
.delivery-path li { padding-top:22px; border-top:2px solid #c7d9ee; }
.delivery-path span { color:#075acb; font-size:14px; font-weight:700; }
.delivery-path h3 { margin:16px 0 12px; font-size:21px; }
.delivery-path p { margin:0; min-height:76px; color:#56677b; font-size:14px; line-height:1.8; }
.delivery-path strong { display:block; margin-top:20px; color:#345477; font-size:13px; font-weight:550; line-height:1.8; }
#exclusive,#yida,#qwenwork,#agents,#delivery { scroll-margin-top:24px; }
@media (max-width:1080px) {
  .service-product,.yida-delivery,.agent-delivery { gap:32px; }
  .service-nav a { padding:24px 16px; }
  .service-nav h3 { font-size:21px; }
  .office-workflow span { font-size:12px; gap:5px; }
}
@media (max-width:820px) {
  body[data-page="dingtalk"] .hero h1 { font-size:45px; }
  .service-nav { grid-template-columns:1fr 1fr; }
  .service-nav a { padding:24px; }
  .service-nav a:first-child { padding-left:24px; }
  .service-nav a:nth-child(2) { border-right:0; }
  .service-nav a:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-product,.yida-delivery,.agent-delivery { grid-template-columns:1fr; }
  .office-access,.role-services { gap:24px; }
  .office-panel dl { grid-template-columns:1fr; gap:18px; }
  .office-panel { min-height:408px; }
  .office-workflow { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .office-workflow > svg { display:none; }
  .office-workflow span { font-size:14px; }
  .delivery-path { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:560px) {
  body[data-page="dingtalk"] .hero h1 { font-size:38px; }
  .service-copy .section-title { font-size:28px; }
  .service-nav a,.service-nav a:first-child { padding:24px 14px; }
  .service-nav h3 { min-height:56px; font-size:20px; line-height:1.4; }
  .service-nav p { min-height:72px; font-size:13px; }
  .office-access,.role-services { grid-template-columns:1fr; }
  .office-scenarios { margin-top:40px; }
  .office-heading { font-size:23px; }
  .office-tabs { grid-template-columns:1fr 1fr; gap:0; }
  .office-tabs button { min-height:52px; }
  .office-panel { min-height:410px; padding-top:24px; }
  .office-panel h4 { font-size:21px; }
  .office-panel > p { font-size:14px; }
  .office-workflow { gap:20px 12px; }
  .office-workflow span { font-size:12px; }
  .yida-apps { gap:24px 16px; }
  .delivery-path { gap:32px 20px; }
  .delivery-path h3 { font-size:19px; }
  .delivery-path p { min-height:102px; }
}
