/* Service pages reuse platform.css for the hero, containers, measurement rows,
   cards, workflow, typography and responsive layout. Only service-specific visuals
   and the screenshot viewer need rules here. The engine keeps its original styles. */
.service-page .desktop-nav a[aria-current="page"]{color:var(--accent-dark)}
.service-page .measurement-heading h2{margin-top:0}
.service-page .measurement-heading .title-accent,.service-page .section-heading .title-accent{background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.service-page .publishing-inner{padding-top:24px}
.service-page .publishing-copy .service-intro{max-width:48ch;margin-top:25px;color:var(--muted);font-size:15px;line-height:1.7}
.service-page .service-art{min-width:0;margin:0}
.service-page .service-art img{display:block;width:100%;height:auto;filter:none}
.service-page .method-visual.service-art{min-height:0}
.service-page .section-heading h2 br{display:none}
.service-page .section-heading>p{max-width:65ch;margin-inline:auto;text-align:center}
.service-page .service-library,.service-page .service-collaboration{padding:0 0 84px}
.service-panel{padding:22px;border:1px solid var(--line);border-radius:10px;background:#f8faff}
.service-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;font-size:14px;line-height:1.5}
.service-panel-heading>span{color:var(--muted);font-size:13px}
.service-review{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.service-review li{padding:16px 0;border-top:1px solid var(--line)}
.service-review span{display:block;margin-bottom:12px;color:var(--accent-dark);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
.service-review strong{font-size:15px;font-weight:650}
.service-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-channels>div{display:grid;justify-items:start;align-content:start;gap:10px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#f8faff}
.service-channels strong{font-size:22px;font-weight:720;letter-spacing:-.02em}
.service-channels div>span:last-child{color:var(--muted);font-size:14px}
.service-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}
.service-platforms>span{display:flex;align-items:center;gap:10px;font-size:14px}
.service-platforms img{display:block;flex:none;object-fit:contain}
.service-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:22px 26px;border:1px solid var(--line);border-radius:10px;background:#f8faff}
.service-delivery div{display:grid;gap:8px}
.service-delivery strong{color:var(--accent-dark);font-size:42px;font-weight:720;line-height:1.2;font-variant-numeric:tabular-nums}
.service-delivery span{font-size:15px;color:var(--ink-soft)}
.service-delivery>p{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.service-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-role-grid .component-card{min-height:0;gap:8px}
.service-note{max-width:90ch;margin:24px auto 0;color:var(--muted);font-size:14px;line-height:1.7;text-align:center}
.service-page .story-shot{border-color:var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:none}
.service-page .story-shot figcaption{color:var(--muted);font-size:13px}
@media(max-width:760px){
  .service-page .publishing-inner{padding-top:0}
  .service-page .service-library,.service-page .service-collaboration{padding-bottom:60px}
  .service-panel{padding:18px}
  .service-platforms{gap:14px 12px}
  .service-platforms>span{gap:7px;font-size:13px}
  .service-channels>div{padding:20px}
  .service-role-grid{grid-template-columns:1fr}
  .service-note{text-align:left}
}
@media(max-width:420px){
  .service-review{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
  .service-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-panel-heading{align-items:start;gap:12px}
  .service-delivery{padding:20px;gap:20px}
  .service-channels{gap:12px}
  .service-channels>div{padding:16px}
  .service-channels strong{font-size:20px}
}

/* Match the original /engine hero without changing the service body layout. */
.service-page .site-header{margin-bottom:-57px}
.service-page .hero{display:flex;align-items:center;justify-content:center;min-height:520px;padding:156px 28px 24px;text-align:center}
.service-page .hero-copy{width:100%;max-width:1040px;margin:0 auto}
.service-page .hero h1{color:#000;font-size:clamp(42px,5vw,68px);line-height:1.18;letter-spacing:-.045em}
.service-page .hero-summary{max-width:670px;margin:25px auto 0;font-size:17px;line-height:1.75;text-wrap:balance}
.service-page .hero-iridescence{opacity:.13}
@media(max-width:800px){.service-page .hero{padding:112px 24px 24px}}
@media(max-width:760px){.service-page .hero{min-height:470px;padding-bottom:20px}}
@media(max-width:520px){
  .service-page .hero{min-height:430px;padding:96px 20px 20px}
  .service-page .hero h1{margin-top:29px;font-size:clamp(31px,8.2vw,40px)}
  .service-page .hero-summary{font-size:15px;line-height:1.8}
}

/* Workflow detail content follows the public site's type and spacing system.
   Card materials live in public-glass.css so all public pages share one source. */
.service-workflow .intro-section{padding-block:76px}
.service-workflow .intro-grid{display:grid;gap:20px}
.service-workflow .intro-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-workflow .intro-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-workflow .intro-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-workflow .intro-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:16px;padding:30px;overflow-wrap:anywhere}
.service-workflow .intro-kicker{color:var(--accent-dark);font-size:13px;font-weight:650;line-height:1.5}
.service-workflow .intro-card h3{width:100%;font-size:22px;line-height:1.45;letter-spacing:-.02em}
.service-workflow .intro-card>p,.service-workflow .intro-inset p,.service-workflow .intro-facts dd,.service-workflow .intro-checklist{color:var(--ink-soft);font-size:15px;line-height:1.8}
.service-workflow .intro-link{display:inline-flex;min-height:44px;align-items:center;gap:12px;color:var(--accent-dark);font-size:14px;font-weight:650;line-height:1.6}
.service-workflow .intro-link:hover{color:var(--ink)}
.service-workflow .intro-card>.intro-link{margin-top:auto}
.service-workflow .intro-inset{width:100%;padding:18px 20px}
.service-workflow .intro-inset>span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;line-height:1.6}
.service-workflow .intro-inset p{color:var(--ink)}
.service-workflow .intro-facts{display:grid;width:100%;gap:14px}
.service-workflow .intro-facts>div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:12px}
.service-workflow .intro-facts dt{padding-top:2px;color:var(--muted);font-size:13px;line-height:1.8}
.service-workflow .intro-checklist{display:grid;gap:10px;margin:0;padding-left:1.2em}
.service-workflow .intro-checklist li::marker{color:var(--accent-dark)}
.service-workflow .intro-card>.intro-card-note{color:var(--muted);font-size:13px;line-height:1.8}
.service-workflow .intro-note{max-width:760px;margin:28px auto 0;color:var(--muted);font-size:13px;line-height:1.8;text-align:center}
.service-workflow .intro-steps{margin:0;padding:0;list-style:none}
.service-workflow .intro-steps .intro-card{padding:24px}
.service-workflow .intro-steps h3{font-size:20px}
.service-workflow .intro-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;margin-top:28px}
.service-workflow .intro-section-actions>span{color:var(--muted);font-size:13px;line-height:1.8}
.service-workflow .workflow-handoff{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px 28px}
.service-workflow .workflow-handoff>div{min-width:0}
.service-workflow .workflow-handoff strong{color:var(--ink);font-size:14px;line-height:1.6}
.service-workflow .workflow-handoff p{margin-top:8px;color:var(--ink-soft);font-size:14px;line-height:1.8}
.service-workflow .workflow-handoff>.intro-link{flex-shrink:0}
.service-workflow .workflow-gap-list>div+div{padding-top:12px;border-top:1px solid var(--public-glass-line)}
.service-workflow .workflow .intro-link{margin-top:8px}
.service-workflow .intro-section .section-heading>.intro-kicker{color:#000;font-size:14px;font-weight:650}
@media(max-width:1000px){
  .service-workflow .intro-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-workflow .intro-card{padding:24px}
  .service-workflow .intro-grid-three{gap:16px}
  .service-workflow .intro-grid-three .intro-card{padding:22px}
  .service-workflow .intro-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media(max-width:760px){
  .service-workflow .intro-section{padding-block:50px}
  .service-workflow .intro-grid-three{grid-template-columns:minmax(0,1fr)}
  .service-workflow .intro-section .section-heading{margin-bottom:32px}
  .service-workflow .workflow-handoff{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 24px}
}
@media(max-width:560px){
  .service-workflow .intro-grid-two,.service-workflow .intro-grid-four{grid-template-columns:minmax(0,1fr)}
  .service-workflow .intro-grid{gap:16px}
  .service-workflow .intro-card,.service-workflow .intro-grid-three .intro-card,.service-workflow .intro-steps .intro-card{padding:24px}
  .service-workflow .intro-card h3{font-size:21px}
  .service-workflow .intro-section-actions{align-items:flex-start;flex-direction:column;gap:12px}
  .service-workflow .intro-note{text-align:left}
}

/* Workflow headings use concise, single-line titles throughout the page. */
body.public-site.service-workflow :is(h1,h2,h3){color:#000;-webkit-text-fill-color:#000}
body.public-site.service-workflow h2{font-size:clamp(24px,3.7vw,54px);white-space:nowrap}
body.public-site.service-workflow h1{white-space:nowrap}
body.public-site.service-workflow :is(.intro-kicker,.workflow-handoff strong){color:#000}

/* Publishing explains platform identity before service delivery. Materials are shared. */
.service-publishing .authority-section{padding-block:68px}
.service-publishing .authority-platforms{gap:20px}
.service-publishing .authority-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-publishing :is(.authority-platform,.authority-card){min-height:0;gap:18px;padding:30px}
.service-publishing :is(.authority-platform,.authority-card) h3{max-width:none;margin:0;font-size:22px;line-height:1.45}
.service-publishing :is(.authority-platform,.authority-card) p{max-width:65ch;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.8}
.service-publishing .authority-kicker{color:var(--muted);font-size:13px;font-weight:550;line-height:1.7}
.service-publishing .authority-platform h3{font-size:34px;line-height:1.3}
.service-publishing .authority-platform .authority-logo-heading{display:flex;min-height:66px;align-items:center}
.service-publishing .authority-logo-plus{display:block;width:96px;height:66px;background:#e60012;-webkit-mask:url('/assets/foshan-plus-logo.png') left center / contain no-repeat;mask:url('/assets/foshan-plus-logo.png') left center / contain no-repeat}
.service-publishing .authority-logo-online{display:block;width:auto;max-width:100%;height:66px;object-fit:contain;object-position:left center}
.service-publishing .authority-facts{display:grid;gap:16px;margin:0}
.service-publishing .authority-facts>div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:12px}
.service-publishing .authority-facts dt{padding-top:2px;color:var(--muted);font-size:13px;line-height:1.8}
.service-publishing .authority-facts dd{color:var(--ink-soft);font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.service-publishing :is(.authority-link,.authority-facts a){color:var(--accent-dark);font-size:14px;font-weight:650;line-height:1.7}
.service-publishing .authority-link{display:inline-flex;min-height:44px;align-items:center;gap:10px}
.service-publishing .authority-platform>.authority-link{margin-top:auto}
.service-publishing :is(.authority-link,.authority-facts a):hover{color:var(--ink)}
.service-publishing .authority-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;min-height:0;margin-top:24px;padding:30px}
.service-publishing .authority-evidence>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:12px}
.service-publishing .authority-evidence h3{max-width:none;margin:0;font-size:20px;line-height:1.5}
.service-publishing .authority-evidence p{max-width:65ch;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.8}
.service-publishing .authority-evidence .authority-link{margin-top:auto}
.service-publishing .authority-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;margin-top:28px}
.service-publishing .authority-actions>span{color:var(--muted);font-size:13px;line-height:1.8}
body.public-site.service-publishing :is(h1,h2,h3){color:#000;-webkit-text-fill-color:#000}
body.public-site.service-publishing :is(main,.site-footer) h2{font-size:clamp(24px,3.7vw,54px);white-space:nowrap}
body.public-site.service-publishing h1{white-space:nowrap}
@media(max-width:1000px){
  .service-publishing :is(.authority-platform,.authority-card,.authority-evidence){padding:24px}
  .service-publishing .authority-three{gap:16px}
  .service-publishing .authority-three h3{font-size:19px}
}
@media(max-width:760px){
  .service-publishing .authority-section{padding-block:48px}
  .service-publishing :is(.authority-three,.authority-evidence){grid-template-columns:minmax(0,1fr)}
  .service-publishing .authority-evidence{gap:28px}
  .service-publishing .authority-evidence>div+div{padding-top:24px;border-top:1px solid var(--public-glass-line)}
  .service-publishing .authority-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .service-publishing .authority-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column}
  .service-publishing .authority-section .section-heading{margin-bottom:32px}
}
