.psb{box-sizing:border-box;background:var(--psb-bg);color:var(--psb-fg);padding:var(--psb-space) 32px;font-family:inherit}.psb *{box-sizing:border-box}.psb-font--sans{font-family:Arial,"Microsoft YaHei",sans-serif}.psb-font--serif{font-family:Georgia,"Noto Serif SC",serif}.psb-inner{max-width:var(--psb-width);margin:auto}.psb-header{max-width:860px;margin:0 auto 40px}.psb h2,.psb h3,.psb p{margin:0}.psb h2{font-size:var(--psb-heading);line-height:1.12;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}.psb-description{font-size:var(--psb-body);line-height:1.7;color:var(--psb-muted);margin-top:16px}.psb-rows{display:flex;flex-direction:column;gap:var(--psb-gap)}.psb-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--psb-gap);min-width:0;grid-auto-flow:row}.psb-layout--banner,.psb-layout--double-banner{grid-template-columns:minmax(0,1fr)}.psb-layout--left-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.psb-layout--right-main{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.psb-layout--three{grid-template-columns:repeat(3,minmax(0,1fr))}.psb-layout--left-stack{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.psb-layout--right-stack{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.psb-layout--left-stack>.psb-card:first-child{grid-column:1;grid-row:span 2}.psb-layout--left-stack>.psb-card:nth-child(2),.psb-layout--left-stack>.psb-card:nth-child(3){grid-column:2}.psb-layout--right-stack>.psb-card:first-child,.psb-layout--right-stack>.psb-card:nth-child(2){grid-column:1}.psb-layout--right-stack>.psb-card:nth-child(3){grid-column:2;grid-row:1 / span 2}.psb-card{min-width:0;min-height:var(--psb-row-height);background:var(--psb-surface);color:var(--psb-fg);border-radius:var(--psb-radius);overflow:hidden;position:relative;display:flex;flex-direction:column}.psb-layout--left-stack>.psb-card,.psb-layout--right-stack>.psb-card{min-height:calc((var(--psb-row-height) - var(--psb-gap))/2)}.psb-layout--left-stack>.psb-card:first-child,.psb-layout--right-stack>.psb-card:nth-child(3){min-height:var(--psb-row-height)}.psb-media{min-width:0;position:relative;flex:1;min-height:240px}.psb-media v-image{display:block;position:absolute;inset:0;width:100%;height:100%}.psb-media img{width:100%;height:100%;object-fit:var(--psb-fit)!important;object-position:var(--psb-focus-x) var(--psb-focus-y)!important}.psb-copy{padding:var(--psb-pad);display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:12px;overflow-wrap:anywhere}.psb-card h3{font-size:var(--psb-title);font-weight:650;line-height:1.2;letter-spacing:-.02em}.psb-eyebrow{font-size:12px;line-height:1.5;letter-spacing:.08em;font-weight:600}.psb-body{font-size:var(--psb-body);line-height:1.7;color:var(--psb-muted)}.psb-body p+p,.psb-description p+p{margin-top:12px}.psb-body a,.psb-description a{color:inherit;text-decoration:underline}.psb-body img{max-width:100%;height:auto}.psb-body ul,.psb-body ol{padding-left:1.5em;margin:0}.psb-align--left{text-align:left}.psb-align--center{text-align:center}.psb-align--right{text-align:right}.psb-v--start>.psb-copy{justify-content:flex-start}.psb-v--end>.psb-copy{justify-content:flex-end}.psb-button{color:inherit;align-self:flex-start;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:10px 18px;font-size:14px;line-height:1.4;max-width:100%}.psb-align--center>.psb-copy>.psb-button{align-self:center}.psb-align--right>.psb-copy>.psb-button{align-self:flex-end}.psb-button:hover{text-decoration:underline}.psb-button:focus-visible{outline:3px solid currentColor;outline-offset:4px}.psb-card--image>.psb-copy,.psb-card--text>.psb-media{display:none}.psb-card--text>.psb-copy{position:static;transform:none;width:auto;color:var(--psb-fg)}.psb-place--top.psb-has-image:not(.psb-card--text)>.psb-copy{order:-1}.psb-place--left.psb-has-image:not(.psb-card--text),.psb-place--right.psb-has-image:not(.psb-card--text){flex-direction:row}.psb-place--left.psb-has-image>.psb-copy{order:-1}.psb-place--left>.psb-media,.psb-place--right>.psb-media{flex:1 1 50%;min-width:0}.psb-place--left.psb-has-image>.psb-copy,.psb-place--right.psb-has-image>.psb-copy{flex:1 1 50%}.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-media{min-height:var(--psb-row-height)}.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:var(--psb-shade);pointer-events:none}.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-copy{position:relative;flex:none;margin-top:calc(-1 * var(--psb-row-height));min-height:var(--psb-row-height);padding:var(--psb-pad);color:var(--psb-overlay-fg);width:100%}.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-copy{position:absolute;min-height:0;max-height:calc(100% - 16px);overflow:auto;top:var(--psb-y);left:var(--psb-x);transform:translate(calc(-1 * var(--psb-x)),calc(-1 * var(--psb-y)));width:var(--psb-text-width);margin:0;padding:var(--psb-pad);z-index:1}.psb-place--overlay.psb-has-image:not(.psb-card--text) .psb-body{color:inherit}.psb--alternate .psb-row{grid-template-columns:repeat(2,minmax(0,1fr))}.psb--alternate .psb-row>.psb-card,.psb--mosaic .psb-row>.psb-card{grid-column:auto;grid-row:auto;min-height:var(--psb-row-height)}.psb--alternate.psb-start--left .psb-row:nth-child(even)>.psb-card:first-child,.psb--alternate.psb-start--right .psb-row:nth-child(odd)>.psb-card:first-child{grid-column:2;grid-row:1}.psb--alternate.psb-start--left .psb-row:nth-child(even)>.psb-card:nth-child(2),.psb--alternate.psb-start--right .psb-row:nth-child(odd)>.psb-card:nth-child(2){grid-column:1;grid-row:1}.psb--mosaic .psb-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.psb--mosaic .psb-row>.psb-card:first-child{grid-column:1;grid-row:1 / span 2}.psb--mosaic .psb-row>.psb-card:nth-child(2),.psb--mosaic .psb-row>.psb-card:nth-child(3){grid-column:2;min-height:calc((var(--psb-row-height) - var(--psb-gap))/2)}
.psb .psb-mobile-copy{display:none}
@media(max-width:749px){
  .psb{padding:clamp(0px,8vw,var(--psb-space)) 16px;--psb-gap:var(--psb-mgap,10px)!important;--psb-pad:var(--psb-mpad,14px)!important}
  .psb-header{margin-bottom:24px}.psb h2{font-size:clamp(24px,7vw,var(--psb-heading))}
  .psb-card h3{font-size:var(--psb-mtitle,18px);line-height:1.25}.psb .psb-body{font-size:var(--psb-mbody,13px);line-height:1.6}
  .psb .psb-desktop-copy{display:none}.psb .psb-mobile-copy{display:block}
  .psb .psb-copy{padding:var(--psb-pad);gap:8px}.psb .psb-eyebrow{font-size:11px;letter-spacing:.04em}
  .psb .psb-button{font-size:12px;padding:10px 12px;min-height:40px}
  .psb-media img{object-position:var(--psb-mobile-focus-x,var(--psb-focus-x)) var(--psb-mobile-focus-y,var(--psb-focus-y))!important}
  /* Single-column mode: legacy card positioning and mobile order remain available. */
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack){display:flex;flex-direction:column}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack).psb-mobile--reverse{flex-direction:column-reverse}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-card{min-height:0;grid-column:auto;grid-row:auto}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-card--image{min-height:var(--psb-mobile-height)}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack) .psb-media{min-height:var(--psb-mobile-height)}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-card--text>.psb-copy,:is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-card:not(.psb-has-image)>.psb-copy{min-height:180px}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--left.psb-has-image:not(.psb-card--text),:is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--right.psb-has-image:not(.psb-card--text){flex-direction:column}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--left.psb-has-image>.psb-copy{order:0}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-media{min-height:var(--psb-mobile-height)}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--overlay.psb-mobile-text--below.psb-has-image:not(.psb-card--text)>.psb-copy{position:static;transform:none;width:auto;max-height:none;overflow:visible;color:var(--psb-fg);padding:var(--psb-pad)}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--overlay.psb-mobile-text--below.psb-has-image .psb-body{color:var(--psb-muted)}
  :is(.psb:not(.psb-mobile-preserve) .psb-row:not(.psb-row-mobile--keep),.psb .psb-row-mobile--stack)>.psb-place--overlay.psb-mobile-text--below.psb-has-image>.psb-media:after{display:none}
  /* Preserved mode keeps the desktop grid, source order, overlays and text anchors. */
  :is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep){--psb-row-height:var(--psb-keep-height,320px)!important}
  :is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep)>.psb-place--overlay.psb-has-image:not(.psb-card--text)>.psb-media{min-height:0}
  :is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep)>.psb-card--image>.psb-media{min-height:0}
  :is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep)>.psb-place--left.psb-has-image:not(.psb-card--text)>.psb-media,:is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep)>.psb-place--right.psb-has-image:not(.psb-card--text)>.psb-media{min-height:0}
  :is(.psb.psb-mobile-preserve .psb-row:not(.psb-row-mobile--stack),.psb .psb-row-mobile--keep)>.psb-card{border-radius:min(var(--psb-radius),16px)}
}
