/* ============================================================
   DARTEE GOLF — MOBILE ART DIRECTION LAYER
   Loaded last on index.html. Phone-first refinement of the
   existing desktop design: one grid, one type scale, one
   rhythm. Desktop (>=901px) is untouched.
   ============================================================ */

@media (max-width: 900px) {
  :root {
    --m-gutter: 22px;
    --m-eyebrow: 10.5px;
    --m-campaign: clamp(34px, 10.6vw, 48px);   /* hero / brand moments */
    --m-section: clamp(30px, 9.2vw, 40px);     /* section headlines */
    --m-body: 16px;
    --m-micro: 10.5px;
    --m-rhythm: 44px;                          /* standard section pad */
    --m-rhythm-tight: 28px;
    --m-cream: #f3efe6;
    --m-green: #0b211b;
    --m-pink: #e85190;
  }

  /* ---------- 0. GLOBAL GRID + RHYTHM ---------- */
  .wrap { padding-left: var(--m-gutter) !important; padding-right: var(--m-gutter) !important; }
  .section { padding: var(--m-rhythm) 0 !important; }
  .section--tight { padding: var(--m-rhythm-tight) 0 !important; }
  section { scroll-margin-top: 70px; }
  h1, h2, h3 { text-wrap: balance; }
  p { text-wrap: pretty; }

  /* one consistent eyebrow voice everywhere */
  .eyebrow, .hero__kicker, .magsec__eyebrow, .glovesec__eyebrow, .fitsec__eyebrow,
  .marksec__eyebrow, .warsec__eyebrow, .storysec__eyebrow, .lifesec__eyebrow,
  .pressbar__eyebrow, .collsec__head .eyebrow {
    font-size: var(--m-eyebrow) !important;
    letter-spacing: .2em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }
  /* one consistent inline-link CTA voice */
  .magsec__cta, .glovesec__cta, .fitsec__cta, .marksec__cta, .lifesec__cta,
  .warsec__cta, .storysec__cta, .closer__cta, .collsec__link, .kitsec__link, .feat-shopall {
    font-size: 11px !important; letter-spacing: .16em !important; font-weight: 800 !important;
  }
  /* microcopy specs: quiet, never badges */
  .magsec__specs, .glovesec__specs, .fitsec__specs, .marksec__specs {
    font-size: 10px !important; letter-spacing: .14em !important; opacity: .62 !important;
    margin-top: 14px !important; text-transform: uppercase !important;
  }

  /* ---------- 1. TOP BARS — keep pinstripes on mobile ---------- */
  .announce { font-size: 11px; letter-spacing: 0; padding: 8px 14px; white-space: nowrap; }
  .announce__track { gap: 7px; flex-wrap: nowrap; }
  .header { border-top-width: 3px; border-bottom-width: 2px; }


  /* ---------- 2. HERO — editorial campaign opener ---------- */
  .hero { padding-bottom: 0 !important; background: var(--m-cream) !important; }
  .hero::before {
    height: clamp(330px, 82vw, 440px) !important;
    background-position: 40% 56% !important;   /* buckle + marker centred */
  }
  .hero__hang { display: none !important; }
  .hero__grid { padding: 26px var(--m-gutter) var(--m-rhythm) !important; }
  .hero__copy {
    display: flex !important; flex-direction: column !important;
    max-width: none !important; padding: 0 !important;
  }
  .hero__kicker { order: 1; margin: 0 0 12px !important; color: var(--m-pink) !important; }
  .hero__proof {
    order: 2; margin: 0 0 14px !important; font-size: 10px !important; letter-spacing: .16em !important;
    color: rgba(11,33,27,.6) !important; text-shadow: none !important;
  }
  .hero h1 {
    order: 3;
font-size: var(--m-campaign) !important; line-height: 1.05 !important;
    letter-spacing: -.005em !important; margin: 0 !important; max-width: none !important;
    color: var(--m-green) !important; text-shadow: none !important;
  }
  .hero__lead {
    order: 4; display: block !important; margin: 26px 0 0 !important;
    font-size: var(--m-body) !important; line-height: 1.6 !important;
    max-width: 26ch !important; color: rgba(11,33,27,.72) !important;
  }
  .hero__cta {
    order: 5; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; gap: 20px !important; margin-top: 26px !important;
  }
  .hero__cta .hero__cta--primary {
    flex: 0 0 auto !important; width: auto !important; min-height: 48px;
    display: inline-flex !important; align-items: center !important;
    padding: 14px 26px !important; font-size: 11.5px !important; letter-spacing: .16em !important;
    background: var(--m-green) !important; border-color: var(--m-green) !important;
    color: var(--m-cream) !important; border-radius: 2px !important;
  }
  .hero__cta .hero__cta--ghost {
    flex: 0 0 auto !important; width: auto !important; min-height: 0 !important;
    background: none !important; border: 0 !important; border-radius: 0 !important;
    border-bottom: 1px solid rgba(11,33,27,.32) !important;
    padding: 0 0 3px !important; font-size: 11px !important; letter-spacing: .16em !important;
    color: var(--m-green) !important;
  }
  .hero__badge { display: none !important; }

  /* ---------- 3. PRESS + TRUST: one quiet line, no loud pill ---------- */
  .pressbar { padding: 20px 0 18px !important; background: var(--m-cream) !important; border-top: 1px solid rgba(11,33,27,.08); }
  .pressbar__eyebrow { margin: 0 0 10px !important; opacity: .5; }
  .pressbar__logos { gap: 22px !important; }
  .pressbar__logo { font-size: 15px !important; }
  .pressbar__logo small { font-size: 9px !important; }

  .proofstrip { background: var(--m-cream) !important; padding: 0 0 6px !important; border: 0 !important; }
  .proofstrip__quotes { display: none !important; }
  .proofstrip__mobile { padding: 0 var(--m-gutter) 20px !important; }
  .proofstrip__mobile-row {
    display: flex !important; flex-wrap: nowrap !important; gap: 6px !important;
    justify-content: space-between !important; align-items: center !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(11,33,27,.1) !important;
  }
  .proofstrip__mbadge {
    flex: 0 1 auto !important; white-space: nowrap !important;
    background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
    font-size: 8px !important; letter-spacing: .08em !important; text-transform: uppercase;
    color: rgba(11,33,27,.66) !important; gap: 4px !important;
  }
  .proofstrip__mbadge svg { width: 11px !important; height: 11px !important; flex: none !important; color: var(--m-pink); }
  .proofstrip__mcta { display: none !important; }   /* sticky bar already owns this action */

  /* ---------- 4. SEE IT IN ACTION — cinematic, full bleed ---------- */
  .videoband { padding: 0 !important; }
  .videoband__frame { height: auto !important; min-height: 0 !important; aspect-ratio: 4 / 5; max-height: 620px; }
  .videoband__video { object-position: 62% 40% !important; }
  .videoband__scrim { background: linear-gradient(to top, rgba(8,28,22,.95) 0%, rgba(8,28,22,.82) 32%, rgba(8,28,22,.38) 56%, rgba(8,28,22,0) 74%) !important; }
  .videoband__content { padding: 0 var(--m-gutter) 30px !important; }
  .videoband__content h2 { font-size: var(--m-section) !important; line-height: .95 !important; margin: 10px 0 0 !important; }
  .videoband__content p {
    font-size: 14.5px !important; line-height: 1.5 !important; max-width: 28ch !important;
    margin: 12px 0 0 !important; opacity: .9;
  }
  .videoband__play { margin-top: 20px !important; gap: 14px !important; }
  .videoband__play-btn { width: 46px !important; height: 46px !important; }
  .videoband__play-label { font-size: 11px !important; letter-spacing: .16em !important; }

  /* ---------- 5. BEST SELLERS — premium merchandising ---------- */
  .feat { background: var(--m-cream) !important; padding: var(--m-rhythm) 0 calc(var(--m-rhythm) - 8px) !important; }
  .feat-head { align-items: baseline !important; margin-bottom: 20px !important; }
  .feat-head__left { gap: 14px !important; align-items: baseline !important; }
  .feat .feat-head h2 { font-size: var(--m-section) !important; line-height: .95 !important; }
  .feat-shopall { border-bottom: 1px solid rgba(11,33,27,.3) !important; padding-bottom: 2px !important; }
  .feat-toggle { gap: 6px !important; background: none !important; padding: 0 !important; box-shadow: none !important; }
  .feat-toggle button {
    padding: 7px 0 !important; margin-right: 18px !important; font-size: 11px !important;
    letter-spacing: .14em !important; background: none !important; border-radius: 0 !important;
    color: rgba(11,33,27,.5) !important; border-bottom: 1.5px solid transparent !important;
  }
  .feat-toggle button.on {
    background: none !important; color: var(--m-green) !important;
    border-bottom-color: var(--m-pink) !important;
  }
  .feat-arrow { display: none !important; }
  .feat-rail { padding: 0 !important; }
  .feat-track {
    gap: 14px !important;
    padding: 0 var(--m-gutter) 4px !important;
    scroll-snap-type: x mandatory; scroll-padding-left: var(--m-gutter);
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .feat-track::-webkit-scrollbar { display: none; }
  .feat-card {
    flex: 0 0 76% !important; scroll-snap-align: start;
    background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
  }
  .feat-card__media {
    aspect-ratio: 4 / 5 !important; height: auto !important; border-radius: 2px !important;
    background: #eae5da !important; overflow: hidden;
  }
  .feat-card__media img { width: 100%; height: 100%; object-fit: cover; }
  .feat-card__add { display: none !important; }
  .feat-card__tag {
    top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important;
    background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
    font-size: 9px !important; letter-spacing: .16em !important; font-weight: 800 !important;
    color: rgba(255,255,255,.95) !important; text-shadow: 0 1px 8px rgba(0,0,0,.45) !important;
  }
  .feat-card__name {
    font-size: 14.5px !important; margin-top: 14px !important; font-weight: 700 !important;
    color: var(--m-green) !important; letter-spacing: 0 !important;
  }
  .feat-card__price { font-size: 13px !important; margin-top: 3px !important; color: rgba(11,33,27,.55) !important; font-weight: 600 !important; }

  /* ---------- 7. FEATURE STORY — one continuous product narrative ---------- */
  .features { background: var(--m-cream) !important; }
  .magsec, .glovesec, .fitsec {
    display: block !important; background: var(--m-cream) !important;
    padding: 0 !important; margin: 0 !important;
  }
  .magsec__inner { display: block !important; padding: 0 !important; gap: 0 !important; }
  .magsec__media, .glovesec__media, .fitsec__media { margin: 0 !important; padding: 0 !important; }
  .magsec__media img, .glovesec__media img, .fitsec__media img {
    width: 100% !important; height: auto !important; aspect-ratio: 5 / 4; object-fit: cover;
    border-radius: 0 !important;
  }
  .magsec__media img { object-position: 50% 52% !important; }
  .glovesec__media img { object-position: 50% 42% !important; }
  .fitsec__media img { object-position: 50% 55% !important; }

  .magsec__copy, .glovesec__copy, .fitsec__copy {
    padding: 24px var(--m-gutter) 34px !important; max-width: none !important;
  }
  /* alternate the entry point so it never reads like the same module 3× */
  .glovesec__copy { padding-top: 22px !important; }
  .fitsec__copy { padding-bottom: 38px !important; }

  .magsec__title, .glovesec__title, .fitsec__title {
    font-size: var(--m-section) !important; line-height: .95 !important; margin: 10px 0 0 !important;
  }
  .magsec__sub, .glovesec__sub, .fitsec__sub {
    font-size: var(--m-body) !important; line-height: 1.55 !important;
    max-width: 30ch !important; margin: 14px 0 0 !important;
  }
  .magsec__cta, .glovesec__cta, .fitsec__cta { margin-top: 22px !important; display: inline-block !important; }

  /* subtle rule instead of hard section edges between the three chapters */
  .glovesec { border-top: 1px solid rgba(11,33,27,.09) !important; }
  .fitsec { border-top: 1px solid rgba(11,33,27,.09) !important; }

  /* ---------- 8. COLLECTIONS — exploratory, photography first ---------- */
  .collsec { background: var(--m-cream) !important; padding: var(--m-rhythm) 0 var(--m-rhythm-tight) !important; }
  .collsec__head { display: flex !important; align-items: baseline !important; justify-content: space-between; gap: 14px; margin-bottom: 18px !important; }
  .collsec__title { font-size: var(--m-section) !important; line-height: .95 !important; margin: 0 !important; }
  .collsec__link { flex: none; border-bottom: 1px solid rgba(11,33,27,.3); padding-bottom: 2px; }
  .edcoll {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: auto !important; gap: 10px !important;
  }
  .edcoll__tile {
    aspect-ratio: 3 / 4; height: auto !important; min-height: 0 !important;
    border-radius: 2px !important; overflow: hidden;
  }
  .edcoll__tile--tall { grid-column: span 2; aspect-ratio: 16 / 11; }
  .edcoll__tile--wide { grid-column: span 2; aspect-ratio: 16 / 9; }
  .edcoll__tile img { width: 100%; height: 100%; object-fit: cover; }
  .edcoll__cap { padding: 14px !important; }
  .edcoll__name { font-size: 15px !important; }
  .edcoll__note { font-size: 9px !important; letter-spacing: .16em !important; opacity: .8; }
  .edcoll__pick { top: 12px !important; left: 12px !important; font-size: 9px !important; letter-spacing: .12em !important; }

  /* ---------- 9. MARK IT YOUR WAY — copy first, then image on mobile ---------- */
  .marksec { background: var(--m-cream) !important; padding: 0 0 var(--m-rhythm) !important; }
  .marksec__inner {
    display: flex !important; flex-direction: column !important;
    padding: 0 !important; max-width: none !important;
  }
  .marksec__copy { order: 1; padding: 28px var(--m-gutter) 0 !important; }
  .marksec__media { order: 2; margin: 0 !important; }
  .marksec__media img {
    width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover;
    object-position: 50% 50%; border-radius: 0 !important;
  }
  .marksec__title { font-size: var(--m-section) !important; line-height: .95 !important; margin: 10px 0 0 !important; }
  .marksec__sub { font-size: var(--m-body) !important; margin: 12px 0 0 !important; max-width: 26ch !important; }
  .marksec__cta { margin-top: 20px !important; display: inline-block !important; }


  /* ---------- 10. OBSESSED WITH EVERY DETAIL — editorial manifesto ---------- */
  .founders { background: var(--m-cream) !important; padding: var(--m-rhythm) 0 !important; }
  .founders-card {
    background: none !important; box-shadow: none !important; border: 0 !important;
    border-top: 1px solid rgba(11,33,27,.12) !important; border-radius: 0 !important;
    padding: 26px 0 0 !important; display: block !important; text-align: left !important;
  }
  .founders__badge { margin: 0 auto 18px !important; width: 118px !important; height: 118px !important; }
  .founders__patch { width: 118px !important; height: 118px !important; margin: 0 auto !important; }

  .founders__copy { text-align: left !important; }
  .founders__copy h2 {
    font-size: var(--m-section) !important; line-height: .95 !important;
    margin: 0 0 18px !important; max-width: 16ch;
  }
  .founders__copy p {
    text-align: left !important; font-size: 15.5px !important; line-height: 1.7 !important;
    max-width: 34ch !important; margin: 0 0 16px !important; color: rgba(11,33,27,.78) !important;
  }
  .founders__copy p:first-of-type { font-size: 17px !important; line-height: 1.6 !important; color: var(--m-green) !important; }
  .founders__sign { text-align: left !important; margin-top: 6px !important; font-size: 22px !important; }

  /* ---------- 11. SOCIAL PROOF — credible, not a widget ---------- */
  .guarantee { padding: var(--m-rhythm) 0 !important; background: var(--m-cream) !important; }
  .reviews-head { display: block !important; }
  .reviews-head h2 { font-size: var(--m-section) !important; line-height: .95 !important; margin: 8px 0 0 !important; }
  .reviews-summary { display: flex !important; align-items: center !important; gap: 14px !important; margin-top: 18px !important; }
  .reviews-summary .num { font-size: 40px !important; line-height: 1 !important; }
  .reviews-summary .meta { font-size: 12px !important; font-weight: 600 !important; }
  .reviews-cred { margin-top: 16px !important; padding-top: 14px !important; border-top: 1px solid rgba(11,33,27,.1) !important; display: block !important; }
  .reviews-cred__badge { font-size: 10.5px !important; letter-spacing: .1em !important; text-transform: uppercase; }
  .reviews-cred__sep { display: none !important; }
  .reviews-cred__note { display: block; font-size: 12.5px !important; margin-top: 6px !important; opacity: .68; }
  .review-grid { align-items: flex-start !important; gap: 12px !important; }
  .review {
    padding: 20px 18px !important; gap: 10px !important; border-radius: 2px !important;
    box-shadow: none !important; border: 1px solid rgba(11,33,27,.1) !important; background: #fff !important;
  }
  .review p { font-size: 14.5px !important; }
  .guarantee .btn--outline { min-height: 46px; font-size: 11px !important; letter-spacing: .16em !important; }
  .guarantee > .wrap > div[style*="text-align:center"] { margin-top: 26px !important; }

  /* ---------- 12. BUILT TO LAST — the visual pause, one Dart moment ---------- */
  .warsec {
    padding: 48px var(--m-gutter) 54px !important; min-height: 0 !important;
    text-align: left !important; overflow: hidden; position: relative;
  }
  .warsec__inner { text-align: left !important; max-width: 24ch !important; margin: 0 !important; }
  .warsec__eyebrow { color: var(--m-pink) !important; }
  .warsec__title { font-size: var(--m-campaign) !important; line-height: .92 !important; margin: 12px 0 0 !important; }
  .warsec__sub { font-size: var(--m-body) !important; margin: 16px 0 0 !important; max-width: 26ch !important; }
  .warsec__cta { margin-top: 22px !important; display: inline-block !important; }
  .warsec__stamp { display: block; margin-top: 26px !important; font-size: 9.5px !important; letter-spacing: .2em !important; opacity: .55; }
  .warsec__dart {
    position: absolute !important; right: 10px !important; bottom: 14px !important; left: auto !important; top: auto !important;
    width: 38% !important; max-width: 168px !important; height: auto !important; opacity: .96;
    object-fit: contain !important;
  }

  /* ---------- 13. OUR STORY — personal, editorial ---------- */
  .storysec { display: block !important; }
  .storysec__media { min-height: 0 !important; margin: 0 !important; }
  .storysec__media img {
    width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover;
    object-position: 50% 26% !important;
  }
  .storysec__copy { padding: 32px var(--m-gutter) var(--m-rhythm) !important; }
  .storysec__title { font-size: var(--m-section) !important; line-height: .95 !important; margin: 10px 0 0 !important; }
  .storysec__sub { font-size: var(--m-body) !important; margin: 14px 0 0 !important; max-width: 28ch !important; }
  .storysec__cta { margin-top: 20px !important; display: inline-block !important; }

  /* ---------- 14. COMPLETE YOUR KIT ---------- */
  .kitsec { padding: var(--m-rhythm) 0 !important; }
  .kitsec__head { display: flex !important; align-items: baseline !important; justify-content: space-between; gap: 14px; margin-bottom: 18px !important; }
  .kitsec__title { font-size: var(--m-section) !important; line-height: .95 !important; margin: 0 !important; }
  .kit-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .kit-tile {
    aspect-ratio: 3 / 4; height: auto !important; min-height: 0 !important;
    border-radius: 2px !important; overflow: hidden;
  }
  .kit-tile:last-child { grid-column: span 2; aspect-ratio: 16 / 10; }
  .kit-tile img { width: 100%; height: 100%; object-fit: cover; }
  .kit-tile__cap { padding: 14px !important; gap: 8px !important; }
  .kit-tile__name { font-size: 15px !important; }
  .kit-tile__btn {
    font-size: 9.5px !important; letter-spacing: .14em !important; padding: 0 !important;
    background: none !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.6) !important;
    border-radius: 0 !important; min-height: 0 !important; color: #fff !important;
  }

  /* ---------- 15. FAQ — clean rows, no containers ---------- */
  .faq { padding: var(--m-rhythm) 0 !important; }
  .faq .center { text-align: left !important; }
  .faq .eyebrow--center { text-align: left !important; margin-left: 0 !important; }
  .faq__title { font-size: var(--m-section) !important; line-height: .95 !important; text-align: left !important; margin: 10px 0 22px !important; }
  .faq__list { margin: 0 !important; }
  .faq__item {
    background: none !important; box-shadow: none !important; border: 0 !important;
    border-top: 1px solid rgba(11,33,27,.12) !important; border-radius: 0 !important;
    margin: 0 !important; padding: 0 !important;
  }
  .faq__item:last-child { border-bottom: 1px solid rgba(11,33,27,.12) !important; }
  .faq__item summary { padding: 18px 34px 18px 0 !important; font-size: 15.5px !important; min-height: 56px; display: flex; align-items: center; }
  .faq__item summary::after { right: 2px !important; }
  .faq__item p { padding: 0 0 18px !important; font-size: 15px !important; line-height: 1.6 !important; max-width: 36ch; }

  /* ---------- 16. FINAL CTA ---------- */
  .closer { padding: 0 !important; min-height: 0 !important; display: block !important; }
  .closer__title { font-size: var(--m-campaign) !important; line-height: .92 !important; max-width: 13ch !important; }
  .closer__sub { font-size: var(--m-body) !important; margin-top: 14px !important; }
  .closer__cta { margin-top: 22px !important; display: inline-block !important; }
  .closer__proof { margin-top: 20px !important; font-size: 9.5px !important; letter-spacing: .14em !important; }

  .dboys-quote { padding: 40px 0 !important; }
  .dboys-quote blockquote { font-size: 24px !important; line-height: 1.24 !important; }

  .emailcap { padding: var(--m-rhythm) 0 !important; }
  .emailcap__inner { display: block !important; }
  .emailcap h2 { font-size: var(--m-section) !important; line-height: .95 !important; margin: 8px 0 0 !important; }
  .emailcap p { font-size: 15px !important; margin: 12px 0 20px !important; max-width: 32ch; }

  /* ---------- 17. FLOATING UI ---------- */
  .dc-fab { width: 46px; height: 46px; left: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); box-shadow: 0 8px 22px rgba(10,74,67,.3); }
  .dc-fab svg { width: 20px; height: 20px; }
  .dc-fab__dot { width: 10px; height: 10px; }
  .dc-panel { left: 10px; right: 10px; bottom: 10px; width: auto; height: min(78vh, 620px); }

  /* sticky buy bar: compact, brand-integrated, safe-area aware */
  .stickybar { background: var(--m-green) !important; border-top: 1px solid rgba(243,239,230,.14) !important; box-shadow: 0 -8px 26px rgba(0,0,0,.18) !important; }
  .stickybar__row {
    gap: 12px !important;
    padding: 9px var(--m-gutter) calc(9px + env(safe-area-inset-bottom)) !important;
    align-items: center !important;
  }
  .stickybar__thumb { display: none !important; }
  .stickybar__left { gap: 0 !important; min-width: 0; }
  .stickybar__name { font-size: 12px !important; letter-spacing: .04em !important; line-height: 1.1 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .stickybar__sub { font-size: 10px !important; opacity: .68 !important; margin-top: 2px !important; }
  .stickybar__sub .stars { --star: 11px !important; }
  .stickybar__right { gap: 12px !important; flex: none; }
  .stickybar__price { font-size: 16px !important; }
  .stickybar .btn {
    min-height: 42px !important; padding: 0 20px !important; display: inline-flex; align-items: center;
    border-radius: 2px !important; font-size: 11px !important; letter-spacing: .14em !important;
  }

  /* touch hygiene */
  .btn, .icon-btn, button, a.btn { min-height: 44px; }
  .feat-card__name, .feat-card__price { min-height: 0; }
  .cartfab { display: none !important; }

  /* ---------- 18. RESTRAINED MOTION ---------- */
  .m-reveal { opacity: 0; transform: translateY(14px); }
  .m-reveal.is-in { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
}

/* very small phones */
@media (max-width: 380px) {
  .announce { font-size: 10.5px; }
  .feat-card { flex-basis: 82% !important; }
  .stickybar__sub { display: none !important; }
}

@media print { .dc-fab, .dc-panel, .stickybar { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
  .m-reveal, .m-reveal.is-in { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============================================================
   LIFESTYLE SPREAD — campaign moment, magazine composition
   (full-bleed photo, copy top-left, belt detail bottom-right)
   ============================================================ */
@media (max-width: 900px) {
  .lifesec {
    display: block !important;
    position: relative;
    min-height: min(132vw, 640px) !important;
    overflow: hidden;
  }
  .lifesec__img {
    position: absolute !important; inset: 0;
    order: 0 !important; width: 100% !important; height: 100% !important;
    object-fit: cover; object-position: 56% 22% !important;   /* protect head + face */
  }
  .lifesec::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(165deg, rgba(8,20,16,.7) 0%, rgba(8,20,16,.26) 44%, rgba(8,20,16,0) 68%);
  }
  .lifesec__copy {
    display: block !important; position: relative; z-index: 3;
    max-width: 76%; padding: 30px var(--m-gutter) 0 !important;
  }
  .lifesec__eyebrow { margin: 0 !important; text-shadow: 0 2px 12px rgba(0,0,0,.6) !important; }
  .lifesec__title {
    margin: 12px 0 0 !important;
    font-size: var(--m-campaign) !important; line-height: .92 !important;
    text-shadow: 0 4px 22px rgba(0,0,0,.5) !important;
  }
  .lifesec__sub {
    margin: 12px 0 0 !important; max-width: 20ch; font-size: 15px !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.55) !important;
  }
  .lifesec__cta { margin: 20px 0 0 !important; }
  .lifesec__detail { display: none !important; }
}

/* ============================================================
   MOBILE POLISH PASS 2 — contrast, crops, restraint
   ============================================================ */
@media (max-width: 768px) {
  /* hero: no glow shadows, crisp editorial buttons */
  .hero__copy .btn, .hero__copy .btn--gold { box-shadow: none !important; }

  /* press strip: tighter, quieter */
  .hero { padding-bottom: 0 !important; }
  .pressbar, .asseen { padding-top: 26px !important; padding-bottom: 22px !important; }

  /* video band: keep type off the buckle, product high in frame */
  .videoband__frame video, .videoband__frame img { object-position: 50% 88% !important; }

  /* best sellers: legible tags, no heavy badges */
  .feat-card__tag {
    color: rgba(11,33,27,.62) !important; background: none !important;
    text-shadow: none !important; padding: 0 !important; letter-spacing: .16em !important;
  }
  .feat-card__sold, .feat-card__soldout, .feat-card [class*="sold"] {
    background: rgba(11,33,27,.82) !important; color: #F3EFE5 !important;
    border-radius: 2px !important; font-size: 10px !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    padding: 6px 10px !important; box-shadow: none !important;
  }

  /* collections: no mascot badge on tiles */
  .edcoll__pick { display: none !important; }

  /* sticky bar: squared, brand-tight */
  .stickybar .btn, .stickybar .btn--gold { border-radius: 2px !important; box-shadow: none !important; letter-spacing: .12em !important; }
}

@media (max-width: 768px) {
  .marksec__specs { margin: 22px 0 0 !important; font-size: 10.5px !important; letter-spacing: .14em !important; }
  .marksec { padding-bottom: 30px !important; }
  .quotestrip, .promise, .promisebar { padding-top: 34px !important; padding-bottom: 34px !important; }
}

@media (max-width: 768px) {
  .section.guarantee { padding: 40px 0 !important; }
  .dartee-review-grid { margin: 20px 0 0 !important; }
  .dartee-review-grid + div { margin: 22px 0 0 !important; text-align: center; }
  .reviews-cred { padding-top: 12px !important; }
}

@media (max-width: 768px) {
  /* warranty: Dart fully in frame, never cropped */
  .warsec__figure, .warsec__mascot, .warsec figure {
    right: 14px !important; bottom: 0 !important; width: 42% !important; max-width: 168px !important;
  }
  .warsec__figure img, .warsec__mascot img, .warsec figure img {
    width: 100% !important; height: auto !important; object-fit: contain !important;
  }
  .warsec__stamp, .warsec__approved { text-align: left !important; margin-left: 0 !important; }

  /* story + kit rhythm and colour discipline */
  .storysec, .storysec__copy { padding-bottom: 34px !important; }
  .kit-head, .kit__head { padding-top: 6px !important; }
  .kit-title, .kit__title, .kit-head h2 { color: var(--m-green) !important; }
}

@media (max-width: 768px) {
  /* FAQ: heritage green heading, tighter entry */
  .faq__title, .faq h2 { color: var(--m-green) !important; }
  .faq, .faqsec { padding-top: 40px !important; }
  .kitsec, .kit { padding-bottom: 34px !important; }

  /* FINAL CTA: photo first, copy underneath — product never covered */
  .closer {
    display: block !important; min-height: 0 !important;
    background-color: #0B211B !important; background-image: none !important;
    padding: 0 !important; text-align: left !important;
  }
  .closer::before {
    content: "" !important; position: static !important; display: block !important;
    inset: auto !important; width: 100% !important; aspect-ratio: 4 / 5;
    background: url("assets/photos/course.webp") 64% 44% / cover no-repeat !important;
  }
  .closer__inner {
    width: auto !important; max-width: none !important; margin: 0 !important;
    padding: 30px var(--m-gutter) 40px !important; text-align: left !important;
  }
  .closer__title { max-width: none !important; }
  .closer__sub { margin-left: 0 !important; margin-right: 0 !important; max-width: 26ch !important; }
}

/* ============================================================
   MOBILE POLISH PASS 3 — restraint, pacing, art-directed type
   ============================================================ */
@media (max-width: 900px) {
  /* no horizontal overflow, ever */
  html, body { overflow-x: hidden; }

  /* --- LIFESTYLE: golfer + visor + belt all intentionally composed --- */
  .lifesec { min-height: min(146vw, 700px) !important; }
  .lifesec__img { object-position: 52% 30% !important; }
  .lifesec::after {
    background: linear-gradient(168deg, rgba(8,20,16,.62) 0%, rgba(8,20,16,.2) 40%, rgba(8,20,16,0) 62%) !important;
  }
  .lifesec__copy { padding-top: 26px !important; max-width: 80% !important; }

  /* --- OBSESSED WITH EVERY DETAIL: shorter, sharper on phones --- */
  .founders__trim { display: none !important; }
  .founders { padding: var(--m-rhythm) 0 var(--m-rhythm-tight) !important; }
  .founders-card { padding-top: 22px !important; }
  .founders__copy p { margin: 0 0 14px !important; }
  .founders__copy p:last-of-type {
    font-size: 15.5px !important; color: var(--m-green) !important; font-weight: 600 !important;
  }

  /* --- MARK IT YOUR WAY: collectible energy, still premium --- */
  .marksec__eyebrow { color: var(--m-pink) !important; }
  .marksec__title { max-width: 12ch; }

  /* --- LOWER PAGE: secondary weight, tighter rhythm --- */
  .kitsec { padding: var(--m-rhythm-tight) 0 var(--m-rhythm-tight) !important; }
  .kitsec__title { font-size: clamp(24px, 7.4vw, 30px) !important; }
  .kit-grid { gap: 8px !important; }
  .faq { padding: var(--m-rhythm-tight) 0 !important; }
  .faq__title { font-size: clamp(24px, 7.4vw, 30px) !important; margin-bottom: 16px !important; }
  .faq__item summary { padding: 15px 34px 15px 0 !important; min-height: 50px; }
  .faq__item p { padding-bottom: 15px !important; }
  .dboys-quote { padding: 30px 0 !important; }
  .dboys-quote blockquote { font-size: 21px !important; }
  .emailcap { padding: var(--m-rhythm-tight) 0 !important; }
  .emailcap h2 { font-size: clamp(24px, 7.4vw, 30px) !important; }
  .emailcap p { margin: 10px 0 16px !important; }
  .footer { padding-top: var(--m-rhythm-tight) !important; }

  /* --- ONE CTA SYSTEM: primary / secondary / text --- */
  .hero__cta--primary, .stickybar .btn, .emailcap .btn, .guarantee .btn {
    border-radius: 2px !important; box-shadow: none !important;
    font-size: 11.5px !important; letter-spacing: .16em !important; font-weight: 800 !important;
  }
  .kit-tile__btn, .feat-shopall, .collsec__link { text-transform: uppercase !important; }
}

@media (max-width: 900px) {
  /* hero lead: clean type, no shadow over cream */
  .hero__lead, .hero__proof, .hero h1 { text-shadow: none !important; }

  /* FINAL CTA: tighter crop on the buckle-in-hand moment, less dead pant */
  .closer::before { aspect-ratio: 5 / 4 !important; background-position: 58% 30% !important; }
  /* pink stays an accent: one pink headline moment (warranty), closer reads cream */
  .closer__title .pink, .closer__title em, .closer__title span { color: var(--m-cream) !important; }
}

@media (max-width: 900px) {
  /* close the dead air before the last CTA + microcopy */
  .closer__inner { padding-bottom: 30px !important; }
  .closer__cta { margin-top: 18px !important; }
  .closer__proof { margin-top: 16px !important; }
  .marksec__specs { margin-top: 16px !important; }
  .marksec { padding-bottom: var(--m-rhythm-tight) !important; }
}

/* ============================================================
   FINAL PASS — hierarchy, CTA restraint, trust scannability
   ============================================================ */
@media (max-width: 900px) {
  /* CTA fatigue: one shop CTA above the fold — the hero's.
     The proof strip keeps its trust badges, loses the duplicate button. */
  .proofstrip__mcta { display: none !important; }
  .proofstrip__mobile-row { margin-bottom: 0 !important; }

  /* feature education = editorial text links, not three competing buttons */
  .glovesec__cta, .fitsec__cta {
    background: none !important; border: 0 !important; border-bottom: 1.5px solid var(--m-pink) !important;
    border-radius: 0 !important; padding: 0 0 5px !important; color: inherit !important;
    font-size: 11.5px !important; letter-spacing: .16em !important; font-weight: 800 !important;
  }

  /* REVIEWS: 3 strong reviews, then read-more. No wall of text. */
  .dartee-hp .jdgm-rev:nth-of-type(n+4) { display: none !important; }
  .dartee-hp .jdgm-paginate, .dartee-hp .jdgm-rev-widg__sort-wrapper { display: none !important; }
  .guarantee { padding: var(--m-rhythm) 0 var(--m-rhythm-tight) !important; }
  .reviews-cred__note { font-size: 12px !important; }
  .guarantee .btn { margin-top: 6px !important; }

  /* email capture stays a small, easy ask */
  .emailcap form, .emailcap .form { gap: 8px !important; }
  .emailcap input { min-height: 46px !important; }
}

@media (max-width: 900px) {
  /* eye path: headline -> product -> primary CTA -> trust (tertiary, last) */
  .hero__copy { display: flex !important; flex-direction: column !important; }
  .hero__kicker { order: 1; }
  .hero h1 { order: 2; }
  .hero__lead { order: 3; }
  .hero__cta { order: 4; }
  .hero__proof { order: 5; margin-top: 14px !important; opacity: .78; font-size: 11px !important; }
}

@media (max-width: 900px) {
  /* reviews: 3 scannable cards, single column, no peeking overflow */
  .dartee-hp .review-grid {
    display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important;
    overflow: visible !important; padding-bottom: 0 !important;
  }
  .dartee-hp .review-grid > .review { flex: none !important; width: auto !important; }
  .dartee-hp .review { padding: 18px !important; }
  .dartee-hp .review p { font-size: 15px !important; }
}

@media (max-width: 900px) {
  /* spec lines must wrap, never run off the edge */
  .fitsec__specs, .magsec__specs, .glovesec__specs, .marksec__specs {
    display: flex !important; flex-wrap: wrap !important; white-space: normal !important;
    row-gap: 4px !important; column-gap: 8px !important; font-size: 10.5px !important;
    letter-spacing: .1em !important; max-width: 100% !important;
  }
}

/* ============================================================
   LIFESTYLE (mobile only) — typography frames the golfer
   Photo untouched. Copy = one compact block, upper-left.
   Subject-safe: face, visor, belt, buckle, glove stay clear.
   ============================================================ */
.lifesec__sub-short { display: none; }

@media (max-width: 900px) {
  .lifesec { min-height: min(150vw, 720px) !important; }
  /* photo untouched */
  .lifesec__img { object-position: 58% 42% !important; }

  /* localized gradient behind the upper-left type only */
  .lifesec::after {
    background:
      radial-gradient(120% 78% at 0% 0%,
        rgba(8,20,16,.72) 0%,
        rgba(8,20,16,.44) 34%,
        rgba(8,20,16,.16) 56%,
        rgba(8,20,16,0) 72%) !important;
  }

  /* all typography stays left of the ~42% boundary */
  .lifesec__copy {
    padding: 32px 0 0 30px !important;
    max-width: min(42%, 238px) !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .lifesec__eyebrow {
    color: #e85190 !important;
    margin: 0 !important;
    font-size: 9.5px !important;
    letter-spacing: .2em !important;
    white-space: nowrap !important;
  }
  .lifesec__title {
    font-size: clamp(24px, 6.6vw, 31px) !important;
    line-height: 1.2 !important;
    letter-spacing: .005em !important;
    margin: 16px 0 0 !important;
    max-width: 9.2ch !important;
    color: #f3efe6 !important;
    text-shadow: 0 3px 16px rgba(0,0,0,.42) !important;
  }
  .lifesec__sub-full { display: none !important; }
  .lifesec__sub-short { display: inline !important; }
  .lifesec__sub {
    margin: 18px 0 0 !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    max-width: 16ch !important;
    color: #f3efe6 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
  }
  .lifesec__cta {
    position: relative;
    display: inline-block !important;
    margin: 16px 0 0 !important;
    color: #f3efe6 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
    border-bottom: none !important;
    background-image: none !important;
    white-space: nowrap !important;
    font-size: 11.5px !important;
    letter-spacing: .16em !important;
    padding-bottom: 5px;
  }
  .lifesec__cta::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 100%;
    height: 1px;
    background: #e85190;
  }
}

/* ============================================================
   MOBILE HERO — full-bleed campaign banner (editorial overlay)
   Photo runs edge to edge; type is centred inside it.
   ============================================================ */
@media (max-width: 900px) {
  .hero {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: #100c08 !important;
    overflow: hidden !important;
  }
  .hero::before {
    content: "" !important; display: block !important; position: relative !important;
    width: 100% !important;
    height: min(84vh, 620px) !important;
    background: #100c08 url("/__l5e/assets-v1/4bffd999-9ffe-4e0f-8c80-b539fc0558c4/dartee-mobile-hero-swing.jpg") no-repeat 50% 46% !important;
    background-size: cover !important;
  }
  /* legibility scrim behind the centred type only */
  .hero::after {
    content: "" !important; display: block !important;
    position: absolute !important; inset: 0 !important; z-index: 1 !important;
    background: linear-gradient(180deg, rgba(8,20,16,.30) 0%, rgba(8,20,16,.34) 40%, rgba(8,20,16,.10) 72%, rgba(8,20,16,0) 100%) !important;
    pointer-events: none !important;
  }
  .hero__grid {
    position: absolute !important; inset: 0 !important; z-index: 2 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 22px !important;
  }
  .hero__copy {
    max-width: 22ch !important; margin: 0 auto !important;
    text-align: center !important; align-items: center !important;
  }
  .hero__copy > * { text-align: center !important; }

  .hero__kicker {
    order: 1 !important; margin: 0 0 10px !important;
    color: #f3efe6 !important;
    font-size: 12px !important; letter-spacing: .24em !important; font-weight: 800 !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.55) !important;
  }
  .hero h1 {
    order: 2 !important;
    font-size: clamp(42px, 13vw, 62px) !important;
    line-height: .88 !important; letter-spacing: -.01em !important;
    margin: 0 !important;
    color: #f3efe6 !important;
    text-transform: uppercase !important;
    text-shadow: 0 3px 22px rgba(0,0,0,.5) !important;
  }
  .hero__lead { display: none !important; }
  .hero__cta {
    order: 3 !important;
    display: flex !important; flex-direction: column !important; align-items: center !important;
    gap: 14px !important; margin-top: 34px !important;
  }
  .hero__cta .hero__cta--primary {
    background: none !important; border: 0 !important; border-bottom: 2px solid rgba(243,239,230,.85) !important;
    border-radius: 0 !important; padding: 0 2px 6px !important; min-height: 0 !important;
    color: #f3efe6 !important;
    font-size: 12.5px !important; letter-spacing: .22em !important; font-weight: 800 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
  }
  .hero__cta .hero__cta--ghost {
    border: 0 !important; padding: 0 !important;
    color: rgba(243,239,230,.82) !important;
    font-size: 10.5px !important; letter-spacing: .2em !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
  }
  .hero__proof {
    order: 4 !important; margin: 18px 0 0 !important;
    color: rgba(243,239,230,.88) !important; opacity: 1 !important;
    font-size: 10px !important; letter-spacing: .16em !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
  }
}
