/* SCBW responsive layer.
   Desktop layout lives in the inline styles; these breakpoints override it.
   Hooks are data-r="…" attributes on layout containers (stable across re-renders). */

*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; }
img, canvas, svg { max-width: 100%; }

/* mobile chrome is hidden until the phone breakpoint */
[data-m="burger"], [data-m="panel"], [data-m="ctabar"] { display: none; }

/* ---------- Tablet / small laptop ---------- */
@media (max-width: 1024px) {
  [data-r="wrap"], [data-r="header"], [data-r="footer"], [data-r="strip"] {
    padding-left: 32px !important; padding-right: 32px !important;
  }

  /* sticky split-rail sections become a single column */
  [data-r="split"] { grid-template-columns: 1fr !important; }
  [data-r="split"] > div:first-child { padding: 44px 0 8px !important; }
  [data-r="pane"] { border-left: none !important; padding: 0 0 44px !important; }
  [data-r="rail"] { position: static !important; }
  [data-r="rail"] p { max-width: 640px !important; }

  /* card grids step down one level */
  [data-r="grid4"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="kpi4"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="grid75"] { grid-template-columns: 1fr !important; }
  [data-r="pairs"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="entrycard"] { grid-template-columns: 1fr !important; gap: 30px !important; padding: 44px 36px !important; }
  [data-r="grid3"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="grid7"] { grid-template-columns: repeat(4, 1fr) !important; }
  [data-r="grid75"] { grid-template-columns: 1fr !important; }

  [data-r="h1"] { font-size: 46px !important; }
  [data-r="h2"] { font-size: 34px !important; }
  [data-r="lede"] { font-size: 17px !important; }
  [data-r="strip"] { flex-wrap: wrap !important; gap: 18px 30px !important; }
}

/* ---------- Phone / small tablet ---------- */
@media (max-width: 780px) {
  [data-r="wrap"], [data-r="header"], [data-r="footer"], [data-r="strip"] {
    padding-left: 20px !important; padding-right: 20px !important;
  }

  [data-r="grid2"], [data-r="grid3"], [data-r="grid4"], [data-r="grid75"] {
    grid-template-columns: 1fr !important;
  }
  [data-r="grid7"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="kpi4"] { grid-template-columns: 1fr 1fr !important; }

  /* home pricing band stacks */
  [data-r="priceband"] { flex-direction: column !important; align-items: flex-start !important; gap: 22px !important; }
  [data-r="priceband"] > div:first-child { width: auto !important; }
  [data-r="pricepair"] { flex-wrap: wrap !important; gap: 18px !important; }

  /* 96d dashboard mock chrome */
  [data-r="mockhead"] { flex-wrap: wrap !important; gap: 8px !important; }
  [data-r="mockhead"] > div:last-child { display: none !important; }
  [data-r="mocktabs"] { flex-wrap: wrap !important; gap: 10px 12px !important; }

  [data-r="footernav"] a { padding: 6px 0 !important; }
  [data-r="entrycard"] { grid-template-columns: 1fr !important; gap: 26px !important; padding: 34px 24px !important; }

  /* in-page nav is replaced by the hamburger panel */
  [data-r="nav"] { display: none !important; }
  [data-r="header"] { padding-top: 16px !important; padding-bottom: 16px !important; }

  [data-r="h1"] { font-size: 34px !important; line-height: 1.12 !important; }
  [data-r="h2"] { font-size: 27px !important; }
  [data-r="lede"] { font-size: 16px !important; }

  /* proof strip: one compact centred line, dots instead of vertical rules */
  [data-r="strip"] {
    flex-direction: row !important; flex-wrap: wrap !important;
    justify-content: center !important; align-items: center !important;
    gap: 7px 12px !important; font-size: 12.5px !important;
    padding-top: 20px !important; padding-bottom: 34px !important;
  }
  [data-r="strip"] > div { gap: 5px !important; }
  [data-r="strip"] span { font-size: 15px !important; }
  [data-r="rule"] {
    width: 3px !important; height: 3px !important; border-radius: 50% !important;
    background: #cfcab8 !important; align-self: center !important;
  }

  /* CTA rows stack, buttons full width */
  [data-r="ctarow"] { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  [data-r="ctarow"] > a, [data-r="ctarow"] > div { text-align: center !important; }

  /* prev/next pager reads as one compact block, not two sections */
  [data-r="pager"] { flex-direction: column !important; gap: 0 !important; }
  [data-r="pagerrule"] { display: none !important; }
  [data-r="pagercell"] {
    display: flex !important; align-items: baseline !important; justify-content: space-between !important;
    gap: 14px !important; padding: 15px 0 !important; text-align: left !important;
    border-bottom: 1px solid #efece2 !important;
  }
  [data-r="pagercell"] > div:first-child { margin-bottom: 0 !important; flex: none !important; }
  [data-r="pagercell"] > div:nth-child(2) { font-size: 19px !important; margin-bottom: 0 !important; text-align: right !important; }
  [data-r="pagercell"] > div:nth-child(3) { display: none !important; }

  /* footer stacks */
  [data-r="footer"] { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; padding-bottom: 96px !important; }
  [data-r="footernav"] { flex-wrap: wrap !important; gap: 10px 16px !important; }

  [data-r="card"] { padding: 24px 22px !important; }
  [data-r="logo"] { height: 42px !important; }

  /* the ambient agent animation is desktop-only: hidden here, and its loop is stopped in page JS */
  [data-r="bganim"] { display: none !important; }

  /* mobile rhythm: sections and split rails tighten to the approved 30-34px */
  [data-r="sec"] { padding-top: 34px !important; padding-bottom: 34px !important; }
  [data-r="split"] > div:first-child { padding: 30px 0 6px !important; }
  [data-r="pane"] { padding: 0 0 30px !important; }

  /* goal cards read as ruled rows: label + line, arrow right */
  [data-r="rows"] { grid-template-columns: 1fr !important; gap: 0 !important; }
  [data-r="rowcard"] {
    display: grid !important; grid-template-columns: 1fr auto !important; column-gap: 12px !important;
    background: transparent !important; border: none !important; border-top: 1px solid #efece2 !important;
    border-radius: 0 !important; padding: 14px 0 !important; box-shadow: none !important; transform: none !important;
  }
  [data-r="rowcard"] > svg { display: none !important; }
  [data-r="rowcard"] > div:nth-of-type(1) { grid-column: 1; font-size: 15px !important; }
  [data-r="rowcard"] > p { grid-column: 1; font-size: 12.5px !important; color: #8b8678 !important; }
  [data-r="rowcard"] > div:nth-of-type(2) { grid-column: 2; grid-row: 1 / 3; align-self: center !important; }
  [data-r="rows"] > [data-r="rowcard"]:last-child { border-bottom: 1px solid #efece2 !important; }

  /* section headers stack; the right-aligned lede goes left */
  [data-r="sechead"] { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; margin-bottom: 20px !important; }
  [data-r="sechead"] p { text-align: left !important; max-width: none !important; margin-bottom: 0 !important; }

  /* primary CTAs are full-width blocks */
  [data-r="ctacol"] { align-items: stretch !important; }
  [data-r="ctabtn"] { display: block !important; width: 100% !important; box-sizing: border-box !important; text-align: center !important; }
  [data-r="ctacol"] > div { text-align: center !important; }

  /* capability and stat cards read as text pairs, two up */
  [data-r="pairs"] { grid-template-columns: 1fr 1fr !important; gap: 18px 14px !important; }
  [data-r="cardflat"] { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; }

  /* client logo carousel: three larger logos in view, as approved */
  [data-r="logotrack"] { gap: 20px !important; padding: 18px 0 !important; }
  [data-r="logotrack"] img, [data-r="logotrack"] [data-r="logo"] {
    flex: none !important; width: 98px !important; height: 40px !important; object-fit: contain !important;
  }

  /* ---- mobile chrome ---- */
  [data-m="burger"] {
    display: flex !important; position: fixed; top: 14px; right: 16px; z-index: 70;
    flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    width: 42px; height: 42px; padding: 0; border: 1px solid #e5e2d6; border-radius: 12px;
    background: rgba(255,255,255,.94); backdrop-filter: blur(6px); cursor: pointer;
  }
  [data-m="burger"][data-open="1"] { opacity: 0; pointer-events: none; }

  [data-m="panel"] {
    display: flex !important; position: fixed; inset: 0; z-index: 80;
    flex-direction: column; gap: 2px; padding: 18px 20px 28px;
    background: #faf9f5; font-family: 'Instrument Sans', sans-serif;
    transform: translateY(-100%); transition: transform .32s cubic-bezier(.2,.6,.2,1);
  }
  [data-m="panel"][data-open="1"] { transform: none; }
  [data-m="panelhead"] {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8b8678;
    padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid #e5e2d6;
  }
  [data-m="close"] { border: none; background: none; font-size: 18px; color: #1f1e1b; cursor: pointer; padding: 4px 6px; }
  [data-m="panellink"] {
    font-family: 'Source Serif 4', serif; font-size: 26px; color: #1f1e1b; text-decoration: none;
    padding: 15px 0; border-bottom: 1px solid #efece2;
  }
  [data-m="panelcta"] {
    margin-top: 22px; background: #1f1e1b; color: #faf9f5; font-size: 15.5px; font-weight: 500;
    text-align: center; text-decoration: none; padding: 16px; border-radius: 99px;
  }

  [data-m="ctabar"] {
    display: block !important; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60;
    background: #1f1e1b; color: #faf9f5; font-family: 'Instrument Sans', sans-serif;
    font-size: 15px; font-weight: 500; text-align: center; text-decoration: none;
    padding: 15px; border-radius: 99px; box-shadow: 0 10px 30px rgba(31,30,27,.24);
  }
}

/* ---------- Small phone ---------- */
@media (max-width: 480px) {
  [data-r="wrap"], [data-r="header"], [data-r="footer"], [data-r="strip"] {
    padding-left: 16px !important; padding-right: 16px !important;
  }
  [data-r="h1"] { font-size: 30px !important; }
  [data-r="h2"] { font-size: 24px !important; }
  [data-r="card"] { padding: 20px 18px !important; }
  [data-r="sec"] { padding-top: 30px !important; padding-bottom: 30px !important; }
  [data-r="logotrack"] { gap: 18px !important; }
  [data-r="logotrack"] img, [data-r="logotrack"] [data-r="logo"] { width: 92px !important; height: 38px !important; }
  [data-r="grid7"] { grid-template-columns: 1fr !important; }
  [data-r="strip"] { font-size: 11.5px !important; gap: 6px 10px !important; }
  [data-r="strip"] span { font-size: 14px !important; }
  [data-m="panellink"] { font-size: 23px !important; padding: 13px 0 !important; }
}
