/* Unified editorial rhythm. The page declares pcba-polish before pcba-ds. */
@layer pcba-polish {
 :root {--pp-width:1120px;--pp-space:clamp(56px,6.5vw,88px);--pp-gutter:clamp(20px,3.8vw,48px);--pp-ease:cubic-bezier(.22,.61,.36,1);--ds-shadow-tile:0 2px 10px rgba(0,0,0,.035)!important;--ds-shadow-tile-hover:0 10px 28px rgba(0,0,0,.08)!important;--ds-r-tile:24px!important;--ds-r-panel:24px!important;}
 body {color:#1d1d1f!important;}
 /* Keep the first screen close to the fixed navigation. */
 main:has(>.hero) {padding-top:44px!important;}
 main>.hero {padding-top:48px!important;}
 main .hs-hero {padding-top:40px!important;}
 body.case-detail-page main>.breadcrumbs {padding-top:52px!important;}
 main .case-story__header {padding-top:36px!important;padding-bottom:24px!important;}
 main .case-story__header h1 {font-size:clamp(36px,4.3vw,56px)!important;line-height:1.09!important;}
 @media(max-width:760px) {
  main:has(>.hero) {padding-top:48px!important;}
  main>.hero {padding-top:28px!important;}
  main .hs-hero {padding-top:20px!important;}
  body.case-detail-page main>.breadcrumbs {padding-top:44px!important;}
  main .case-story__header {padding-top:24px!important;padding-bottom:12px!important;}
  main .case-story__header h1 {font-size:34px!important;line-height:1.12!important;}
 }
 main :is(h1,h2,h3,h4) {hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;text-wrap:balance!important;letter-spacing:-.025em!important;}
 main :is(p,li,dd) {line-height:1.6!important;letter-spacing:-.012em!important;}
 :is(.section-container,.hs-container,.case-detail-shell,.case-library-shell) {max-width:var(--pp-width)!important;}
 main :is(.section,.featured-section,.case-library-editorial) {padding-top:var(--pp-space)!important;padding-bottom:var(--pp-space)!important;}
 main .page-hero {padding-top:clamp(64px,7vw,96px)!important;padding-bottom:clamp(44px,5vw,72px)!important;}
 main :is(.hero h1,.page-hero h1,.hs-hero h1,.case-detail-header h1) {font-size:clamp(36px,4.3vw,56px)!important;line-height:1.09!important;margin-bottom:24px!important;}
 main :is(.section-title,.section-header h2,.hs-section>h2,.platform-principles h2) {font-size:clamp(30px,3.3vw,44px)!important;line-height:1.14!important;}
 main :is(.hero-desc,.page-hero-desc,.section-desc,.hs-hero-desc) {font-size:clamp(17px,1.5vw,20px)!important;line-height:1.55!important;max-width:60ch!important;color:#626269!important;}
 main :is(.section-header,.section-header.centered) {margin-bottom:36px!important;}
 main :is(.section-tag,.section-label,.hs-eyebrow,.article-kicker) {font-size:13px!important;line-height:1.4!important;letter-spacing:.01em!important;margin-bottom:16px!important;}
 main :is(.hero-btn-group,.hero-buttons,.cta-buttons,.case-detail-actions) {gap:12px!important;flex-wrap:wrap!important;margin-top:28px!important;}
 main :is(.btn-primary,.btn-secondary,.btn-ghost,.button) {min-height:44px!important;padding:12px 24px!important;border-radius:999px!important;font-size:16px!important;font-weight:400!important;line-height:1.25!important;box-shadow:none!important;transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease!important;}
 main :is(.btn-primary,.btn-secondary,.btn-ghost,.button):active {transform:scale(.985)!important;}
 main :is(.services-grid,.industry-grid,.case-grid,.gallery-grid,.hs-cards,.values-grid,.equip-grid,.factory-proof-grid,.related-cases__grid,.article-related-grid) {gap:24px!important;}
 main :is(.service-card,.industry-card,.case-card,.gallery-card,.hs-card,.vas-card,.value-card,.factory-card,.cert-card,.equip-card,.blog-card) {border-radius:24px!important;box-shadow:0 2px 10px rgba(0,0,0,.035)!important;border-color:rgba(0,0,0,.06)!important;transition:transform 320ms var(--pp-ease),box-shadow 320ms var(--pp-ease)!important;}
 main :is(.service-card,.industry-card,.case-card,.gallery-card,.hs-card,.vas-card,.value-card,.factory-card,.cert-card,.equip-card,.blog-card-content) :is(p,li,dd) {font-size:16px!important;line-height:1.55!important;letter-spacing:-.015em!important;}
 main :is(.service-card,.industry-card,.case-card,.gallery-card,.hs-card,.vas-card,.value-card,.factory-card,.cert-card,.equip-card,.blog-card-content) :is(h3,h4) {font-size:21px!important;line-height:1.25!important;margin-bottom:12px!important;}
 main :is(.service-card,.industry-card,.case-card,.gallery-card) :is(.tags,.tag-list,.industry-tags,.case-tags) {gap:6px!important;flex-wrap:wrap!important;}
 main .platform-principles__header {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:40px!important;align-items:center!important;margin-bottom:40px!important;}
 main .platform-principles__header h2 {max-width:20ch!important;}
 main .platform-principle {min-width:0!important;}
 main .platform-principle p {font-size:16px!important;line-height:1.55!important;}
 .pp-summary {max-width:var(--pp-width)!important;margin:0 auto 24px!important;padding:24px 28px!important;box-sizing:border-box!important;background:#f5f5f7!important;border-radius:20px!important;}
 .pp-summary .geo-answer-block {display:grid!important;grid-template-columns:minmax(180px,.65fr) minmax(0,1.6fr)!important;gap:28px!important;align-items:start!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
 .pp-summary .geo-answer-question {font-size:17px!important;line-height:1.4!important;font-weight:600!important;margin:0!important;color:#1d1d1f!important;}
 .pp-summary .geo-answer-text {font-size:16px!important;line-height:1.6!important;margin:0!important;color:#626269!important;}

 main figure.story-media {height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;position:relative!important;overflow:hidden!important;border-radius:24px!important;background:#f5f5f7!important;}
 main figure.story-media>video {display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;}
 main figure.story-media>.story-watermark {top:16px!important;left:16px!important;right:auto!important;bottom:auto!important;max-width:calc(100% - 148px)!important;}
 main figure.story-media>figcaption {width:100%!important;max-width:none!important;box-sizing:border-box!important;border:0!important;box-shadow:none!important;position:static!important;inset:auto!important;display:block!important;transform:none!important;margin:0!important;padding:12px 16px!important;border-radius:0!important;background:#f5f5f7!important;color:#626269!important;font-size:12px!important;line-height:1.5!important;white-space:normal!important;}
 /* Articles use a reading column, with wide media and a quiet metadata row. */
 body.page-blog-detail .blog-detail {padding:64px var(--pp-gutter) 88px!important;background:#fff!important;}
 #article-container {width:100%!important;max-width:1040px!important;margin:0 auto!important;padding:0!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
 #article-container .article-title {max-width:920px!important;font-size:clamp(32px,3.6vw,48px)!important;line-height:1.13!important;margin:16px 0 22px!important;}
 #article-container .article-back {margin-bottom:28px!important;font-size:14px!important;}
 #article-container .article-meta {font-size:13px!important;line-height:1.5!important;gap:10px!important;margin-bottom:32px!important;color:#6e6e73!important;}
 #article-container .article-cover {width:100%!important;height:auto!important;max-height:520px!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:24px!important;margin-bottom:40px!important;}
 #article-container .article-content {max-width:720px!important;margin-inline:auto!important;color:#424247!important;}
 #article-container .article-content :is(p,li,dd) {font-size:18px!important;line-height:1.72!important;letter-spacing:-.01em!important;}
 #article-container .article-content p {margin-top:0!important;margin-bottom:22px!important;}
 #article-container .article-content h2 {font-size:30px!important;line-height:1.2!important;margin:48px 0 20px!important;}
 #article-container .article-content h3 {font-size:23px!important;line-height:1.3!important;margin:32px 0 16px!important;}
 #article-container .article-content :is(ul,ol) {padding-left:24px!important;margin-bottom:24px!important;}
 #article-container .article-content li+li {margin-top:8px!important;}
 #article-container .article-content :is(th,td) {font-size:15px!important;line-height:1.55!important;padding:14px 16px!important;vertical-align:top!important;}
 #article-container .article-content img {max-width:100%!important;height:auto!important;border-radius:16px!important;}
 #article-container .article-content blockquote {margin:28px 0!important;padding:20px 24px!important;border-left:3px solid #0071e3!important;background:#f5f5f7!important;border-radius:0 16px 16px 0!important;}

 #article-container .article-related-grid:has(>[data-blog-link="resource-download"]) {grid-template-columns:1fr!important;gap:12px!important;margin:28px 0!important;}
 #article-container a[data-blog-link="resource-download"] {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)!important;gap:24px!important;padding:20px 24px!important;background:#f5f5f7!important;border:0!important;border-radius:16px!important;}
 #article-container a[data-blog-link="resource-download"] strong {font-size:16px!important;line-height:1.45!important;font-weight:600!important;color:#0066cc!important;}
 #article-container a[data-blog-link="resource-download"] span {font-size:15px!important;line-height:1.55!important;font-weight:400!important;color:#626269!important;}
 @media(max-width:760px) {#article-container a[data-blog-link="resource-download"] {grid-template-columns:1fr!important;gap:10px!important;padding:20px!important;}}
 /* Long technical labels remain readable in compact grids. */
 main .rfq-resource,main .rfq-resource__actions,main .rfq-resource>div {min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
 main .rfq-resource {grid-template-columns:minmax(0,1fr)!important;}
 main .rfq-resource .button {white-space:normal!important;text-align:left!important;justify-content:flex-start!important;min-width:0!important;line-height:1.4!important;}
 @media(max-width:760px) {
  main .process-grid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;padding:0!important;overflow:visible!important;}
  main .process-step {width:100%!important;box-sizing:border-box!important;flex:none!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;column-gap:16px!important;text-align:left!important;padding:20px!important;min-width:0!important;}
  main .process-step .step-marker {grid-column:1!important;grid-row:1/3!important;margin:0!important;width:44px!important;height:44px!important;}
  main .process-step h3 {grid-column:2!important;margin:0 0 8px!important;}
  main .process-step p {grid-column:2!important;margin:0!important;}
 }
 /* Product evidence stays uncropped, including portrait and composite board images. */
 .case-detail-page .case-detail-header {max-width:960px!important;margin-bottom:40px!important;}
 .case-detail-page .case-detail-header>p {max-width:70ch!important;}
 .case-detail-page .case-detail-hero {display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;gap:24px!important;align-items:stretch!important;margin:36px 0 64px!important;}
 .case-detail-page .case-detail-hero>span {grid-row:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:0!important;height:480px!important;overflow:hidden!important;border-radius:24px!important;background:#f5f5f7!important;padding:20px!important;box-sizing:border-box!important;}
 .case-detail-page .case-detail-hero>span>img {width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;}

 body.case-detail-page main {max-width:var(--pp-width)!important;margin-inline:auto!important;padding-inline:0!important;}
 .case-detail-page .case-detail-hero>.case-detail-hero__stack {display:grid!important;grid-template-rows:none!important;grid-auto-rows:minmax(0,1fr)!important;gap:16px!important;}
 .case-detail-hero__stack>.case-detail-hero__secondary {display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;overflow:hidden!important;}
 .case-detail-hero__stack .case-detail-hero__secondary img {display:block!important;width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;}
 @media(max-width:1160px) {body.case-detail-page main {margin-inline:20px!important;}}
 .detail-gallery__grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;}
 .detail-gallery__item {min-width:0!important;margin:0!important;overflow:hidden!important;border-radius:20px!important;background:#f5f5f7!important;}
 .detail-gallery__item>img {display:block!important;width:100%!important;height:auto!important;aspect-ratio:1!important;max-height:520px!important;object-fit:contain!important;padding:16px!important;box-sizing:border-box!important;}
 .detail-gallery__item>figcaption {padding:14px 20px 18px!important;font-size:13px!important;line-height:1.4!important;color:#626269!important;}
 /* One entrance per element, short stagger, and no overlapping legacy transforms. */
 main :is(.fade-up,.fade-in,.fade-left,.fade-right):not([data-ds-reveal]) {opacity:1!important;transform:none!important;animation:none!important;}
 main [data-ds-reveal] {animation:none!important;transition-property:opacity,transform!important;transition-duration:420ms!important;transition-timing-function:var(--pp-ease)!important;transition-delay:calc(min(var(--ds-i,0),4)*35ms)!important;}
 main [data-ds-reveal]:not(.ds-in) {transform:translate3d(0,12px,0)!important;}
 main [data-ds-reveal].ds-in {transform:none!important;}
 main :is(.hero,.page-hero,.hs-hero) :is(h1,.hero-desc,.page-hero-desc,.hero-btn-group) {animation-duration:480ms!important;animation-delay:0ms!important;}
 @media(hover:hover) and (pointer:fine) {
  main :is(a.service-card,a.case-card,.gallery-card:has(a),.industry-card:has(a),.blog-card:has(a)):hover {transform:translateY(-3px)!important;box-shadow:0 10px 28px rgba(0,0,0,.08)!important;}
  main :is(.service-card,.industry-card,.gallery-card):hover img {transform:scale(1.015)!important;transition:transform 420ms var(--pp-ease)!important;}
 }
 @media(max-width:760px) {
  :root {--pp-gutter:20px;--pp-space:56px;}
  main :is(.section,.page-hero,.featured-section) {padding-left:20px!important;padding-right:20px!important;}
  main .page-hero {padding-top:52px!important;padding-bottom:36px!important;}
  main :is(.hero h1,.page-hero h1,.hs-hero h1,.case-detail-header h1) {font-size:34px!important;line-height:1.12!important;letter-spacing:-.025em!important;margin-bottom:20px!important;}
  main :is(.section-title,.section-header h2,.hs-section>h2,.platform-principles h2) {font-size:28px!important;line-height:1.18!important;}
  main :is(.hero-desc,.page-hero-desc,.section-desc,.hs-hero-desc) {font-size:17px!important;line-height:1.6!important;}
  main :is(.hero-btn-group,.hero-buttons,.case-detail-actions) {gap:10px!important;margin-top:24px!important;}
  main :is(.hero-btn-group,.hero-buttons,.case-detail-actions)>a {max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;}
  main .platform-principles__header {grid-template-columns:1fr!important;gap:20px!important;}
  .pp-summary {margin:0 20px 20px!important;padding:22px!important;border-radius:18px!important;}
  .pp-summary .geo-answer-block {grid-template-columns:1fr!important;gap:12px!important;}
  .pp-summary .geo-answer-text {font-size:15px!important;}
  body.page-blog-detail .blog-detail {padding:40px 20px 56px!important;}
  #article-container {padding:0!important;}
  #article-container .article-title {font-size:30px!important;line-height:1.16!important;}
  #article-container .article-cover {border-radius:16px!important;margin-bottom:28px!important;}
  #article-container .article-content :is(p,li,dd) {font-size:17px!important;line-height:1.7!important;}
  #article-container .article-content h2 {font-size:26px!important;margin-top:36px!important;}
  #article-container .article-content h3 {font-size:21px!important;}
  #article-container .article-content :is(th,td) {font-size:14px!important;padding:12px!important;}
  .case-detail-page .case-detail-hero {grid-template-columns:1fr!important;gap:16px!important;margin:28px 0 44px!important;}
  .case-detail-page .case-detail-hero>span {height:auto!important;aspect-ratio:1!important;padding:16px!important;border-radius:20px!important;}
  .detail-gallery__grid {grid-template-columns:1fr!important;gap:20px!important;}
 }
 @media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important;}
  main [data-ds-reveal],main :is(.fade-up,.fade-in,.fade-left,.fade-right) {opacity:1!important;transform:none!important;transition:none!important;animation:none!important;}
  main :is(.hero,.page-hero,.hs-hero) * {animation:none!important;}
  main :is(.service-card,.industry-card,.gallery-card):hover img,main :is(.btn-primary,.btn-secondary,.btn-ghost,.button):active {transform:none!important;}
 }
}
