/* V28 · viewport-safe editorial layout. Content, budgets and imagery are unchanged. */
@media screen {
  .v17-root { --v28-gap:clamp(18px,2.5vw,44px); }
  .v17-root *, .jp-brandbar>* { min-width:0; }
  .v17-root :is(h3,h4,p,dd,dt,button) { overflow-wrap:break-word; }
  .v17-root .jp-heading h2 { white-space:normal; }
  .v17-root .jp-heading>span { text-align:right;line-height:1.5;max-width:45%; }
  .v17-root .v17-panels { min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a7b9ac transparent; }
  .v17-root .v17-panel { position:relative; }
  .v17-root .v17-panel.v23-text-scene { overflow:auto;padding-bottom:34px; }
  .v17-root .v23-text-scene>.v23-scene-credit { position:static;align-self:flex-end;margin-top:auto;max-width:100%;flex:none;order:20;font-size:9px; }
  .v17-root .v17-panel>:is(p,header,.v22-storyhead,.v21-intro,.pv-product-tabs) { flex-shrink:0; }
  .v17-root .v22-storyhead { align-items:start;gap:var(--v28-gap); }
  .v17-root .v22-storyhead h3 { flex:0 1 42%;font-size:clamp(24px,2vw,32px);line-height:1.35; }
  .v17-root .v22-storyhead p { font-size:14px;line-height:1.8; }

  /* The five-step console may grow; a flex-shrunk body must never overlap the tabs. */
  #fulong-digital .v22-digital { grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:var(--v28-gap);height:auto;flex:1;min-height:min-content; }
  #fulong-digital .v22-service-console { padding:clamp(20px,2vw,32px);gap:18px;min-height:min-content; }
  #fulong-digital .v22-service-console>* { flex-shrink:0; }
  #fulong-digital .v22-service-steps { grid-template-columns:repeat(5,minmax(0,1fr));flex:none; }
  #fulong-digital .v22-service-steps button { min-height:66px;padding:10px 5px;line-height:1.4;font-size:14px; }
  #fulong-digital .v22-service-steps button small { margin-bottom:6px; }
  #fulong-digital #v22-service-body { flex:1 0 auto;min-height:min-content;gap:16px;justify-content:center; }
  #fulong-digital #v22-service-body>* { flex-shrink:0; }
  #fulong-digital #v22-service-body h3 { font-size:clamp(24px,2vw,30px);line-height:1.35; }
  #fulong-digital #v22-service-body>p { font-size:14px;line-height:1.75; }
  #fulong-digital .v22-ticket-mock { padding:16px 0;gap:16px; }
  #fulong-digital .v22-ticket-mock strong { font-size:17px;line-height:1.6;display:block; }
  #fulong-digital .v22-ticket-mock span { margin-bottom:6px; }
  #fulong-digital .v22-ledger-flow { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
  #fulong-digital .v22-ledger-flow>span { padding:10px;font-size:12px; }
  #fulong-digital .v22-digital>aside { justify-content:center;gap:22px; }
  #fulong-digital .v22-digital>aside>h3 { font-size:clamp(28px,2.7vw,40px);line-height:1.3; }
  #fulong-digital .v22-rows { gap:12px; }
  #fulong-digital .v22-rows>article { padding-top:12px; }
  #fulong-digital .v22-rows p { line-height:1.75; }

  /* Process controls belong to an explicit rail, not arbitrary coordinates over the photo. */
  .v17-root .v23-process { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--v28-gap);height:auto;flex:1; }
  .v17-root .v23-process>figure { display:grid;grid-template-rows:minmax(150px,1fr) auto auto;height:100%;min-height:260px;overflow:visible;background:#f0f3ed; }
  .v17-root .v23-process>figure:after { display:none; }
  .v17-root .v23-process>figure>img { grid-row:1;min-height:0;object-fit:cover; }
  .v17-root .v23-process>figure>figcaption { position:static;grid-row:3;padding:7px 12px;font-size:10px;background:#f0f3ed; }
  .v28-step-rail { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;grid-row:2;background:#fff;border:1px solid var(--line); }
  .v28-step-rail>button { display:flex;gap:9px;align-items:center;text-align:left;position:static!important;transform:none!important;max-width:none!important;width:100%;padding:14px 12px;font-size:12px;line-height:1.5;border:0;border-top:2px solid transparent; }
  .v28-step-rail>button+button { border-left:1px solid var(--line); }
  .v28-step-rail>button>span { width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:50%;background:#edf2ed;font-size:11px; }
  .v28-step-rail>button>b { display:block;font-size:12px;font-weight:500; }
  .v28-step-rail>button[aria-pressed=true] { border-top-color:#315f4e;color:#254e40;background:#edf3ee; }
  .v28-step-rail>button[aria-pressed=true]>span { color:#fff;background:#315f4e; }
  .v17-root .v23-process>aside { padding:clamp(20px,2.4vw,36px) 0 0;justify-content:center;gap:22px; }
  .v17-root .v23-process>aside h3 { font-size:clamp(28px,2.6vw,38px);margin:18px 0;line-height:1.3; }
  .v17-root .v23-process>aside p { font-size:14px;line-height:1.85; }
  .v17-root .v23-process>aside>.v22-muted { padding-top:20px;border-top:1px solid var(--line);font-size:12px; }

  /* Product narrative and price breakdown have independent, balanced columns. */
  #pingzheng-products-panel-0 { gap:16px; }
  #pingzheng-products-panel-0>.pz-body { max-width:100%;font-size:14px;line-height:1.75; }
  #pingzheng-products-panel-0>.v23-underlay { opacity:.22; }
  #pingzheng-products-panel-0 .pv-product-tabs { gap:8px; }
  #pingzheng-products-panel-0 .pv-product-tabs button { padding:10px 14px;min-height:40px;display:flex;gap:7px;align-items:center; }
  #pingzheng-products-panel-0 .pv-product-tabs button>span { font-size:10px;opacity:.7; }
  #pingzheng-products-panel-0 .pv-product-layout { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:var(--v28-gap);align-content:start;align-items:start;min-height:min-content;flex:1 0 auto; }
  #pingzheng-products-panel-0 .pv-product-layout h3 { font-size:clamp(26px,2.4vw,36px);line-height:1.35;margin:12px 0; }
  #pingzheng-products-panel-0 .pv-product-layout dl>div { padding:10px 0; }
  #pingzheng-products-panel-0 .pv-product-layout dd { line-height:1.7; }
  #pingzheng-products-panel-0 .pv-product-ledger { padding:22px 26px;background:#f4f7f2f2;border:1px solid #d6dfd4; }
  #pingzheng-products-panel-0 #pv-product-total { font-size:clamp(36px,3.3vw,52px);line-height:1.15;margin-top:10px; }
  #pingzheng-products-panel-0 #pv-product-total small { font-size:12px;margin-top:8px; }
  #pingzheng-products-panel-0 .pz-money-row { padding:10px 0; }
  #pingzheng-products-panel-0 .pv-product-ledger>.pz-note { font-size:11px;line-height:1.7;margin-top:14px; }
}

@media screen and (min-width:901px) {
  :root { --v28-edge:max(var(--gutter),calc((100vw - 1920px)/2 + var(--gutter))); }
  body.v17-body { height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden; }
  body.v17-body>.jp-brandbar { min-height:64px;height:auto;padding-block:12px;gap:clamp(16px,2vw,30px); }
  body.v17-body>.jp-brandbar,body.v17-body>.v17-nav,body.v17-body>.v17-reader { padding-inline:var(--v28-edge); }
  .jp-brandbar>img { flex:none; }
  .jp-brandbar>span { line-height:1.5; }
  .jp-brandbar>span b { display:inline-block; }
  .v17-nav { height:48px;min-width:0;gap:clamp(12px,1.5vw,24px);overflow-x:auto;scrollbar-width:thin; }
  .v17-nav>a { flex:none; }
  .v17-nav>button { flex:none;padding-left:16px;position:sticky;right:0;background:#fff; }
  body.v17-body>.v17-root { height:100%;min-height:0;overflow:hidden; }
  .v17-root>.v17-section { height:100%;min-height:0;gap:12px;padding-block:20px 16px; }
  body.v17-body>.v17-reader { height:auto;min-height:48px;padding-block:6px; }
  .v17-root .v17-panels { position:relative; }
  /* Applied only if the active panel's text cannot fit the real content rectangle. */
  .v17-root .v17-panel.v28-long { height:var(--v28-safe-height)!important;min-height:100%;overflow:visible!important; }
  .v17-root .v28-long.v23-text-scene { overflow:visible!important; }
  .v17-root .v17-panels[data-v28-scroll=true] { padding-right:10px; }
  .v17-root .v17-panels:focus-visible { outline:2px solid #62866f;outline-offset:2px; }
  #pingzheng-products-panel-0 .pv-product-layout { align-content:center; }
  .v28-scroll-hint { flex:none;align-self:flex-end;font-size:10px;color:#62796a;line-height:1.4; }
}
@media screen and (min-width:901px) and (max-height:820px) {
  .v17-root>.v17-section { padding-block:16px 12px;gap:10px; }
  .v17-root .jp-heading { padding-bottom:9px; }
  .v17-root .jp-heading h2 { font-size:27px; }
  .v17-root .v17-panel.v23-text-scene { padding:20px 24px 16px; }
  #fulong-digital .v22-service-console { padding:20px;gap:14px; }
  #fulong-digital #v22-service-body { gap:12px; }
  #fulong-digital .v22-ticket-mock { padding:12px 0; }
  #fulong-digital .v22-digital>aside { gap:16px; }
  #fulong-digital .v22-digital>aside>h3 { font-size:30px; }
  #fulong-digital .v22-rows { gap:9px; }
  #fulong-digital .v22-rows>article { padding-top:9px; }
  #fulong-digital .v22-rows p { font-size:13px; }
  #pingzheng-products-panel-0 .pv-product-ledger { padding:18px 22px; }
  #pingzheng-products-panel-0 .pv-product-layout dl>div { padding:7px 0; }
  #pingzheng-products-panel-0 .pv-product-layout h3 { margin:8px 0; }
  .v28-step-rail>button { padding:10px 8px;gap:6px; }
}
@media screen and (min-width:901px) and (max-width:1180px) {
  :root { --gutter:30px; }
  .jp-brandbar>span b { margin-left:0;display:block;font-size:11px; }
  .jp-brandbar>img { width:120px; }
  .v17-nav { gap:18px; }
  .v17-nav>a { font-size:12px; }
  .v17-root .v22-feature { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px; }
  .v17-root .v22-feature-copy { justify-content:flex-start; }
  .v17-root .v22-feature-copy>h3 { font-size:27px; }
  .v17-root .v22-rows p { font-size:13px; }
  .v17-root .v23-process { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px; }
  .v28-step-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v28-step-rail>button:nth-child(3) { border-left:0; }
  #fulong-digital .v22-digital { gap:26px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
}
@media screen and (max-width:900px) {
  body.v17-body { height:auto;overflow-x:hidden;overflow-y:auto; }
  .v17-root .v17-panels { height:auto;overflow:visible; }
  .v17-root .v17-panel { height:auto!important;min-height:0!important; }
  .v17-root .jp-heading { align-items:flex-start;flex-wrap:wrap;gap:8px; }
  .v17-root .jp-heading>span { max-width:100%;text-align:left;order:2;margin-left:0; }
  .v17-root .v22-storyhead { display:block; }
  .v17-root .v22-storyhead h3 { max-width:100%;margin-bottom:12px; }
  .v17-root .v23-process { display:flex;flex-direction:column;gap:22px; }
  .v17-root .v23-process>figure { height:auto;grid-template-rows:240px auto auto;min-height:0;flex:none; }
  .v28-step-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v28-step-rail>button:nth-child(3) { border-left:0; }
  .v17-root .v23-process>aside { padding-top:20px;gap:16px; }
  .v17-root .v23-process>aside h3 { font-size:28px;margin:14px 0; }
  #fulong-digital .v22-digital { display:flex;flex-direction:column;gap:28px; }
  #fulong-digital .v22-service-console { min-height:0;gap:20px;padding:20px 16px; }
  #fulong-digital #v22-service-body { gap:20px; }
  #fulong-digital .v22-service-steps button { font-size:12px;min-height:60px; }
  #pingzheng-products-panel-0 .pv-product-layout { grid-template-columns:1fr;gap:24px; }
  #pingzheng-products-panel-0 .pv-product-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #pingzheng-products-panel-0 .pv-product-tabs button { padding:10px 8px;justify-content:center; }
  #pingzheng-products-panel-0 .pv-product-ledger { padding:20px; }
  .v28-scroll-hint { display:none; }
}
@media print {
  .v28-scroll-hint { display:none!important; }
  .v17-root .v17-panels,.v17-root .v17-panel.v28-long { overflow:visible!important;height:auto!important; }
  .v28-step-rail { display:flex;justify-content:space-between;gap:12px; }
}
