/* ══════════════════════════════════════════════════════════════════════════
   /lotto-software — page-isolated stylesheet
   AISHTMLNEWDESIGN-442

   Visual direction: "DRAW SLIP".

   A lottery is not a table game. Nobody sits down at it — a draw is an
   EVENT, announced on an evening, and the artefact the player holds is a
   printed slip with numbers marked on it. So the register is a draw-night
   broadcast printed onto ticket stock, built from two grounds and one signal:

     · NIGHT — deep indigo (#0f1436), the page's DOMINANT ground. This is the
               deliberate inverse of /card-game-development ("CUT DECK"),
               which is stock-dominant with slate punctuation; here the stock
               is the punctuation. The two pages must be distinguishable at a
               glance, not on inspection.
     · SLIP  — warm ticket stock (#f7f2e6) and true paper (#ffffff), used for
               the reading bands where prose has to be comfortable at length.
     · BALL  — one signal (#ffb300), the jackpot amber. It is the only hue
               that carries an action. No second action colour, no gradient
               family, no glow.

   Composition motif: the PICK — a marked number in a rounded cell, the way a
   player marks a slip. It indexes the five revenue entries and the five hero
   capabilities, and it replaces the icon that a generic feature card would
   reach for. Secondary motif: the PERFORATION — a dashed tear rule, used as
   the divider inside the turnkey quadrant and under the section heads.

   No two sections repeat a layout: a centred hero column, a crumb rule, an
   asymmetric prose/plate spread, a full-bleed banner, a lead-plus-2x2 draw
   column, a perforated quadrant, a mirrored hire spread, a two-column prose
   set, a numbered accordion, a facade rail and an address row. There is no
   three-up card grid on this page.

   Every rule is scoped to #page-lotto-software, so this file can never touch
   the shared header/footer, which is owned by /assets/css/ais-*.css +
   /assets/js/ais-header.js / ais-footer.js. The UA body-margin reset is NOT
   restated here — /assets/css/ais-layout.css owns it (skill section 33).

   Design contract (frontend-design skill):
     · rule  1 — Inter is the primary family
     · rule  2 — nothing below 16px, anywhere, including labels and captions
     · rule 23 — no slate-gray body copy on light surfaces (#252b45 floor)
     · rule 24 — image-free full-bleed hero, static gradient, centred column
     · rule 25 — one CTA per section, every label unique page-wide
     · rule 26 — no running animation: zero @keyframes, zero 'infinite',
                 transitions only, each a finite response to hover/focus/click
   ══════════════════════════════════════════════════════════════════════════ */

#page-lotto-software{
  /* ── palette ─────────────────────────────────────────────────────────── */
  --night:#0f1436;          /* draw-night ground — the page's dominant     */
  --night-2:#161d47;        /* raised night surface                        */
  --night-3:#252d63;        /* night hairline / third step                 */
  --slip:#f7f2e6;           /* ticket stock                                */
  --slip-2:#efe7d4;         /* deeper stock                                */
  --paper:#ffffff;
  --line:#e0d6bf;           /* hairline on stock                           */
  --line-strong:#c9bb9c;
  --line-dark:#2b3266;      /* hairline on night                           */
  --body:#252b45;           /* AA on paper and stock                       */
  --body-light:#d5daf2;     /* AA on night                                 */
  --strong:#0b1030;
  --ball:#ffb300;           /* the one signal — jackpot amber              */
  --ball-deep:#7a4f00;      /* the signal hue that passes AA on light      */
  --ball-soft:#ffd579;      /* the signal on night                         */
  --ball-tint:#fff3d6;

  --wrap:1200px;
  --r:14px;

  font-family:"Inter", system-ui, sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--body);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}

/* Scoped box model. There is no global reset in this repo's shared sheets, and
   omitting this cost /php-poker 48px of horizontal overflow at every viewport
   (AISHTMLNEWDESIGN-438). Scoped to the wrapper so it cannot reach the shared
   header/footer. */
#page-lotto-software,
#page-lotto-software *,
#page-lotto-software *::before,
#page-lotto-software *::after{box-sizing:border-box;}

/* ══ PRIMITIVES ══════════════════════════════════════════════════════════ */
#page-lotto-software .ls-wrap{
  width:100%;max-width:var(--wrap);margin-inline:auto;
  padding-inline:clamp(20px,4vw,32px);
}
#page-lotto-software .ls-sec{padding:clamp(64px,7vw,104px) 0;}
#page-lotto-software .ls-sec--slip{background:var(--slip);}
#page-lotto-software .ls-sec--paper{background:var(--paper);}
#page-lotto-software .ls-sec--night{background:var(--night);}

#page-lotto-software .ls-h2{
  font-size:clamp(32px,3.6vw,46px);line-height:1.15;letter-spacing:-.015em;
  font-weight:750;color:var(--strong);margin:0;
}
#page-lotto-software .ls-h2--wide{max-width:24ch;}
#page-lotto-software .ls-h2--light{color:#ffffff;}

#page-lotto-software .ls-eyebrow{
  font-size:16px;line-height:1.3;font-weight:650;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ball-deep);margin:0 0 14px;
}
#page-lotto-software .ls-eyebrow--light{color:var(--ball-soft);}

#page-lotto-software .ls-head{
  margin:0 0 clamp(36px,4vw,52px);
  padding-bottom:24px;border-bottom:1px dashed var(--line-strong);  /* perforation */
}
#page-lotto-software .ls-sec--night .ls-head{border-bottom-color:var(--night-3);}
#page-lotto-software .ls-head--centre{text-align:center;}
#page-lotto-software .ls-head--centre .ls-h2{margin-inline:auto;}

#page-lotto-software p{font-size:17px;line-height:1.68;color:var(--body);}
#page-lotto-software .ls-sec--night p{color:var(--body-light);}

#page-lotto-software .ls-link{
  color:var(--ball-deep);font-weight:600;
  border-bottom:1px solid rgba(122,79,0,.4);
  transition:color .18s ease,border-color .18s ease;
}
#page-lotto-software .ls-link:hover{color:var(--strong);border-bottom-color:var(--strong);}
#page-lotto-software .ls-link--light{color:var(--ball-soft);border-bottom-color:rgba(255,213,121,.45);}
#page-lotto-software .ls-link--light:hover{color:#ffffff;border-bottom-color:#ffffff;}

/* the PICK — a marked number in a rounded cell */
#page-lotto-software .ls-pick{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:40px;height:40px;border-radius:10px;
  font-size:16px;font-weight:750;font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  background:var(--ball-tint);color:var(--strong);
  border:1px solid var(--line-strong);
}
#page-lotto-software .ls-pick--lg{width:52px;height:52px;border-radius:12px;font-size:18px;}

/* ══ BUTTONS ═════════════════════════════════════════════════════════════
   Rule 13: min 44px target, and every state is present. Motion is a finite
   response to hover/focus/press — nothing here starts by itself. ═══════ */
#page-lotto-software .ls-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:13px 30px;border-radius:999px;border:1.5px solid transparent;
  font-family:inherit;font-size:17px;font-weight:650;line-height:1.2;
  cursor:pointer;text-align:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .12s ease;
}
#page-lotto-software .ls-btn--ball{background:var(--ball);color:var(--strong);border-color:var(--ball);}
#page-lotto-software .ls-btn--ball:hover{background:var(--ball-soft);border-color:var(--ball-soft);}
#page-lotto-software .ls-btn--ink{background:var(--night);color:#ffffff;border-color:var(--night);}
#page-lotto-software .ls-btn--ink:hover{background:var(--night-3);border-color:var(--night-3);}
#page-lotto-software .ls-btn--paper{background:var(--paper);color:var(--strong);border-color:var(--paper);}
#page-lotto-software .ls-btn--paper:hover{background:var(--ball);border-color:var(--ball);}
#page-lotto-software .ls-btn:active{transform:translateY(1px);}
#page-lotto-software .ls-btn:focus-visible{outline:3px solid var(--ball);outline-offset:3px;}
#page-lotto-software .ls-sec--night .ls-btn:focus-visible,
#page-lotto-software .ls-hero .ls-btn:focus-visible{outline-color:#ffffff;}

#page-lotto-software .ls-cta-row{margin-top:clamp(36px,4vw,48px);text-align:center;}
#page-lotto-software .ls-cta-row--left{margin-top:28px;text-align:left;}

/* ══ HERO — rule 24 ══════════════════════════════════════════════════════
   Full-bleed ground: a STATIC linear gradient, no animation, no image, no
   canvas. Content in a centred readable column of 900px. Exactly one CTA. */
#page-lotto-software .ls-hero{
  width:100%;
  padding:clamp(72px,8.5vw,124px) 24px clamp(60px,7vw,92px);
  background:linear-gradient(178deg,#0b1030 0%,var(--night) 46%,#141a45 100%);
  border-bottom:1px solid var(--line-dark);
}
#page-lotto-software .ls-hero__inner{max-width:900px;margin-inline:auto;text-align:center;}
#page-lotto-software .ls-hero__tag{
  font-size:16px;font-weight:650;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ball-soft);margin:0 0 20px;
}
#page-lotto-software .ls-hero h1{
  font-size:clamp(38px,5vw,66px);line-height:1.06;letter-spacing:-.022em;
  font-weight:780;color:#ffffff;margin:0 0 24px;
}
#page-lotto-software .ls-hero__copy{
  font-size:clamp(17px,1.25vw,19px);line-height:1.65;color:var(--body-light);
  margin:0 auto 34px;max-width:74ch;
}
#page-lotto-software .ls-hero__note{
  font-size:16px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ball-soft);margin:44px 0 18px;
}
/* trust row 1 — the five capabilities the record's own hero names, marked
   like picks on a slip. Text and number only: no icon, no svg, no image. */
#page-lotto-software .ls-picks{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
}
#page-lotto-software .ls-picks li{
  display:flex;align-items:center;gap:10px;
  padding:8px 18px 8px 8px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--line-dark);
  font-size:16px;color:#ffffff;
}
#page-lotto-software .ls-picks .ls-pick{
  width:32px;height:32px;border-radius:8px;
  background:var(--ball);border-color:var(--ball);color:var(--strong);
}
/* trust row 2 — the record's closing "rent, buy, or rent-to-buy" */
#page-lotto-software .ls-modes{
  list-style:none;margin:30px 0 0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:0 30px;
}
#page-lotto-software .ls-modes li{
  position:relative;font-size:16px;font-weight:600;color:var(--ball-soft);
  letter-spacing:.05em;
}
#page-lotto-software .ls-modes li + li::before{
  content:"";position:absolute;left:-15px;top:50%;
  width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--night-3);
}

/* ══ BREADCRUMB ══════════════════════════════════════════════════════════ */
#page-lotto-software .ls-crumbbar{background:var(--slip-2);border-bottom:1px solid var(--line);}
#page-lotto-software .ls-crumb{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:16px 0;font-size:16px;color:var(--body);
}
#page-lotto-software .ls-crumb img{display:block;}
#page-lotto-software .ls-crumb a{color:var(--ball-deep);font-weight:600;transition:color .18s ease;}
#page-lotto-software .ls-crumb a:hover{color:var(--strong);}
#page-lotto-software .ls-crumb [aria-current]{font-weight:650;color:var(--strong);}

/* ══ LEDE — asymmetric prose/plate spread ════════════════════════════════ */
#page-lotto-software .ls-lede{background:var(--paper);padding:clamp(64px,7vw,100px) 0;}
#page-lotto-software .ls-lede__grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(32px,5vw,64px);align-items:center;
}
#page-lotto-software .ls-lede__copy p{font-size:18px;line-height:1.72;margin:0;}
#page-lotto-software .ls-plate{
  margin:0;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line);background:var(--slip);
}
#page-lotto-software .ls-plate img{display:block;width:100%;height:auto;}

/* ══ BANNER — the record's collaborate band ══════════════════════════════ */
#page-lotto-software .ls-banner{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--night);padding:clamp(48px,6vw,76px) 0;
}
#page-lotto-software .ls-banner__bg{
  position:absolute;inset:0;z-index:-1;
  width:100%;height:100%;object-fit:cover;opacity:.28;
}
#page-lotto-software .ls-banner::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(15,20,54,.94) 0%,rgba(15,20,54,.72) 100%);
}
/* Single centred column: the CTA sits UNDER the copy it earns rather than in a
   right-hand column beside it, and the band centres as a whole. .ls-banner__sub
   carries a 56ch cap, so it needs margin-inline:auto — text-align alone would
   centre the text inside a block still flush left. (requested 2026-09-19) */
#page-lotto-software .ls-banner__grid{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(24px,4vw,40px);justify-items:center;text-align:center;
}
#page-lotto-software .ls-banner .ls-h2{margin-inline:auto;}
#page-lotto-software .ls-banner .ls-h2{color:#ffffff;}
#page-lotto-software .ls-banner__sub{
  font-size:18px;line-height:1.6;color:var(--body-light);margin:16px auto 0;max-width:56ch;
}

/* ══ DRAW COLUMN — a lead entry over a 2×2, indexed by picks ═════════════ */
#page-lotto-software .ls-draw{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,2.4vw,30px);
}
#page-lotto-software .ls-draw__item{
  display:flex;gap:20px;align-items:flex-start;
  padding:clamp(24px,2.6vw,32px);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  transition:border-color .18s ease,box-shadow .18s ease;
}
#page-lotto-software .ls-draw__item:hover{
  border-color:var(--ball);box-shadow:0 12px 30px rgba(15,20,54,.09);
}
#page-lotto-software .ls-draw__item--lead{
  grid-column:1/-1;background:var(--night);border-color:var(--night);
}
#page-lotto-software .ls-draw__item--lead:hover{border-color:var(--ball);}
#page-lotto-software .ls-draw__item h5{
  font-size:21px;line-height:1.3;font-weight:700;color:var(--strong);margin:0 0 10px;
}
#page-lotto-software .ls-draw__item--lead h5{color:#ffffff;}
#page-lotto-software .ls-draw__item p{margin:0;}
#page-lotto-software .ls-draw__item--lead p{color:var(--body-light);max-width:88ch;}
#page-lotto-software .ls-draw__item--lead .ls-pick{
  background:var(--ball);border-color:var(--ball);color:var(--strong);
}

/* ══ TURNKEY QUADRANT — a 2×2 divided by a dashed perforation cross ══════ */
#page-lotto-software .ls-quad{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px dashed var(--night-3);border-radius:var(--r);overflow:hidden;
  background:var(--night-2);
}
#page-lotto-software .ls-quad__cell{padding:clamp(28px,3vw,40px);}
#page-lotto-software .ls-quad__cell:nth-child(odd){border-right:1px dashed var(--night-3);}
#page-lotto-software .ls-quad__cell:nth-child(-n+2){border-bottom:1px dashed var(--night-3);}
#page-lotto-software .ls-quad__cell img{display:block;margin:0 0 16px;}
#page-lotto-software .ls-quad__cell h5{
  font-size:21px;line-height:1.3;font-weight:700;color:#ffffff;margin:0 0 10px;
}
#page-lotto-software .ls-quad__cell p{margin:0;}

/* ══ HIRE — mirrored spread ══════════════════════════════════════════════ */
#page-lotto-software .ls-hire{background:var(--paper);padding:clamp(64px,7vw,100px) 0;}
#page-lotto-software .ls-hire__grid{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,64px);align-items:center;
}
#page-lotto-software .ls-hire__sub{font-size:18px;line-height:1.68;margin:20px 0 0;max-width:56ch;}
#page-lotto-software .ls-plate--hire{background:var(--slip-2);}

/* ══ PROSE SET — two columns of the record's four paragraphs ═════════════ */
#page-lotto-software .ls-prose{
  columns:2;column-gap:clamp(32px,4vw,56px);
}
#page-lotto-software .ls-prose p{
  margin:0 0 20px;break-inside:avoid;font-size:17px;
}
#page-lotto-software .ls-prose p:last-child{margin-bottom:0;}

/* ══ FAQ — numbered accordion, single-open, user-initiated only ══════════ */
#page-lotto-software .ls-faq{
  max-width:920px;margin-inline:auto;
  border-top:1px dashed var(--line-strong);
}
#page-lotto-software .ls-faq details{border-bottom:1px dashed var(--line-strong);}
#page-lotto-software .ls-faq summary{
  display:flex;align-items:flex-start;gap:16px;
  padding:22px 4px;cursor:pointer;list-style:none;
  transition:color .18s ease;
}
#page-lotto-software .ls-faq summary::-webkit-details-marker{display:none;}
#page-lotto-software .ls-faq summary:hover h2{color:var(--ball-deep);}
#page-lotto-software .ls-faq summary:focus-visible{outline:3px solid var(--ball);outline-offset:2px;border-radius:8px;}
#page-lotto-software .ls-faq summary h2{
  flex:1 1 auto;margin:0;
  font-size:19px;line-height:1.45;font-weight:650;color:var(--strong);
  transition:color .18s ease;
}
#page-lotto-software .ls-faq__n{
  flex:0 0 auto;min-width:44px;
  font-size:16px;font-weight:750;color:var(--ball-deep);
  font-variant-numeric:tabular-nums;padding-top:2px;
}
#page-lotto-software .ls-faq__pm{
  flex:0 0 auto;position:relative;width:20px;height:20px;margin-top:3px;
}
#page-lotto-software .ls-faq__pm::before,
#page-lotto-software .ls-faq__pm::after{
  content:"";position:absolute;background:var(--strong);border-radius:2px;
  transition:transform .18s ease,opacity .18s ease;
}
#page-lotto-software .ls-faq__pm::before{left:0;top:9px;width:20px;height:2px;}
#page-lotto-software .ls-faq__pm::after{left:9px;top:0;width:2px;height:20px;}
#page-lotto-software .ls-faq details[open] .ls-faq__pm::after{transform:scaleY(0);opacity:0;}
#page-lotto-software .ls-faq__a{
  display:flex;gap:16px;padding:0 4px 24px 0;
}
#page-lotto-software .ls-faq__ans{
  flex:0 0 auto;min-width:44px;
  font-size:16px;font-weight:700;color:var(--ball-deep);
}
#page-lotto-software .ls-faq__a p{margin:0;}

/* ══ STORIES — facade rail; the iframe is created on click, never before ══ */
#page-lotto-software .ls-stories{background:var(--night);padding:clamp(64px,7vw,100px) 0;}
#page-lotto-software .ls-storylist{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2.6vw,32px);
}
#page-lotto-software .ls-story{
  background:var(--night-2);border:1px solid var(--night-3);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;
}
#page-lotto-software .ls-vid{
  position:relative;display:block;width:100%;padding:0;border:0;
  background:var(--night-3);cursor:pointer;line-height:0;
  transition:filter .18s ease;
}
#page-lotto-software .ls-vid img{display:block;width:100%;height:auto;}
#page-lotto-software .ls-vid:hover{filter:brightness(1.08);}
#page-lotto-software .ls-vid:focus-visible{outline:3px solid var(--ball);outline-offset:-3px;}
#page-lotto-software .ls-vid__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding-left:4px;background:var(--ball);color:var(--strong);
  transition:background-color .18s ease;
}
#page-lotto-software .ls-vid:hover .ls-vid__play{background:#ffffff;}
#page-lotto-software .ls-story__frame{display:block;width:100%;aspect-ratio:3/2;border:0;}
#page-lotto-software .ls-story blockquote{margin:0;padding:22px 24px 26px;}
#page-lotto-software .ls-story blockquote p{margin:0;font-size:16px;color:var(--body-light);}
#page-lotto-software .ls-more{margin:36px 0 0;text-align:center;}

/* ══ AREA WE SERVE — address row, no CTA (rule 25 excluded list) ═════════ */
#page-lotto-software .ls-regions{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(20px,2.4vw,28px);
}
#page-lotto-software .ls-region{
  padding:26px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);
}
#page-lotto-software .ls-region h3{
  display:flex;align-items:center;gap:9px;margin:0 0 12px;
  font-size:18px;font-weight:700;letter-spacing:.04em;color:var(--strong);
}
#page-lotto-software .ls-region h3 img{display:block;flex:0 0 auto;}
#page-lotto-software .ls-tel{
  display:inline-block;margin-bottom:10px;
  font-size:17px;font-weight:650;color:var(--ball-deep);
  transition:color .18s ease;
}
#page-lotto-software .ls-tel:hover{color:var(--strong);}
#page-lotto-software .ls-region p{margin:0;font-size:16px;}

/* ══ CTA MODAL ═══════════════════════════════════════════════════════════ */
#page-lotto-software .ls-modal{
  display:none;position:fixed;inset:0;z-index:9999;
  padding: 100px 20px 20px 20px;overflow-y:auto;background:rgba(8,11,32,.74);
}
#page-lotto-software .ls-modal.is-open{display:flex;align-items:flex-start;justify-content:center;}
#page-lotto-software .ls-modal__box{
  position:relative;width:100%;max-width:640px;margin:auto;
  background:var(--paper);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
#page-lotto-software .ls-modal__x{
  position:absolute;top:12px;right:12px;z-index:2;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:var(--strong);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
#page-lotto-software .ls-modal__x:hover{background:var(--ball);border-color:var(--ball);}
#page-lotto-software .ls-modal__x:focus-visible{outline:3px solid var(--ball);outline-offset:2px;}
/* rule 20 — the GHL widget is a TWO-SLIDE survey whose slides differ in
   height, and it never posts its own height (it emits only ["iframeLoaded"]).
   form_embed.js is loaded on FIRST MODAL OPEN and starts their iFrameResizer,
   which sizes the iframe per slide; the -5px cancels only the resizer's own
   trailing inline-box gap and .ls-modal__box's overflow:hidden clips it.
   Until the resizer initialises — or if the script is blocked — the iframe
   keeps a floor tall enough for the WORST slide and drops the negative
   margin, so a failed script degrades to "a little roomy", never to a
   clipped SUBMIT bar. Ported from /card-game-development, AISHTMLNEWDESIGN-327. */
#page-lotto-software .ls-modal iframe{
  display:block;width:100%;border:0;margin-bottom:-5px;
}
#page-lotto-software .ls-modal iframe:not([data-iframe-resizer-initialized]){
  min-height:1290px;margin-bottom:0;
}

/* ══ RESPONSIVE ══════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  #page-lotto-software .ls-regions{grid-template-columns:repeat(2,minmax(0,1fr));}
  #page-lotto-software .ls-storylist{grid-template-columns:repeat(2,minmax(0,1fr));}
  #page-lotto-software .ls-story:last-child{grid-column:1/-1;max-width:520px;margin-inline:auto;width:100%;}
}
@media (max-width:920px){
  #page-lotto-software .ls-lede__grid,
  #page-lotto-software .ls-hire__grid{grid-template-columns:minmax(0,1fr);}
  /* the plate follows the copy on narrow screens, in both spreads */
  #page-lotto-software .ls-plate{order:2;}
  #page-lotto-software .ls-draw{grid-template-columns:minmax(0,1fr);}
  #page-lotto-software .ls-quad{grid-template-columns:minmax(0,1fr);}
  #page-lotto-software .ls-quad__cell:nth-child(odd){border-right:0;}
  #page-lotto-software .ls-quad__cell:not(:last-child){border-bottom:1px dashed var(--night-3);}
  #page-lotto-software .ls-prose{columns:1;}
}
@media (max-width:720px){
  #page-lotto-software .ls-storylist{grid-template-columns:minmax(0,1fr);}
  #page-lotto-software .ls-story:last-child{max-width:none;}
  #page-lotto-software .ls-regions{grid-template-columns:minmax(0,1fr);}
  #page-lotto-software .ls-hero__note{margin-top:36px;}
  #page-lotto-software .ls-picks{justify-content:flex-start;text-align:left;}
  #page-lotto-software .ls-picks li{width:100%;}
  #page-lotto-software .ls-modes{justify-content:flex-start;}
  #page-lotto-software .ls-hero__inner{text-align:left;}
  #page-lotto-software .ls-hero__copy{margin-inline:0;}
  /* full-width CTA on small screens — rule 16 recomposes, it does not shrink */
  #page-lotto-software .ls-btn{width:100%;}
  #page-lotto-software .ls-cta-row,
  #page-lotto-software .ls-cta-row--left{text-align:left;}
  #page-lotto-software .ls-draw__item{flex-direction:column;gap:14px;}
  #page-lotto-software .ls-faq summary{gap:12px;}
  #page-lotto-software .ls-faq__n,
  #page-lotto-software .ls-faq__ans{min-width:38px;}
}
@media (max-width:420px){
  #page-lotto-software .ls-modal{padding: 100px 10px 10px 10px;}
}

/* ══ REDUCED MOTION ══════════════════════════════════════════════════════
   There is no running animation on this page to disable — the file contains
   zero @keyframes. This blanket-shortens the finite hover/focus/open
   transitions that remain, for users who ask for it. ══════════════════ */
@media (prefers-reduced-motion:reduce){
  #page-lotto-software *,
  #page-lotto-software *::before,
  #page-lotto-software *::after{
    animation:none !important;
    transition-duration:.01ms !important;
  }
}
