
    /* S08 — Rapsodo Golf Ecosystem.
             Sticky image + copy left, four media items scrolling right.
             Requires the base .mod_article-askDeliver styles from S06 —
             everything below is additive, no S06 rule is redefined. */

     /* sticky product image */
     .mod_article-askDeliver .sticky-media {
       margin-bottom: 2em;
     }

     /* intro copy at the top of the scroll column */
     .mod_article-askDeliver .btmBorder {
       padding-bottom: 2.5em;
       margin-bottom: 1em;
       border-bottom: 1px solid var(--ad-rule);
     }
     .mod_article-askDeliver .btmBorder > * {
       font-family: var(--ad-fBody);
       font-size: 15px;
       line-height: 1.6;
       color: var(--ad-ask);
       max-width: 52ch;
       margin: 0 0 .75em;
     }
     .mod_article-askDeliver .btmBorder > *:last-child { margin-bottom: 0; }

     /* compact progress counter (replaces the S06 tick list) */
     .mod_article-askDeliver .ad-counter {
       display: flex;
       align-items: center;
       gap: 14px;
       margin-top: 2em;
     }
     .mod_article-askDeliver .ad-count {
       font-family: var(--ad-fDisplay);
       font-weight: 700;
       font-size: 12px;
       letter-spacing: .14em;
       color: var(--ad-paper);
       font-variant-numeric: tabular-nums;
       flex: none;
     }
     .mod_article-askDeliver .ad-count-sep,
     .mod_article-askDeliver .ad-count-total { color: var(--ad-ask); }
     .mod_article-askDeliver .ad-count-sep { margin: 0 4px; }
     .mod_article-askDeliver .ad-bar {
       display: block;
       flex: 1 1 auto;
       height: 2px;
       background: var(--ad-rule);
       min-width: 0;
     }
     .mod_article-askDeliver .ad-bar-fill {
       display: block;
       height: 100%;
       width: 0;
       background: var(--ad-signal);
       transition: width .45s cubic-bezier(.2,.7,.2,1);
     }

     /* ---- items with media: row instead of column ---- */
     .mod_article-askDeliver.has-media .ask-item {
       flex-direction: row;
       align-items: center;
       gap: clamp(1.5em, 3vw, 3em);
     }
     .mod_article-askDeliver.has-media .media-image {
       flex: none;
       width: 34%;
       max-width: 100%;
       margin: 0;
     }
     .mod_article-askDeliver.has-media .media-image > div {
       position: relative;
       width: 100%;
       /*border: 1px solid var(--ad-rule);*/
     }
     .mod_article-askDeliver.has-media .media-image > div::before {
       content: "";
       display: block;
       padding-bottom: 100%;
     }
     .mod_article-askDeliver.has-media .ask-content {
       flex: 1 1 auto;
       min-width: 0;
       display: flex;
       flex-direction: column;
       justify-content: center;
     }
     .mod_article-askDeliver.has-media .deliver-body { max-width: 40ch; }

     /* ---- catalog variant: no ask half, so the tagline carries the
            signal rule and may run to two lines ---- */
     .mod_article-askDeliver.is-catalog .deliver-label {
       align-items: flex-start;
       margin-bottom: 14px;
     }
     .mod_article-askDeliver.is-catalog .deliver-label::before {
       margin-top: .6em;
     }

     /* ---- two-beat reveal: image, then copy.
            Reuses the same --ad-beatGap knob from S06. ---- */
     .mod_article-askDeliver.has-media .ask-item.is-armed .media-image {
       opacity: 0;
       transform: translateY(22px) scale(.98);
       transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);
     }
     .mod_article-askDeliver.has-media .ask-item.is-armed.is-in .media-image {
       opacity: 1;
       transform: none;
     }
     .mod_article-askDeliver.is-catalog .ask-item.is-armed.is-in .deliver-body {
       transition-delay: var(--ad-beatGap);
     }

     @media (prefers-reduced-motion: reduce) {
       .mod_article-askDeliver.has-media .ask-item .media-image {
         opacity: 1 !important;
         transform: none !important;
         transition: none !important;
       }
       .mod_article-askDeliver .ad-bar-fill { transition: none; }
     }

     @media screen and (max-width: 767px) {
       .mod_article-askDeliver .sticky-media { margin-bottom: 1.5em; }
       .mod_article-askDeliver .ad-counter { margin-top: 1.5em; }
       .mod_article-askDeliver.has-media .ask-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 1.5em;
       }
       .mod_article-askDeliver.has-media .media-image { width: 62%; }
       .mod_article-askDeliver.has-media .deliver-body { max-width: 100%; }
     }
     /* looping video in a media slot: hide the player's play overlay/button */
     .mod_article-askDeliver.has-media .video-js .vjs-overlay.play-video,
     .mod_article-askDeliver.has-media .video-js .simple-title,
     .mod_article-askDeliver.has-media .video-js .vjs-big-play-button {
       display: none !important;
     }
     /*end S08*/
  