/** Shopify CDN: Minification failed

Line 6512:29 Unexpected "{"
Line 6512:38 Expected ":"
Line 6512:44 Unexpected ","
Line 6513:35 Unexpected "{"
Line 6513:44 Expected ":"
Line 6513:50 Unexpected ","
Line 6514:30 Unexpected "{"
Line 6514:39 Expected ":"
Line 6514:45 Unexpected ","
Line 6515:33 Unexpected "{"
... and 134 more hidden warnings

**/
/*
  LoopsDirect — Shared premium under-cabinet style page CSS
  Extracted from Aurelia so Eclipse, Aurelia, Vela, Prism, Elara,
  Linea Compact, Linea Select and Linea Pure can share one stylesheet.

  IMPORTANT: every style-page root section must include class "ld-style-page".
*/

  .ld-style-page {
    --au-ink: #171717;
    --au-muted: #69655f;
    --au-line: #e5e0d8;
    --au-soft: #f7f5f1;
    --au-warm: #f1ece4;
    --au-white: #ffffff;
    --au-accent: #a67c49;
    --au-accent-dark: #745634;
    --au-green: #315d49;
    --au-shadow: 0 18px 50px rgba(20, 20, 20, 0.08);
    --au-radius: 22px;
    --au-radius-sm: 14px;
    color: var(--au-ink);
    background: var(--au-white);
    font-family: inherit;
    line-height: 1.55;
  }

  .ld-style-page *,
  .ld-style-page *::before,
  .ld-style-page *::after {
    box-sizing: border-box;
  }

  .ld-style-page img {
    display: block;
    width: 100%;
    height: auto;
  }

  .ld-style-page a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .ld-style-page .au-shell {
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto;
  }

  .ld-style-page .au-section {
    padding: 82px 0;
  }

  .ld-style-page .au-section--soft {
    background: var(--au-soft);
  }

  .ld-style-page .au-section--warm {
    background: var(--au-warm);
  }

  /* Premium project-planning background */
  .ld-style-page .au-section--professional {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(145deg, #f7f5f1 0%, #eeeae3 100%);
  }

  /* Default fallback when no Theme Editor image has been chosen */
  .ld-style-page .au-section--professional::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
      linear-gradient(rgba(249, 247, 243, .84), rgba(249, 247, 243, .88)),
      repeating-linear-gradient(0deg, transparent 0 54px, rgba(102, 98, 90, .055) 54px 55px),
      repeating-linear-gradient(90deg, transparent 0 54px, rgba(102, 98, 90, .055) 54px 55px);
  }

  .ld-style-page .au-section--professional::after {
    content: "";
    position: absolute;
    inset: -80px -120px;
    z-index: -1;
    pointer-events: none;
    opacity: .30;
    background-image:
      linear-gradient(31deg, transparent 49.72%, rgba(116, 104, 89, .08) 49.8% 50.2%, transparent 50.28%),
      linear-gradient(149deg, transparent 49.72%, rgba(116, 104, 89, .06) 49.8% 50.2%, transparent 50.28%);
    background-size: 420px 260px, 480px 300px;
  }

  /* When a real background image is selected, use it cleanly:
     no fake CSS plan drawing or extra grid layered over it. */
  .ld-style-page .au-section--professional.has-prof-background::before {
    background-image:
      linear-gradient(90deg, rgba(250, 247, 241, .53) 0%, rgba(250, 247, 241, .40) 42%, rgba(250, 247, 241, .29) 100%),
      var(--au-prof-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .ld-style-page .au-section--professional.has-prof-background::after {
    display: none;
  }

  .ld-style-page .au-section--professional .au-shell {
    position: relative;
    z-index: 1;
  }

  .ld-style-page .au-section--professional .au-lead {
    max-width: 880px;
  }

  .ld-style-page .au-section--professional .au-grid-4 {
    gap: 14px;
    margin-top: 30px;
  }

  .ld-style-page .au-section--professional .au-card {
    padding: 24px 20px 25px;
    border-color: rgba(154, 143, 128, .28);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 45px rgba(55, 49, 41, .075);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .ld-style-page .au-section--professional .au-card-number {
    margin: 0 0 12px;
    color: #9a7549;
    font-family: "Segoe Script", "Snell Roundhand", "Apple Chancery", "Brush Script MT", cursive;
    font-size: 40px;
    font-weight: 400;
    line-height: .95;
    letter-spacing: -0.08em;
    text-transform: none;
  }

  .ld-style-page .au-section--professional .au-card h3 {
    margin-bottom: 9px;
    font-size: 17px;
    line-height: 1.15;
    letter-spacing: -0.025em;
  }

  .ld-style-page .au-section--professional .au-card p {
    font-size: 13.5px;
    line-height: 1.52;
  }

  .ld-style-page .au-section--professional .au-audience span {
    border: 1px solid rgba(154, 143, 128, .18);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 7px 20px rgba(55, 49, 41, .035);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  @media screen and (min-width: 1180px) {
    .ld-style-page .au-section--professional .au-card h3 {
      white-space: nowrap;
    }
  }

  .ld-style-page .au-kicker {
    display: inline-block;
    margin: 0 0 12px;
    color: var(--au-accent-dark);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  .ld-style-page .au-heading {
    margin: 0;
    font-size: clamp(31px, 4.1vw, 58px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: var(--au-ink);
  }

  .ld-style-page .au-heading--section {
    max-width: 880px;
    font-size: clamp(28px, 3.1vw, 44px);
    line-height: 1.08;
  }

  .ld-style-page .au-lead {
    margin: 18px 0 0;
    max-width: 760px;
    color: var(--au-muted);
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.65;
  }

  .ld-style-page .au-copy {
    color: var(--au-muted);
    font-size: 16px;
  }

  .ld-style-page .au-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 15px 26px;
    border: 1px solid var(--au-ink);
    border-radius: 999px;
    background: var(--au-ink);
    color: var(--au-white);
    font: inherit;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
    transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
  }

  .ld-style-page .au-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(0,0,0,.12);
  }

  .ld-style-page .au-button:focus-visible,
  .ld-style-page button:focus-visible,
  .ld-style-page a:focus-visible,
  .ld-style-page summary:focus-visible {
    outline: 3px solid rgba(166, 124, 73, 0.45);
    outline-offset: 3px;
  }

  .ld-style-page .au-button--light {
    border-color: var(--au-white);
    background: var(--au-white);
    color: var(--au-ink);
  }

  .ld-style-page .au-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 20px 0 8px;
    color: #817d76;
    font-size: 12px;
  }

  .ld-style-page .au-breadcrumbs a {
    text-decoration: none;
  }

  .ld-style-page .au-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
    gap: clamp(34px, 4vw, 64px);
    align-items: start;
    padding: 28px 0 72px;
  }

  .ld-style-page .au-gallery-main {
    position: relative;
    overflow: hidden;
    min-height: 600px;
    border-radius: var(--au-radius);
    background: var(--au-soft);
  }

  .ld-style-page .au-gallery-main img {
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
  }

  .ld-style-page .au-gallery-badge {
    position: absolute;
    left: 20px;
    bottom: 20px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: var(--au-ink);
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(8px);
  }

  .ld-style-page .au-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-top: 11px;
  }

  .ld-style-page .au-gallery-thumb {
    appearance: none;
    overflow: hidden;
    aspect-ratio: 1;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #f3f1ed;
    cursor: pointer;
  }

  .ld-style-page .au-gallery-thumb.is-active {
    border-color: var(--au-ink);
  }

  .ld-style-page .au-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ld-style-page .au-hero-copy {
    position: sticky;
    top: 24px;
    padding-top: 8px;
  }

  .ld-style-page .au-hero-copy .au-heading {
    font-size: clamp(36px, 3.05vw, 50px);
    line-height: 1.01;
    letter-spacing: -0.04em;
  }

  .ld-style-page .au-hero-tagline {
    margin: 12px 0 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }

  .ld-style-page .au-hero-description {
    margin: 10px 0 0;
    color: var(--au-muted);
    font-size: 15px;
    line-height: 1.52;
  }

  .ld-style-page .au-spec-strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 18px 0 0;
  }

  .ld-style-page .au-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 9px;
    border: 1px solid var(--au-line);
    border-radius: 999px;
    background: #fff;
    color: #3f3c38;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  .ld-style-page .au-option-block {
    padding: 14px 0 0;
  }

  .ld-style-page .au-option-label {
    display: block;
    margin-bottom: 9px;
    color: #4a4742;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .ld-style-page .au-swatch-row,
  .ld-style-page .au-temperature-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
  }

  .ld-style-page .au-finish-swatch,
  .ld-style-page .au-temp-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid var(--au-line);
    border-radius: 999px;
    background: #fff;
    color: #3d3934;
    font-size: 13px;
    font-weight: 650;
  }

  .ld-style-page button.au-finish-swatch {
    cursor: pointer;
  }

  .ld-style-page .au-swatch-dot {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 50%;
  }

  .ld-style-page .au-dot--aluminium { background: linear-gradient(135deg,#f5f5f3,#a9aba9); }
  .ld-style-page .au-dot--black { background: #1d1d1d; }
  .ld-style-page .au-dot--brass { background: linear-gradient(135deg,#e2c27c,#9f7036); }

  .ld-style-page .au-availability-note {
    margin: 10px 0 0;
    color: var(--au-muted);
    font-size: 12px;
  }

  .ld-style-page .au-buybox {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid var(--au-line);
    border-radius: 18px;
    background: linear-gradient(145deg,#fff,#f8f5f0);
  }

  .ld-style-page .au-price {
    margin: 0;
    color: var(--au-ink);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 780;
    letter-spacing: -0.03em;
  }

  .ld-style-page .au-free-delivery {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 3px 0 16px;
    color: var(--au-green);
    font-size: 15px;
    font-weight: 750;
  }

  .ld-style-page .au-buybox .au-button {
    width: 100%;
  }

  .ld-style-page .au-reassurance {
    margin: 12px 0 0;
    color: var(--au-muted);
    font-size: 12px;
    text-align: center;
  }

  .ld-style-page .au-spec-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #cfc8bd;
    border-radius: 12px;
    background: #fff;
    color: #2d2a26;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
  }

  .ld-style-page .au-spec-link:hover {
    border-color: var(--au-ink);
    background: var(--au-soft);
    transform: translateY(-1px);
  }

  .ld-style-page .au-spec-link-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .ld-style-page .au-spec-link strong {
    font-size: 13px;
    line-height: 1.2;
  }

  .ld-style-page .au-spec-link small {
    color: var(--au-muted);
    font-size: 10.5px;
    line-height: 1.3;
  }

  .ld-style-page .au-spec-link-arrow {
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
  }

  .ld-style-page .au-trust-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--au-line);
    border-radius: 16px;
    background: #fff;
  }

  .ld-style-page .au-trust-item {
    padding: 17px 12px;
    border-right: 1px solid var(--au-line);
    text-align: center;
    font-size: 13px;
    font-weight: 720;
  }

  .ld-style-page .au-trust-item:last-child { border-right: 0; }

  .ld-style-page .au-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
  }

  .ld-style-page .au-card {
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    background: #fff;
  }

  .ld-style-page .au-card-number {
    display: block;
    margin-bottom: 18px;
    color: var(--au-accent-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
  }

  .ld-style-page .au-card h3,
  .ld-style-page .au-card h4 {
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 1.25;
    letter-spacing: -0.015em;
  }

  .ld-style-page .au-card p {
    margin: 0;
    color: var(--au-muted);
    font-size: 14px;
  }

  .ld-style-page .au-audience {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
  }

  .ld-style-page .au-audience span {
    padding: 9px 13px;
    border-radius: 999px;
    background: #ece8e1;
    color: #48443e;
    font-size: 12px;
    font-weight: 700;
  }

  /* Compact installed-result section */
  .ld-style-page .au-section--installed {
    padding: 54px 0 58px;
  }

  .ld-style-page .au-section--installed .au-heading--section {
    margin-bottom: 8px;
  }

  .ld-style-page .au-section--installed .au-lead {
    max-width: 760px;
    margin-bottom: 0;
  }

  .ld-style-page .au-lifestyle-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(250px, .62fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 22px;
  }

  .ld-style-page .au-lifestyle-image {
    overflow: hidden;
    height: 410px;
    min-height: 0;
    border-radius: var(--au-radius);
    background: #e9e5df;
  }

  .ld-style-page .au-lifestyle-image img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  .ld-style-page .au-lifestyle-note {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 28px;
    border-radius: var(--au-radius);
    background: var(--au-ink);
    color: #fff;
  }

  .ld-style-page .au-lifestyle-note .au-kicker {
    margin-bottom: 9px;
    color: #ddc6a7;
    font-size: 10px;
  }

  .ld-style-page .au-lifestyle-note h3 {
    margin: 0;
    font-size: clamp(24px, 2.45vw, 34px);
    line-height: 1.04;
  }

  .ld-style-page .au-lifestyle-note p {
    margin: 14px 0 0;
    color: #d9d6d0;
    font-size: 13px;
    line-height: 1.48;
  }

  .ld-style-page .au-inline-spec {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 17px;
  }

  .ld-style-page .au-inline-spec span {
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 650;
  }

  /* Installation — tighter, more premium and easier to scan */
  .ld-style-page .au-section--installation {
    padding: 58px 0 60px;
  }

  .ld-style-page .au-section--installation .au-heading--section {
    margin-bottom: 8px;
  }

  .ld-style-page .au-section--installation .au-lead {
    max-width: 780px;
    margin-bottom: 0;
  }

  .ld-style-page .au-install-layout {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 24px;
    align-items: center;
    margin-top: 24px;
  }

  .ld-style-page .au-install-visual {
    overflow: hidden;
    min-height: 420px;
    border: 1px solid rgba(20,20,20,.045);
    border-radius: var(--au-radius);
    background: #f8f8f7;
    box-shadow: 0 16px 38px rgba(31,27,22,.045);
  }

  .ld-style-page .au-install-visual img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: contain;
  }

  .ld-style-page .au-steps {
    display: grid;
    gap: 8px;
  }

  .ld-style-page .au-step {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 12px;
    align-items: start;
    padding: 13px 15px;
    border: 1px solid rgba(32,30,27,.12);
    border-radius: 11px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 7px 18px rgba(30,27,22,.025);
  }

  .ld-style-page .au-step-index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--au-ink);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
  }

  .ld-style-page .au-step h3 {
    margin: 0 0 3px;
    font-size: 15.5px;
    line-height: 1.18;
  }

  .ld-style-page .au-step p {
    margin: 0;
    color: var(--au-muted);
    font-size: 12.75px;
    line-height: 1.42;
  }

  .ld-style-page .au-note-box {
    margin-top: 10px;
    padding: 13px 15px;
    border: 1px solid rgba(154,117,73,.18);
    border-left: 3px solid var(--au-accent);
    border-radius: 10px;
    background: #fbf8f3;
  }

  .ld-style-page .au-note-box strong {
    display: block;
    margin-bottom: 3px;
    font-size: 13.5px;
    line-height: 1.28;
  }

  .ld-style-page .au-note-box p {
    margin: 0;
    color: var(--au-muted);
    font-size: 12.5px;
    line-height: 1.42;
  }

  /* Finishes — same imagery, more editorial card treatment */
  .ld-style-page .au-section--finishes {
    padding: 62px 0 64px;
  }

  .ld-style-page .au-section--finishes .au-heading--section {
    margin-bottom: 8px;
  }

  .ld-style-page .au-section--finishes .au-lead {
    max-width: 790px;
    margin-bottom: 0;
  }

  .ld-style-page .au-finish-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 16px;
    margin-top: 24px;
  }

  .ld-style-page .au-finish-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(31,28,24,.12);
    border-radius: var(--au-radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(34,30,25,.045);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }

  .ld-style-page .au-finish-image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    border-bottom: 1px solid rgba(31,28,24,.055);
    background: linear-gradient(145deg, #faf9f7, #f4f2ee);
  }

  .ld-style-page .au-finish-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .ld-style-page .au-finish-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  .ld-style-page .au-finish-placeholder span {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 18px 38px rgba(0,0,0,.10);
  }

  .ld-style-page .au-finish-placeholder--brass span {
    background: linear-gradient(135deg,#edd398,#9e6e33);
  }

  .ld-style-page .au-finish-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 17px 18px 18px;
  }

  .ld-style-page .au-finish-copy h3 {
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.12;
  }

  .ld-style-page .au-finish-copy > p:not(.au-finish-options) {
    margin: 0;
    color: var(--au-muted);
    font-size: 13.5px;
    line-height: 1.48;
  }

  .ld-style-page .au-finish-options {
    margin: auto 0 0 !important;
    padding-top: 12px;
    border-top: 1px solid rgba(31,28,24,.07);
    color: #39352f !important;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.35;
  }

  .ld-style-page .au-finish-options::before {
    content: "Available in: ";
    color: var(--au-accent-dark);
    font-weight: 800;
  }

  @media (hover:hover) {
    .ld-style-page .au-finish-card:hover {
      transform: translateY(-3px);
      border-color: rgba(154,117,73,.32);
      box-shadow: 0 20px 44px rgba(34,30,25,.075);
    }
  }

  /* Colour temperature — visual first, then specification */
  .ld-style-page .au-section--colour {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 12% 10%, rgba(195,157,105,.10), transparent 27%),
      linear-gradient(180deg, #f6f2eb 0%, #eee9e1 100%);
  }

  .ld-style-page .au-section--colour .au-heading--section {
    margin-bottom: 8px;
  }

  .ld-style-page .au-section--colour .au-lead {
    max-width: 850px;
    margin-bottom: 0;
  }

  .ld-style-page .au-colour-visual {
    position: relative;
    overflow: hidden;
    height: clamp(270px, 27vw, 390px);
    margin-top: 26px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: #ece7df;
    box-shadow: 0 24px 55px rgba(40,34,27,.10);
  }

  .ld-style-page .au-colour-visual > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 47%;
  }

  .ld-style-page .au-colour-visual::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(16,15,14,.00) 52%, rgba(16,15,14,.42) 100%),
      linear-gradient(
        90deg,
        rgba(197,137,65,.08) 0%,
        rgba(255,255,255,.00) 31%,
        rgba(255,255,255,.06) 50%,
        rgba(140,163,183,.08) 100%
      );
  }

  .ld-style-page .au-colour-visual-labels {
    position: absolute;
    z-index: 2;
    left: 16px;
    right: 16px;
    bottom: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
  }

  .ld-style-page .au-colour-visual-label {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    background: rgba(20,18,16,.50);
    color: #fff;
    text-align: center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .ld-style-page .au-colour-visual-label strong {
    font-size: 12px;
    line-height: 1.2;
  }

  .ld-style-page .au-colour-visual-label span {
    color: rgba(255,255,255,.78);
    font-size: 10px;
    line-height: 1.2;
  }

  .ld-style-page .au-colour-guide-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 12px;
    color: #625d56;
    font-size: 12px;
    line-height: 1.45;
  }

  .ld-style-page .au-colour-guide-note strong {
    color: #282521;
  }

  /* CCT hero — the recommended flexible choice */
  .ld-style-page .au-cct-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
    gap: 30px;
    align-items: center;
    margin-top: 24px;
    padding: clamp(30px, 4vw, 48px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 90% 10%, rgba(202,153,91,.24), transparent 28%),
      radial-gradient(circle at 10% 100%, rgba(120,94,62,.16), transparent 34%),
      linear-gradient(135deg, #292622 0%, #11100f 72%);
    color: #fff;
    box-shadow: 0 26px 62px rgba(28,24,19,.15);
  }

  .ld-style-page .au-cct-hero::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -150px;
    bottom: -220px;
    border: 1px solid rgba(220,184,137,.12);
    border-radius: 50%;
    box-shadow:
      0 0 0 46px rgba(220,184,137,.025),
      0 0 0 92px rgba(220,184,137,.018);
    pointer-events: none;
  }

  .ld-style-page .au-cct-hero-copy,
  .ld-style-page .au-cct-hero-side {
    position: relative;
    z-index: 1;
  }

  .ld-style-page .au-cct-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 13px;
  }

  .ld-style-page .au-cct-badge {
    display: inline-flex;
    align-items: center;
    min-height: 33px;
    padding: 7px 13px;
    border: 1px solid rgba(228,196,154,.36);
    border-radius: 999px;
    background: rgba(222,184,132,.13);
    color: #edd6b6;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .115em;
    line-height: 1;
    text-transform: uppercase;
  }

  .ld-style-page .au-cct-badge--recommend {
    border-color: rgba(255,255,255,.20);
    background: rgba(255,255,255,.09);
    color: #fff;
    letter-spacing: .04em;
    text-transform: none;
  }

  .ld-style-page .au-cct-hero h3 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.03;
    letter-spacing: -.035em;
  }

  .ld-style-page .au-cct-hero-intro {
    max-width: 760px;
    margin: 16px 0 0;
    color: #ded9d1;
    font-size: 15px;
    line-height: 1.62;
  }

  .ld-style-page .au-cct-hero-intro strong {
    color: #fff;
  }

  .ld-style-page .au-cct-three-whites {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-top: 21px;
  }

  .ld-style-page .au-cct-white {
    padding: 13px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-cct-white strong {
    display: block;
    color: #fff;
    font-size: 13px;
  }

  .ld-style-page .au-cct-white span {
    display: block;
    margin-top: 2px;
    color: #bbb5ad;
    font-size: 11px;
  }

  .ld-style-page .au-cct-hero-side {
    padding: 23px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  .ld-style-page .au-cct-hero-side > strong {
    display: block;
    color: #e4c69e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .ld-style-page .au-cct-hero-side > p {
    margin: 8px 0 0;
    color: #d9d4cc;
    font-size: 13px;
    line-height: 1.52;
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare {
    display: grid;
    gap: 8px;
    margin-top: 17px;
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare div {
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 11px;
    background: rgba(0,0,0,.08);
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare strong {
    display: block;
    color: #fff;
    font-size: 12px;
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare span {
    display: block;
    margin-top: 2px;
    color: #bdb7ae;
    font-size: 10.5px;
  }

  .ld-style-page .au-colour-options-heading {
    display: block;
    margin-top: 30px;
  }

  .ld-style-page .au-colour-options-heading h3 {
    margin: 0;
    font-size: 23px;
    line-height: 1.15;
  }

  .ld-style-page .au-colour-options-heading p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--au-muted);
    font-size: 13px;
    line-height: 1.48;
    text-align: left;
  }

  .ld-style-page .au-colour-option-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-top: 14px;
  }

  .ld-style-page .au-colour-option-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 214px;
    flex-direction: column;
    padding: 20px;
    border: 1px solid rgba(36,31,26,.11);
    border-radius: 15px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 30px rgba(40,34,27,.04);
  }

  .ld-style-page .au-colour-option-card--cct {
    border-color: rgba(154,117,73,.54);
    background:
      radial-gradient(circle at 92% 8%, rgba(188,145,87,.10), transparent 28%),
      linear-gradient(145deg, rgba(255,252,246,.99), rgba(246,238,226,.97));
    box-shadow: 0 17px 36px rgba(112,79,42,.10);
  }

  .ld-style-page .au-colour-option-card--cct::before {
    content: "Recommended if you’re unsure";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 7px 12px;
    background: #9a7549;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
  }

  .ld-style-page .au-colour-option-card--cct {
    padding-top: 43px;
  }

  .ld-style-page .au-cct-card-flag {
    display: inline-flex;
    align-items: center;
    margin: 0 0 10px;
    padding: 6px 9px;
    border: 1px solid rgba(154,117,73,.22);
    border-radius: 999px;
    background: rgba(154,117,73,.08);
    color: #765630;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
  }

  .ld-style-page .au-colour-option-card .au-option-name {
    display: block;
    margin: 0;
    color: #181715;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
  }

  .ld-style-page .au-colour-option-card .au-option-kelvin {
    display: block;
    margin-top: 7px;
    color: var(--au-accent-dark);
    font-size: 12px;
    font-weight: 800;
  }

  .ld-style-page .au-colour-option-card .au-option-spec {
    display: block;
    margin-top: 5px;
    color: #6b645c;
    font-size: 11.75px;
    font-weight: 680;
    line-height: 1.35;
  }

  .ld-style-page .au-colour-option-card p {
    margin: 14px 0 0;
    color: var(--au-muted);
    font-size: 13.5px;
    line-height: 1.48;
  }

  .ld-style-page .au-option-best {
    display: block;
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid rgba(31,28,24,.09);
    color: #4d4740;
    font-size: 11.75px;
    font-weight: 600;
    line-height: 1.38;
  }

  .ld-style-page .au-option-best strong {
    color: #211f1c;
    font-weight: 820;
  }

  @media (hover:hover) {
    .ld-style-page .au-colour-option-card {
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .ld-style-page .au-colour-option-card:hover {
      transform: translateY(-2px);
      border-color: rgba(154,117,73,.27);
      box-shadow: 0 18px 38px rgba(40,34,27,.07);
    }

    .ld-style-page .au-colour-option-card--cct:hover {
      border-color: rgba(154,117,73,.58);
      box-shadow: 0 20px 42px rgba(112,79,42,.12);
    }
  }

  /* Mid-page conversion checkpoint — related to the final CTA, intentionally more compact */
  .ld-style-page .au-cta-band {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1.25fr) auto;
    gap: 28px;
    align-items: center;
    padding: clamp(30px, 4.2vw, 48px);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 15% 0%, rgba(205,158,98,.15), transparent 31%),
      linear-gradient(145deg,#1a1918,#282521);
    color: #fff;
    box-shadow: 0 22px 50px rgba(31,27,22,.12);
  }

  .ld-style-page .au-cta-band::after {
    content: "";
    position: absolute;
    right: -95px;
    bottom: -130px;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(220,184,137,.08);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(220,184,137,.014);
    pointer-events: none;
  }

  .ld-style-page .au-cta-band > * {
    position: relative;
    z-index: 1;
  }

  .ld-style-page .au-cta-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #dfc39c;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .ld-style-page .au-cta-band h2 {
    margin: 0;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.06;
    letter-spacing: -.03em;
  }

  .ld-style-page .au-cta-band .au-cta-copy {
    margin: 10px 0 0;
    max-width: 720px;
    color: #d7d3ce;
    font-size: 13px;
    line-height: 1.5;
  }

  .ld-style-page .au-cta-reassurance {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 13px;
    color: #bdb7af;
    font-size: 10.5px;
    font-weight: 650;
  }

  .ld-style-page .au-cta-reassurance span::before {
    content: "✓";
    margin-right: 5px;
    color: #d4ad78;
    font-weight: 900;
  }

  .ld-style-page .au-cta-action {
    min-width: 255px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    text-align: center;
  }

  .ld-style-page .au-cta-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-bottom: 12px;
  }

  .ld-style-page .au-cta-price {
    margin: 0;
    color: #fff;
    font-size: 21px;
    font-weight: 850;
    line-height: 1;
  }

  .ld-style-page .au-cta-delivery {
    margin: 0;
    padding-left: 9px;
    border-left: 1px solid rgba(255,255,255,.16);
    color: #cde7d7;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
  }

  .ld-style-page .au-cta-action .au-button--light {
    width: 100%;
    min-height: 46px;
    padding: 13px 18px;
    font-size: 12px;
    font-weight: 850;
  }

  /* 24V driver system — visual, reassuring, technically complete */
  .ld-style-page .au-section--system {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 12%, rgba(166,126,77,.10), transparent 28%),
      linear-gradient(180deg, #f7f6f3 0%, #f1efeb 100%);
  }

  .ld-style-page .au-section--system .au-lead {
    max-width: 820px;
    margin-bottom: 0;
  }

  .ld-style-page .au-system-reassurance {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr);
    gap: 18px;
    margin-top: 28px;
  }

  .ld-style-page .au-system-flow {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: clamp(26px, 3.6vw, 42px);
    border: 1px solid rgba(35,31,26,.10);
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 94% 8%, rgba(210,167,108,.20), transparent 24%),
      linear-gradient(135deg,#272522 0%,#11100f 78%);
    color: #fff;
    box-shadow: 0 24px 55px rgba(32,28,23,.12);
  }

  .ld-style-page .au-system-flow-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #dec39d;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .ld-style-page .au-system-flow-kicker::before {
    content: "";
    width: 18px;
    height: 1px;
    background: #b58b57;
  }

  .ld-style-page .au-system-flow h3 {
    max-width: 700px;
    margin: 0;
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.04;
    letter-spacing: -.03em;
  }

  .ld-style-page .au-system-flow > p {
    max-width: 710px;
    margin: 12px 0 0;
    color: #d7d2ca;
    font-size: 14px;
    line-height: 1.55;
  }

  .ld-style-page .au-system-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin-top: auto;
    padding-top: 24px;
  }

  .ld-style-page .au-system-step {
    position: relative;
    min-height: 154px;
    padding: 19px 17px 17px;
    border: 1px solid rgba(255,255,255,.13);
    border-top: 2px solid rgba(198,162,113,.72);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-system-step-index {
    display: block;
    color: #c6a271;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
  }

  .ld-style-page .au-system-step strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
  }

  .ld-style-page .au-system-step span {
    display: block;
    margin-top: 7px;
    color: #bbb5ac;
    font-size: 11.5px;
    line-height: 1.45;
  }

  .ld-style-page .au-system-confidence {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid rgba(255,255,255,.10);
    color: #c7c1b8;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.3;
  }

  .ld-style-page .au-system-confidence span::before {
    content: "✓";
    margin-right: 5px;
    color: #d4ad78;
    font-weight: 900;
  }

  .ld-style-page .au-driver-explainer {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(154,117,73,.22);
    border-radius: calc(var(--au-radius) + 2px);
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 40px rgba(40,34,27,.055);
  }

  .ld-style-page .au-driver-explainer-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 232px;
    padding: 12px 18px 34px;
    border-bottom: 1px solid rgba(35,31,26,.065);
    background: #fff;
  }

  .ld-style-page .au-driver-explainer-image img {
    width: 100%;
    max-width: 370px;
    max-height: 215px;
    object-fit: contain;
    transform: scale(1.12);
  }

  .ld-style-page .au-driver-image-note {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 9px;
    color: #746c63;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
  }

  .ld-style-page .au-driver-explainer-body {
    padding: 28px 24px 24px;
  }

  .ld-style-page .au-driver-explainer-badge {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(154,117,73,.10);
    color: var(--au-accent-dark);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .ld-style-page .au-driver-explainer-body h3 {
    margin: 13px 0 0;
    font-size: 24px;
    line-height: 1.08;
    letter-spacing: -.025em;
  }

  .ld-style-page .au-driver-explainer-body p {
    margin: 12px 0 0;
    color: var(--au-muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .ld-style-page .au-driver-explainer-body strong {
    color: #282521;
  }

  .ld-style-page .au-system-components {
    margin-top: 18px;
  }

  .ld-style-page .au-system-components-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 11px;
  }

  .ld-style-page .au-system-components-head h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.2;
  }

  .ld-style-page .au-system-components-head p {
    margin: 0;
    color: var(--au-muted);
    font-size: 11.5px;
    line-height: 1.4;
    text-align: right;
  }

  .ld-style-page .au-component-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
  }

  .ld-style-page .au-component-card {
    overflow: hidden;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 10px 25px rgba(40,34,27,.035);
  }

  .ld-style-page .au-component-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 142px;
    padding: 14px;
    border-bottom: 1px solid rgba(35,31,26,.065);
    background: #fff;
  }

  .ld-style-page .au-component-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .ld-style-page .au-component-card--driver .au-component-image img {
    transform: scale(1.12);
  }

  .ld-style-page .au-component-card--distribution .au-component-image {
    overflow: hidden;
  }

  .ld-style-page .au-component-card--distribution .au-component-image img {
    max-width: 82%;
    max-height: 82%;
    transform: scale(1.42);
    transform-origin: center;
  }

  .ld-style-page .au-image-upload-note {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 76px;
    padding: 12px;
    color: #857d73;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
  }

  .ld-style-page .au-component-copy {
    padding: 13px 14px 14px;
  }

  .ld-style-page .au-component-copy strong {
    display: block;
    font-size: 13px;
    line-height: 1.25;
  }

  .ld-style-page .au-component-copy span {
    display: block;
    margin-top: 5px;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.46;
  }

  .ld-style-page .au-system-detail-strip {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 12px;
  }

  .ld-style-page .au-system-detail {
    border: 1px solid rgba(35,31,26,.11);
    border-radius: 13px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 10px 24px rgba(40,34,27,.035);
  }

  .ld-style-page .au-system-detail summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    padding: 17px 42px 17px 17px;
    color: #25221e;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
  }

  .ld-style-page .au-system-detail summary::-webkit-details-marker {
    display: none;
  }

  .ld-style-page .au-system-detail summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: #8e6a40;
    font-size: 20px;
    font-weight: 400;
  }

  .ld-style-page .au-system-detail[open] summary::after {
    content: "−";
  }

  .ld-style-page .au-system-detail p {
    margin: -3px 17px 17px;
    color: var(--au-muted);
    font-size: 12.25px;
    line-height: 1.5;
  }

  .ld-style-page .au-zone-showcase {
    margin-top: 28px;
    padding: 25px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(40,34,27,.04);
  }

  .ld-style-page .au-zone-showcase-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
  }

  .ld-style-page .au-zone-showcase-head h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.12;
  }

  .ld-style-page .au-zone-showcase-head p {
    max-width: 620px;
    margin: 0;
    color: var(--au-muted);
    font-size: 12.5px;
    line-height: 1.45;
    text-align: right;
  }

  .ld-style-page .au-zone-cards {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 17px;
  }

  .ld-style-page .au-zone-card {
    padding: 17px;
    border: 1px solid rgba(35,31,26,.095);
    border-radius: 13px;
    background: #f8f6f2;
  }

  .ld-style-page .au-zone-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .ld-style-page .au-zone-card strong {
    font-size: 13px;
  }

  .ld-style-page .au-zone-card-badge {
    padding: 5px 8px;
    border-radius: 999px;
    background: #282521;
    color: #fff;
    font-size: 9px;
    font-weight: 750;
    white-space: nowrap;
  }

  .ld-style-page .au-zone-card p {
    margin: 9px 0 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.42;
  }

  .ld-style-page .au-zone-rule {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 11px;
    background: #f1ece4;
    color: #4d463d;
    font-size: 12px;
    line-height: 1.45;
  }

  .ld-style-page .au-zone-rule-mark {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #9a7549;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
  }

  .ld-style-page .au-power-choice-head {
    margin-top: 28px;
  }

  .ld-style-page .au-power-choice-head h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
  }

  .ld-style-page .au-power-choice-head p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--au-muted);
    font-size: 12.5px;
    line-height: 1.48;
  }

  .ld-style-page .au-power-option-label {
    display: inline-flex;
    align-items: center;
    margin-bottom: 7px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #f1ebe2;
    color: #7b5a35;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
  }

  .ld-style-page .au-power-options {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 18px;
  }

  .ld-style-page .au-power-option {
    overflow: hidden;
    display: grid;
    grid-template-columns: 112px minmax(0,1fr);
    align-items: center;
    min-height: 126px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.92);
  }

  .ld-style-page .au-power-option-visual {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    border-right: 1px solid rgba(35,31,26,.065);
    background: #fff;
  }

  .ld-style-page .au-power-option-visual img {
    width: 100%;
    max-height: 92px;
    object-fit: contain;
  }

  .ld-style-page .au-power-option-copy {
    padding: 17px 18px;
  }

  .ld-style-page .au-power-option h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
  }

  .ld-style-page .au-power-option p {
    margin: 7px 0 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.48;
  }

  .ld-style-page .au-power-compliance {
    margin: 10px 2px 0;
    color: #77716a;
    font-size: 10.5px;
    line-height: 1.45;
  }

  /* Controls & sensors — premium decision-led selector */
  .ld-style-page .au-section--controls {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 91% 8%, rgba(164,124,76,.09), transparent 26%),
      linear-gradient(180deg,#f8f7f4 0%,#f3f1ed 100%);
  }

  .ld-style-page .au-section--controls .au-lead {
    max-width: 850px;
    margin-bottom: 0;
  }

  .ld-style-page .au-control-principles {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) repeat(3,minmax(0,.63fr));
    gap: 10px;
    align-items: stretch;
    margin-top: 26px;
    padding: 13px;
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 92% 10%, rgba(190,145,86,.17), transparent 25%),
      linear-gradient(135deg,#292622,#11100f 78%);
    box-shadow: 0 22px 50px rgba(32,28,23,.11);
  }

  .ld-style-page .au-control-principles-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 22px;
    color: #fff;
  }

  .ld-style-page .au-control-principles-intro span {
    color: #d5b687;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .ld-style-page .au-control-principles-intro strong {
    display: block;
    margin-top: 8px;
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -.025em;
  }

  .ld-style-page .au-control-principle {
    padding: 19px 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-control-principle strong {
    display: block;
    color: #fff;
    font-size: 13px;
    line-height: 1.25;
  }

  .ld-style-page .au-control-principle span {
    display: block;
    margin-top: 6px;
    color: #bbb5ad;
    font-size: 11px;
    line-height: 1.45;
  }

  .ld-style-page .au-sensor-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    margin-top: 20px;
  }

  .ld-style-page .au-sensor-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(180px,.78fr) minmax(0,1.22fr);
    min-height: 292px;
    border: 1px solid rgba(34,30,26,.11);
    border-radius: var(--au-radius);
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 36px rgba(40,34,27,.045);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }

  .ld-style-page .au-sensor-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 24px 20px;
    border-right: 1px solid rgba(34,30,26,.065);
    background: #fff;
  }

  .ld-style-page .au-sensor-image img {
    width: 100%;
    height: 100%;
    max-height: 255px;
    object-fit: contain;
    transform: scale(1.09);
  }

  .ld-style-page .au-sensor-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    border: 1px solid #cbc5bc;
    border-radius: 50%;
    background: #fff;
    color: #79736b;
    font-size: 11px;
    text-align: center;
  }

  .ld-style-page .au-sensor-copy {
    display: flex;
    flex-direction: column;
    padding: 22px 23px 21px;
  }

  .ld-style-page .au-sensor-best {
    align-self: flex-start;
    margin: 0 0 10px !important;
    padding: 7px 10px;
    border: 1px solid rgba(154,117,73,.15);
    border-radius: 999px;
    background: #f1ebe2;
    color: #795934 !important;
    font-size: 9.5px !important;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
  }

  .ld-style-page .au-sensor-copy h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.12;
    letter-spacing: -.018em;
  }

  .ld-style-page .au-sensor-action {
    margin: 10px 0 0 !important;
    color: #2f2b26 !important;
    font-size: 13.5px !important;
    font-weight: 760;
    line-height: 1.42;
  }

  .ld-style-page .au-sensor-detail {
    margin: 7px 0 0 !important;
    color: var(--au-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.5;
  }

  .ld-style-page .au-sensor-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
    padding-top: 15px;
  }

  .ld-style-page .au-sensor-specs span {
    padding: 6px 8px;
    border: 1px solid rgba(34,30,26,.09);
    border-radius: 999px;
    background: #f8f6f2;
    color: #49443e;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.2;
  }

  @media (hover:hover) {
    .ld-style-page .au-sensor-card:hover {
      transform: translateY(-2px);
      border-color: rgba(154,117,73,.28);
      box-shadow: 0 20px 42px rgba(40,34,27,.075);
    }
  }

  .ld-style-page .au-sensor-install-panel {
    display: grid;
    grid-template-columns: minmax(0,.72fr) repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 20px;
    padding: 12px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: #272421;
    color: #fff;
    box-shadow: 0 18px 42px rgba(31,27,22,.10);
  }

  .ld-style-page .au-sensor-install-intro {
    padding: 19px;
  }

  .ld-style-page .au-sensor-install-intro span {
    color: #d2b181;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .ld-style-page .au-sensor-install-intro h3 {
    margin: 8px 0 0;
    font-size: 22px;
    line-height: 1.08;
  }

  .ld-style-page .au-sensor-install-intro p {
    margin: 9px 0 0;
    color: #d0cac2;
    font-size: 12px;
    line-height: 1.48;
  }

  .ld-style-page .au-sensor-install-card {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-sensor-install-card strong {
    display: block;
    color: #fff;
    font-size: 13.5px;
    line-height: 1.25;
  }

  .ld-style-page .au-sensor-install-card p {
    margin: 8px 0 0;
    color: #c8c2b9;
    font-size: 11.75px;
    line-height: 1.46;
  }

  .ld-style-page .au-no-sensor-choice {
    display: grid;
    grid-template-columns: minmax(0,.62fr) minmax(0,1.38fr);
    gap: 20px;
    align-items: center;
    margin-top: 12px;
    padding: 19px 21px;
    border: 1px solid rgba(154,117,73,.18);
    border-radius: 14px;
    background: #f5efe6;
  }

  .ld-style-page .au-no-sensor-choice strong {
    font-size: 16px;
    line-height: 1.25;
  }

  .ld-style-page .au-no-sensor-choice p {
    margin: 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.48;
  }

  /* Technical specification — premium, scan-friendly and installer useful */
  .ld-style-page .au-section--technical {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 8%, rgba(154,117,73,.075), transparent 25%),
      linear-gradient(180deg,#f7f6f3 0%,#f2f0ec 100%);
  }

  .ld-style-page .au-section--technical .au-lead {
    max-width: 760px;
    margin-bottom: 0;
  }

  .ld-style-page .au-tech-glance {
    display: grid;
    grid-template-columns: repeat(7,minmax(0,1fr));
    gap: 8px;
    margin-top: 24px;
  }

  .ld-style-page .au-tech-glance-item {
    padding: 15px 13px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: 12px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 8px 20px rgba(40,34,27,.025);
  }

  .ld-style-page .au-tech-glance-item span {
    display: block;
    color: #8a8177;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .ld-style-page .au-tech-glance-item strong {
    display: block;
    margin-top: 5px;
    color: #1c1a18;
    font-size: 16px;
    line-height: 1.15;
  }

  .ld-style-page .au-tech-layout {
    display: grid;
    grid-template-columns: minmax(0,1.42fr) minmax(310px,.58fr);
    gap: 16px;
    margin-top: 16px;
    align-items: start;
  }

  .ld-style-page .au-tech-main-card {
    overflow: hidden;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 34px rgba(40,34,27,.04);
  }

  .ld-style-page .au-tech-card-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid rgba(35,31,26,.075);
  }

  .ld-style-page .au-tech-card-head h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.15;
  }

  .ld-style-page .au-tech-card-head span {
    color: #7d756b;
    font-size: 10.5px;
    line-height: 1.35;
    text-align: right;
  }

  .ld-style-page .au-tech-spec-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    column-gap: 26px;
    padding: 7px 22px 14px;
  }

  .ld-style-page .au-tech-spec-row {
    display: grid;
    grid-template-columns: minmax(118px,.85fr) minmax(0,1.15fr);
    gap: 12px;
    align-items: baseline;
    min-height: 38px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(35,31,26,.065);
  }

  .ld-style-page .au-tech-spec-row:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .ld-style-page .au-tech-spec-row dt {
    margin: 0;
    color: #5f5952;
    font-size: 11px;
    font-weight: 780;
    line-height: 1.35;
  }

  .ld-style-page .au-tech-spec-row dd {
    margin: 0;
    color: #1f1d1a;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
  }

  .ld-style-page .au-output-panel {
    margin: 0 22px 22px;
    padding: 18px;
    border: 1px solid rgba(154,117,73,.16);
    border-radius: 14px;
    background: #f8f3eb;
  }

  .ld-style-page .au-output-panel h4 {
    margin: 0;
    font-size: 15px;
    line-height: 1.2;
  }

  .ld-style-page .au-output-panel > p {
    margin: 5px 0 0;
    color: #756d64;
    font-size: 10.5px;
    line-height: 1.4;
  }

  .ld-style-page .au-output-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
    margin-top: 13px;
  }

  .ld-style-page .au-output-card {
    padding: 13px 12px;
    border: 1px solid rgba(35,31,26,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.78);
  }

  .ld-style-page .au-output-card--cct {
    border-color: rgba(154,117,73,.32);
    background: #fffaf2;
  }

  .ld-style-page .au-output-card strong {
    display: block;
    font-size: 12px;
    line-height: 1.25;
  }

  .ld-style-page .au-output-card span {
    display: block;
    margin-top: 4px;
    color: #69625a;
    font-size: 10px;
    line-height: 1.4;
  }

  .ld-style-page .au-tech-side {
    display: grid;
    gap: 12px;
  }

  .ld-style-page .au-box-card,
  .ld-style-page .au-guarantee-card {
    padding: 21px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 28px rgba(40,34,27,.035);
  }

  .ld-style-page .au-box-card h3,
  .ld-style-page .au-guarantee-card h3 {
    margin: 0 0 9px;
    font-size: 19px;
    line-height: 1.18;
  }

  .ld-style-page .au-guarantee-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(255,255,255,.06);
    background:
      radial-gradient(circle at 92% 12%, rgba(193,147,88,.20), transparent 28%),
      linear-gradient(145deg,#272421,#11100f);
    color: #fff;
    box-shadow: 0 18px 40px rgba(31,27,22,.12);
  }

  .ld-style-page .au-guarantee-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(213,178,132,.10);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(213,178,132,.018);
    pointer-events: none;
  }

  .ld-style-page .au-guarantee-card > * {
    position: relative;
    z-index: 1;
  }

  .ld-style-page .au-guarantee-big {
    display: block;
    margin: 9px 0 8px;
    color: #fff;
    font-size: 44px;
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: 1;
  }

  .ld-style-page .au-guarantee-card p {
    margin: 0;
    color: #d8d2ca;
    font-size: 12px;
    line-height: 1.48;
  }

  .ld-style-page .au-clean-list {
    display: grid;
    gap: 7px;
    padding: 0;
    margin: 12px 0 0;
    list-style: none;
  }

  .ld-style-page .au-clean-list li {
    position: relative;
    padding-left: 18px;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.42;
  }

  .ld-style-page .au-clean-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--au-green);
    font-weight: 850;
  }

  .ld-style-page .au-tech-driver-note {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(35,31,26,.08);
    color: #69625a;
    font-size: 11px;
    line-height: 1.45;
  }

  .ld-style-page .au-lifetime-card {
    background: #f8f6f2;
  }

  .ld-style-page .au-lifetime-card p {
    margin: 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.52;
  }

  /* Planning guide — premium, visual and practical */
  .ld-style-page .au-section--planning {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 8%, rgba(154,117,73,.08), transparent 25%),
      linear-gradient(180deg,#f8f7f4 0%,#f2f0ec 100%);
  }

  .ld-style-page .au-section--planning .au-lead {
    max-width: 850px;
    margin-bottom: 0;
  }

  .ld-style-page .au-planning-hero {
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
    gap: 14px;
    margin-top: 26px;
  }

  .ld-style-page .au-planning-start {
    padding: clamp(28px,3.5vw,42px);
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 94% 8%, rgba(196,150,92,.20), transparent 25%),
      linear-gradient(135deg,#292622,#11100f 78%);
    color: #fff;
    box-shadow: 0 24px 55px rgba(31,27,22,.12);
  }

  .ld-style-page .au-planning-start-kicker {
    color: #d6b786;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .ld-style-page .au-planning-start h3 {
    max-width: 720px;
    margin: 9px 0 0;
    font-size: clamp(27px,3vw,40px);
    line-height: 1.04;
    letter-spacing: -.03em;
  }

  .ld-style-page .au-planning-start > p {
    max-width: 720px;
    margin: 12px 0 0;
    color: #d2cdc5;
    font-size: 13.5px;
    line-height: 1.55;
  }

  .ld-style-page .au-planning-numbers {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin-top: 23px;
  }

  .ld-style-page .au-planning-number {
    padding: 17px 15px;
    border: 1px solid rgba(255,255,255,.13);
    border-top: 2px solid rgba(199,162,111,.76);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-planning-number span {
    display: block;
    color: #bcb5ac;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .ld-style-page .au-planning-number strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 23px;
    font-weight: 850;
    letter-spacing: -.025em;
    line-height: 1.05;
  }

  .ld-style-page .au-planning-number p {
    margin: 7px 0 0;
    color: #bdb7af;
    font-size: 10.75px;
    line-height: 1.42;
  }

  .ld-style-page .au-planning-principle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border: 1px solid rgba(154,117,73,.20);
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 100% 0%, rgba(166,125,76,.12), transparent 34%),
      rgba(255,255,255,.92);
    box-shadow: 0 16px 38px rgba(40,34,27,.045);
  }

  .ld-style-page .au-planning-principle span {
    align-self: flex-start;
    padding: 6px 9px;
    border-radius: 999px;
    background: #f1ebe2;
    color: #795934;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .ld-style-page .au-planning-principle h3 {
    margin: 13px 0 0;
    font-size: 25px;
    line-height: 1.08;
    letter-spacing: -.025em;
  }

  .ld-style-page .au-planning-principle p {
    margin: 11px 0 0;
    color: var(--au-muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .ld-style-page .au-planning-principle strong {
    color: #292622;
  }

  .ld-style-page .au-planning-refine-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
  }

  .ld-style-page .au-planning-refine-head h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
  }

  .ld-style-page .au-planning-refine-head p {
    max-width: 640px;
    margin: 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.45;
    text-align: right;
  }

  .ld-style-page .au-planning-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 13px;
  }

  .ld-style-page .au-planning-card {
    padding: 20px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.90);
    box-shadow: 0 10px 26px rgba(40,34,27,.035);
  }

  .ld-style-page .au-planning-card h3 {
    margin: 0 0 7px;
    font-size: 16px;
    line-height: 1.2;
  }

  .ld-style-page .au-planning-card p {
    margin: 0;
    color: var(--au-muted);
    font-size: 12.5px;
    line-height: 1.5;
  }

  .ld-style-page .au-planning-card strong {
    color: var(--au-ink);
  }

  .ld-style-page .au-plan-method {
    margin-top: 22px;
    padding: 25px;
    border: 1px solid rgba(35,31,26,.09);
    border-radius: var(--au-radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(40,34,27,.04);
  }

  .ld-style-page .au-plan-method-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
  }

  .ld-style-page .au-plan-method h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
  }

  .ld-style-page .au-plan-method-head p {
    max-width: 570px;
    margin: 0;
    color: var(--au-muted);
    font-size: 12px;
    line-height: 1.45;
    text-align: right;
  }

  .ld-style-page .au-plan-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
    margin-top: 17px;
    padding: 0;
    list-style: none;
    counter-reset: planstep;
  }

  .ld-style-page .au-plan-step {
    position: relative;
    min-height: 128px;
    padding: 19px 16px 17px 61px;
    border: 1px solid rgba(35,31,26,.085);
    border-radius: 12px;
    background: #f8f6f2;
    color: #4e4942;
    font-size: 12px;
    line-height: 1.45;
    counter-increment: planstep;
  }

  .ld-style-page .au-plan-step::before {
    content: counter(planstep) ".";
    position: absolute;
    top: 14px;
    left: 16px;
    color: #9a7549;
    font-family: "Segoe Script", "Snell Roundhand", "Apple Chancery", "Brush Script MT", cursive;
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.08em;
    transform: rotate(-3deg);
  }

  .ld-style-page .au-plan-step:nth-child(even)::before {
    transform: rotate(2deg);
  }

  .ld-style-page .au-plan-step strong {
    color: #24211e;
    font-size: 12.5px;
  }

  .ld-style-page .au-planning-note {
    margin-top: 12px;
    padding: 13px 15px;
    border-left: 3px solid #9a7549;
    border-radius: 0 10px 10px 0;
    background: #f4eee5;
    color: #595249;
    font-size: 11.5px;
    line-height: 1.48;
  }

  /* Full-range comparison — finish preview + clear availability */
  .ld-style-page .au-section--compare {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 7%, rgba(154,117,73,.075), transparent 24%),
      linear-gradient(180deg,#f7f6f3 0%,#f1efeb 100%);
  }

  .ld-style-page .au-section--compare .au-lead {
    max-width: 860px;
    margin-bottom: 0;
  }

  .ld-style-page .au-compare-intro-links {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 24px;
  }

  .ld-style-page .au-compare-intro-links a {
    position: relative;
    display: block;
    padding: 17px 18px 16px;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: 13px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(251,249,246,.94));
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(40,34,27,.025);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  }

  .ld-style-page .au-compare-intro-links a::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #9a7549 0%, rgba(154,117,73,.18) 55%, transparent 100%);
    opacity: .55;
    transition: opacity .18s ease, transform .18s ease;
    transform-origin: left center;
  }

  .ld-style-page .au-compare-intro-links strong {
    display: block;
    margin-bottom: 3px;
    font-size: 12.5px;
    line-height: 1.3;
  }

  .ld-style-page .au-compare-intro-links span {
    display: block;
    margin-top: 2px;
    color: var(--au-muted);
    font-size: 10.5px;
    line-height: 1.4;
  }

  .ld-style-page .au-compare-intro-links em {
    display: inline-block;
    margin-top: 8px;
    color: #745634;
    font-size: 9.5px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  @media (hover:hover) {
    .ld-style-page .au-compare-intro-links a:hover {
      transform: translateY(-2px);
      border-color: rgba(154,117,73,.30);
      box-shadow: 0 14px 30px rgba(40,34,27,.05);
    }

    .ld-style-page .au-compare-intro-links a:hover::before {
      opacity: 1;
      transform: scaleX(.72);
    }
  }

  .ld-style-page .au-compare-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 27px;
  }

  .ld-style-page .au-compare-guide h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.15;
  }

  .ld-style-page .au-compare-guide p {
    max-width: 600px;
    margin: 0;
    color: var(--au-muted);
    font-size: 11.5px;
    line-height: 1.45;
    text-align: right;
  }

  .ld-style-page .au-compare-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
    margin-top: 13px;
  }

  .ld-style-page .au-compare-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(35,31,26,.11);
    border-radius: 17px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 11px 28px rgba(40,34,27,.035);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .ld-style-page .au-compare-card[aria-current="page"] {
    border-color: rgba(154,117,73,.50);
    box-shadow: 0 16px 35px rgba(112,79,42,.08);
  }

  @media (hover:hover) {
    .ld-style-page .au-compare-card:hover {
      transform: translateY(-2px);
      border-color: rgba(154,117,73,.27);
      box-shadow: 0 18px 38px rgba(40,34,27,.065);
    }

    .ld-style-page .au-compare-card[aria-current="page"]:hover {
      border-color: rgba(154,117,73,.58);
    }
  }

  .ld-style-page .au-compare-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1.22;
    padding: 15px;
    border-bottom: 1px solid rgba(35,31,26,.06);
    background: #fff;
  }

  .ld-style-page .au-compare-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .13s ease, transform .2s ease;
  }

  .ld-style-page .au-compare-image.is-loading img {
    opacity: .42;
  }

  .ld-style-page .au-current-corner {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 2;
    padding: 6px 9px;
    border-radius: 999px;
    background: #171717;
    color: #fff;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
  }

  .ld-style-page .au-compare-finishes {
    padding: 12px 14px 11px;
    border-bottom: 1px solid rgba(35,31,26,.065);
    background: #faf9f7;
  }

  .ld-style-page .au-compare-finish-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .ld-style-page .au-compare-finish-label {
    color: #716960;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .ld-style-page .au-compare-finish-swatch-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .ld-style-page .au-compare-swatch {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 4px 7px 4px 5px;
    border: 1px solid rgba(35,31,26,.12);
    border-radius: 999px;
    background: #fff;
    color: #49443e;
    cursor: pointer;
    font: inherit;
    font-size: 9px;
    font-weight: 720;
    line-height: 1;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  }

  .ld-style-page .au-compare-swatch[aria-pressed="true"] {
    border-color: rgba(154,117,73,.62);
    background: #fffaf3;
    box-shadow: 0 0 0 2px rgba(154,117,73,.09);
  }

  .ld-style-page .au-compare-dot {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 50%;
  }

  .ld-style-page .au-compare-dot--aluminium {
    background: linear-gradient(135deg,#f4f3ef 10%,#aeb0ae 55%,#e9e8e4 100%);
  }

  .ld-style-page .au-compare-dot--black {
    background: #181818;
  }

  .ld-style-page .au-compare-dot--brass {
    background: linear-gradient(135deg,#ead18d,#9d6e32);
  }

  .ld-style-page .au-compare-dot--white {
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
  }

  .ld-style-page .au-compare-availability {
    display: block;
    min-height: 29px;
    margin-top: 8px;
    color: #6a635b;
    font-size: 9.5px;
    line-height: 1.4;
  }

  .ld-style-page .au-compare-availability strong {
    color: #302c27;
    font-weight: 800;
  }

  .ld-style-page .au-compare-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 15px 15px 16px;
  }

  .ld-style-page .au-range-name {
    color: var(--au-accent-dark);
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .ld-style-page .au-compare-copy h3 {
    margin: 5px 0 6px;
    font-size: 17px;
    line-height: 1.14;
  }

  .ld-style-page .au-compare-copy > p {
    margin: 0;
    color: var(--au-muted);
    font-size: 11.75px;
    line-height: 1.47;
  }

  .ld-style-page .au-compare-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 11px;
  }

  .ld-style-page .au-compare-meta span {
    padding: 5px 7px;
    border: 1px solid rgba(35,31,26,.08);
    border-radius: 999px;
    background: #f7f5f1;
    color: #4e4943;
    font-size: 9.5px;
    font-weight: 720;
    line-height: 1.15;
  }

  .ld-style-page .au-compare-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
  }

  .ld-style-page .au-compare-price {
    color: #171717;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
  }

  .ld-style-page .au-compare-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(116,86,52,.28);
    color: #684a2b;
    font-size: 11.25px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
  }

  .ld-style-page .au-compare-link:hover {
    border-bottom-color: currentColor;
  }

  .ld-style-page .au-current-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 6px 8px;
    border-radius: 999px;
    background: #171717;
    color: #fff;
    font-size: 9px;
    font-weight: 780;
    line-height: 1;
  }

  /* Advice & FAQs — premium authority section */
  .ld-style-page .au-section--faq {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 8%, rgba(154,117,73,.07), transparent 24%),
      linear-gradient(180deg,#f8f7f4 0%,#f2f0ec 100%);
  }

  .ld-style-page .au-section--faq .au-lead {
    max-width: 860px;
    margin-bottom: 0;
  }

  .ld-style-page .au-faq-quick {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) repeat(4,minmax(0,.72fr));
    gap: 8px;
    margin-top: 26px;
    padding: 12px;
    border-radius: calc(var(--au-radius) + 2px);
    background:
      radial-gradient(circle at 92% 10%, rgba(194,149,92,.16), transparent 25%),
      linear-gradient(135deg,#292622,#11100f 78%);
    box-shadow: 0 22px 50px rgba(31,27,22,.11);
  }

  .ld-style-page .au-faq-quick-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 20px;
    color: #fff;
  }

  .ld-style-page .au-faq-quick-intro span {
    color: #d5b687;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .ld-style-page .au-faq-quick-intro strong {
    display: block;
    margin-top: 7px;
    font-size: 24px;
    line-height: 1.07;
    letter-spacing: -.025em;
  }

  .ld-style-page .au-faq-quick-answer {
    padding: 19px 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-faq-quick-answer span {
    display: block;
    color: #c9a879;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .ld-style-page .au-faq-quick-answer strong {
    display: block;
    margin-top: 7px;
    color: #fff;
    font-size: 14px;
    line-height: 1.24;
  }

  .ld-style-page .au-faq-quick-answer p {
    margin: 6px 0 0;
    color: #c7c1b9;
    font-size: 11px;
    line-height: 1.45;
  }

  .ld-style-page .au-faq-groups {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    margin-top: 18px;
  }

  .ld-style-page .au-faq-group {
    overflow: hidden;
    border: 1px solid rgba(35,31,26,.10);
    border-radius: var(--au-radius);
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 30px rgba(40,34,27,.04);
  }

  .ld-style-page .au-faq-group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 21px 15px;
    border-bottom: 1px solid rgba(35,31,26,.07);
    background: linear-gradient(180deg,#fff,#fbfaf8);
  }

  .ld-style-page .au-faq-group-head h3 {
    margin: 0;
    color: #1d1b18;
    font-size: 18px;
    line-height: 1.15;
  }

  .ld-style-page .au-faq-group-head p {
    margin: 5px 0 0;
    color: var(--au-muted);
    font-size: 11px;
    line-height: 1.42;
  }

  .ld-style-page details.au-faq {
    margin: 0;
    border-bottom: 1px solid rgba(35,31,26,.07);
    background: #fff;
  }

  .ld-style-page details.au-faq:last-child {
    border-bottom: 0;
  }

  .ld-style-page .au-faq summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 60px;
    padding: 16px 20px;
    cursor: pointer;
    color: #201e1b;
    font-size: 13.25px;
    font-weight: 780;
    line-height: 1.4;
    list-style: none;
    transition: background .15s ease, color .15s ease;
  }

  .ld-style-page .au-faq summary::-webkit-details-marker {
    display: none;
  }

  .ld-style-page .au-faq summary::after {
    content: "+";
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border: 1px solid rgba(154,117,73,.24);
    border-radius: 50%;
    background: #f8f3eb;
    color: #8b653b;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    transition: background .15s ease, color .15s ease, transform .15s ease;
  }

  .ld-style-page .au-faq[open] summary {
    background: #fcfaf6;
  }

  .ld-style-page .au-faq[open] summary::after {
    content: "−";
    background: #9a7549;
    color: #fff;
    transform: rotate(0deg);
  }

  @media (hover:hover) {
    .ld-style-page .au-faq summary:hover {
      background: #fbf8f3;
    }
  }

  .ld-style-page .au-faq-answer {
    padding: 0 20px 18px;
    color: var(--au-muted);
    font-size: 12.5px;
    line-height: 1.58;
  }

  .ld-style-page .au-faq-answer p {
    margin: 0 0 9px;
  }

  .ld-style-page .au-faq-answer p:last-child {
    margin-bottom: 0;
  }

  .ld-style-page .au-faq-authority {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(154,117,73,.18);
    border-radius: 14px;
    background:
      linear-gradient(90deg, #f2eadf 0%, #f8f5ef 100%);
  }

  .ld-style-page .au-faq-authority strong {
    color: #2a2723;
    font-size: 14px;
    line-height: 1.3;
  }

  .ld-style-page .au-faq-authority span {
    max-width: 720px;
    color: #625b53;
    font-size: 12px;
    line-height: 1.48;
    text-align: right;
  }

  .ld-style-page .au-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(46px, 6.5vw, 78px);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: calc(var(--au-radius) + 4px);
    background:
      radial-gradient(circle at 18% 0%, rgba(205,158,98,.18), transparent 30%),
      radial-gradient(circle at 88% 100%, rgba(137,103,63,.13), transparent 28%),
      linear-gradient(145deg,#171717,#292622);
    color: #fff;
    text-align: center;
    box-shadow: 0 26px 62px rgba(31,27,22,.14);
  }

  .ld-style-page .au-final-cta::after {
    content: "";
    position: absolute;
    right: -125px;
    bottom: -145px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(220,184,137,.09);
    border-radius: 50%;
    box-shadow:
      0 0 0 45px rgba(220,184,137,.018),
      0 0 0 90px rgba(220,184,137,.012);
    pointer-events: none;
  }

  .ld-style-page .au-final-cta > * {
    position: relative;
    z-index: 1;
  }

  .ld-style-page .au-final-kicker {
    display: inline-block;
    margin-bottom: 11px;
    color: #dfc39c;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .ld-style-page .au-final-cta h2 {
    max-width: 900px;
    margin: 0 auto;
    font-size: clamp(32px,4vw,52px);
    line-height: 1.03;
    letter-spacing: -.035em;
  }

  .ld-style-page .au-final-cta > p.au-final-intro {
    max-width: 760px;
    margin: 15px auto 0;
    color: #d7d2cb;
    font-size: 14px;
    line-height: 1.55;
  }

  .ld-style-page .au-final-value {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 14px;
    margin-top: 25px;
    padding: 13px 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
  }

  .ld-style-page .au-final-price {
    margin: 0;
    color: #fff;
    font-size: 25px;
    font-weight: 850;
    line-height: 1;
  }

  .ld-style-page .au-final-delivery {
    margin: 0;
    padding-left: 14px;
    border-left: 1px solid rgba(255,255,255,.16);
    color: #cde7d7;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
  }

  .ld-style-page .au-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 18px;
  }

  .ld-style-page .au-final-actions .au-button--light {
    min-width: 245px;
    min-height: 50px;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 12px 26px rgba(0,0,0,.16);
  }

  .ld-style-page .au-final-reassurance {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 14px;
    margin-top: 17px;
    color: #c3bdb5;
    font-size: 10.75px;
    font-weight: 650;
  }

  .ld-style-page .au-final-reassurance span::before {
    content: "✓";
    margin-right: 5px;
    color: #d6b17e;
    font-weight: 900;
  }

  .ld-style-page .au-help-note {
    max-width: 760px;
    margin: 14px auto 0 !important;
    color: #aaa49d !important;
    font-size: 11.5px;
    line-height: 1.45;
  }

  .ld-style-page .au-mobile-bar {
    display: none;
  }

  /* Hide the generic builder launch card on this premium page only.
     The hidden button remains in the DOM and is triggered by our CTAs. */
  .section-under-cabinet-builder .ld-builder-wrap {
    display: none !important;
  }

  @media (max-width: 1050px) {
    .ld-style-page .au-hero { grid-template-columns: 1fr; }
    .ld-style-page .au-hero-copy { position: static; }
    .ld-style-page .au-hero-tagline { white-space: normal; }
    .ld-style-page .au-spec-strip { flex-wrap: wrap; }
    .ld-style-page .au-gallery-main,
    .ld-style-page .au-gallery-main img { min-height: 520px; }
    .ld-style-page .au-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-sensor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-control-principles {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .ld-style-page .au-control-principles-intro {
      grid-column: 1 / -1;
      padding-bottom: 10px;
    }
    .ld-style-page .au-sensor-install-panel {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .ld-style-page .au-sensor-install-intro {
      grid-column: 1 / -1;
      padding-bottom: 8px;
    }
    .ld-style-page .au-compare-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-compare-guide { display: block; }
    .ld-style-page .au-compare-guide p { margin-top: 6px; text-align: left; }
  }

  @media (max-width: 820px) {
    .ld-style-page .au-shell { width: min(100% - 28px, 1320px); }
    .ld-style-page .au-section { padding: 58px 0; }
    .ld-style-page .au-trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-trust-item { border-bottom: 1px solid var(--au-line); }
    .ld-style-page .au-trust-item:nth-child(2n) { border-right: 0; }
    .ld-style-page .au-trust-item:last-child { grid-column: 1 / -1; border-bottom: 0; }
    .ld-style-page .au-lifestyle-grid,
    .ld-style-page .au-install-layout,
    .ld-style-page .au-temp-layout,
    .ld-style-page .au-tech-layout { grid-template-columns: 1fr; }
    .ld-style-page .au-section--installed { padding: 44px 0 48px; }
    .ld-style-page .au-lifestyle-image { height: 360px; }
    .ld-style-page .au-lifestyle-note { padding: 26px 24px; }
    .ld-style-page .au-section--installation,
    .ld-style-page .au-section--finishes { padding: 46px 0 48px; }
    .ld-style-page .au-section--colour { padding: 48px 0 52px; }
    .ld-style-page .au-colour-visual {
      height: 300px;
      margin-top: 20px;
      background-position: center center;
    }
    .ld-style-page .au-colour-visual-labels {
      left: 10px;
      right: 10px;
      bottom: 10px;
      gap: 6px;
    }
    .ld-style-page .au-colour-visual-label {
      display: block;
      padding: 8px 5px;
    }
    .ld-style-page .au-colour-visual-label strong,
    .ld-style-page .au-colour-visual-label span {
      display: block;
    }
    .ld-style-page .au-colour-visual-label strong { font-size: 10px; }
    .ld-style-page .au-colour-visual-label span { margin-top: 2px; font-size: 9px; }
    .ld-style-page .au-colour-guide-note {
      display: block;
      font-size: 11px;
    }
    .ld-style-page .au-colour-guide-note span + span {
      display: block;
      margin-top: 4px;
    }
    .ld-style-page .au-cct-hero {
      grid-template-columns: 1fr;
      gap: 18px;
      padding: 25px 20px;
    }
    .ld-style-page .au-cct-hero h3 {
      font-size: 29px;
    }
    .ld-style-page .au-cct-hero-intro {
      font-size: 13.5px;
    }
    .ld-style-page .au-cct-three-whites {
      gap: 6px;
    }
    .ld-style-page .au-cct-white {
      padding: 11px 8px;
      text-align: center;
    }
    .ld-style-page .au-cct-hero-side {
      padding: 18px;
    }
    .ld-style-page .au-colour-options-heading {
      display: block;
      margin-top: 24px;
    }
    .ld-style-page .au-colour-options-heading p {
      margin-top: 7px;
      text-align: left;
    }
    .ld-style-page .au-colour-option-grid {
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .ld-style-page .au-colour-option-card {
      min-height: 0;
    }
    .ld-style-page .au-install-layout,
    .ld-style-page .au-finish-grid { margin-top: 20px; }
    .ld-style-page .au-step { padding: 13px 14px; }
    .ld-style-page .au-finish-copy { padding: 16px; }
    .ld-style-page .au-finish-grid,
    .ld-style-page .au-planning-grid,
    .ld-style-page .au-compare-intro-links { grid-template-columns: 1fr; }
    .ld-style-page .au-planning-hero { grid-template-columns: 1fr; }
    .ld-style-page .au-planning-refine-head,
    .ld-style-page .au-plan-method-head { display: block; }
    .ld-style-page .au-planning-refine-head p,
    .ld-style-page .au-plan-method-head p {
      margin-top: 6px;
      text-align: left;
    }
    .ld-style-page .au-plan-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-cta-band {
      grid-template-columns: 1fr;
      gap: 18px;
    }
    .ld-style-page .au-cta-action {
      min-width: 0;
    }
    .ld-style-page .au-system-reassurance { grid-template-columns: 1fr; }
    .ld-style-page .au-control-principles,
    .ld-style-page .au-sensor-install-panel { grid-template-columns: 1fr; }
    .ld-style-page .au-control-principles-intro,
    .ld-style-page .au-sensor-install-intro { grid-column: auto; }
    .ld-style-page .au-sensor-grid { grid-template-columns: 1fr; }
    .ld-style-page .au-sensor-card {
      grid-template-columns: 210px minmax(0,1fr);
    }
    .ld-style-page .au-no-sensor-choice { grid-template-columns: 1fr; gap: 7px; }
    .ld-style-page .au-system-detail-strip,
    .ld-style-page .au-zone-cards,
    .ld-style-page .au-power-options { grid-template-columns: 1fr; }
    .ld-style-page .au-zone-showcase-head { display: block; }
    .ld-style-page .au-zone-showcase-head p { margin-top: 7px; text-align: left; }
    .ld-style-page .au-faq-groups { grid-template-columns: 1fr; }
    .ld-style-page .au-faq-quick { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-faq-quick-intro { grid-column: 1 / -1; }
    .ld-style-page .au-faq-authority { display: block; }
    .ld-style-page .au-faq-authority span {
      display: block;
      margin-top: 5px;
      text-align: left;
    }
  }

  @media (max-width: 620px) {
    .ld-style-page { padding-bottom: 78px; }
    .ld-style-page .au-hero { padding-top: 18px; padding-bottom: 46px; gap: 28px; }
    .ld-style-page .au-gallery-main,
    .ld-style-page .au-gallery-main img { min-height: 420px; }
    .ld-style-page .au-gallery-thumbs { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .ld-style-page .au-grid-4,
    .ld-style-page .au-sensor-grid,
    .ld-style-page .au-compare-grid { grid-template-columns: 1fr; }
    .ld-style-page .au-tech-glance { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-planning-numbers,
    .ld-style-page .au-plan-steps { grid-template-columns: 1fr; }
    .ld-style-page .au-faq-quick { grid-template-columns: 1fr; }
    .ld-style-page .au-final-value {
      display: inline-grid;
      gap: 8px;
      border-radius: 18px;
    }
    .ld-style-page .au-final-delivery {
      padding: 8px 0 0;
      border-left: 0;
      border-top: 1px solid rgba(255,255,255,.14);
    }
    .ld-style-page .au-planning-number strong { font-size: 20px; }
    .ld-style-page .au-tech-spec-grid,
    .ld-style-page .au-output-grid { grid-template-columns: 1fr; }
    .ld-style-page .au-tech-card-head { display: block; }
    .ld-style-page .au-tech-card-head span {
      display: block;
      margin-top: 5px;
      text-align: left;
    }
    .ld-style-page .au-sensor-card { grid-template-columns: 1fr; }
    .ld-style-page .au-sensor-image {
      min-height: 230px;
      border-right: 0;
      border-bottom: 1px solid rgba(34,30,26,.065);
    }
    .ld-style-page .au-sensor-image img {
      transform: scale(1.04);
    }
    .ld-style-page .au-mounting-spec { grid-template-columns: 1fr; }
    .ld-style-page .au-zone-row { grid-template-columns: 1fr; gap: 4px; }
    .ld-style-page .au-zone-control { justify-self: start; }
    .ld-style-page .au-mini-compare { grid-template-columns: 1fr; }
    .ld-style-page .au-system-flow { padding: 25px 20px; }
    .ld-style-page .au-system-steps {
      margin-top: 0;
      padding-top: 20px;
    }
    .ld-style-page .au-system-flow h3 { font-size: 28px; }
    .ld-style-page .au-system-steps { grid-template-columns: 1fr; }
    .ld-style-page .au-system-step { min-height: 0; }
    .ld-style-page .au-driver-explainer-body,
    .ld-style-page .au-zone-showcase { padding: 20px; }
    .ld-style-page .au-driver-explainer-image {
      min-height: 205px;
      padding: 10px 14px 34px;
    }
    .ld-style-page .au-driver-explainer-image img {
      transform: scale(1.06);
    }
    .ld-style-page .au-component-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ld-style-page .au-system-components-head { display: block; }
    .ld-style-page .au-system-components-head p { margin-top: 5px; text-align: left; }
    .ld-style-page .au-power-option { grid-template-columns: 92px minmax(0,1fr); }
    .ld-style-page .au-zone-card-top { align-items: flex-start; }
    .ld-style-page th,
    .ld-style-page td { padding: 12px 11px; font-size: 12px; }
    .ld-style-page .au-mobile-bar {
      position: fixed;
      z-index: 35;
      left: 10px;
      right: 10px;
      bottom: 10px;
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 10px 10px 10px 14px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      background: rgba(20,20,20,.96);
      color: #fff;
      box-shadow: 0 16px 40px rgba(0,0,0,.23);
      opacity: 0;
      pointer-events: none;
      transform: translateY(18px);
      transition: opacity 180ms ease, transform 180ms ease;
      backdrop-filter: blur(10px);
    }
    .ld-style-page .au-mobile-bar.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .ld-style-page .au-mobile-price strong { display: block; font-size: 13px; }
    .ld-style-page .au-mobile-price span { display: block; color: #bde0cc; font-size: 10px; font-weight: 700; }
    .ld-style-page .au-mobile-bar .au-button { min-height: 44px; padding: 10px 15px; font-size: 12px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ld-style-page *,
    .ld-style-page *::before,
    .ld-style-page *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }


/* =========================================================
   AURELIA / SHARED STYLE PAGE — BUY-FIRST + STICKY CTA POLISH
   ========================================================= */
.ld-style-page .au-buybox--hero {
  margin-top: 17px;
  padding: 18px;
  border-color: #d9cec0;
  background:
    radial-gradient(circle at 100% 0%, rgba(185, 143, 91, .11), transparent 34%),
    linear-gradient(145deg, #fff, #f8f4ee);
  box-shadow: 0 12px 30px rgba(42, 35, 28, .065);
}

.ld-style-page .au-buybox-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.ld-style-page .au-buybox-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--au-accent-dark);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.ld-style-page .au-buybox-title {
  display: block;
  color: var(--au-ink);
  font-size: clamp(19px, 1.8vw, 24px);
  line-height: 1.12;
  letter-spacing: -.02em;
}

.ld-style-page .au-buybox-head p {
  max-width: 610px;
  margin: 6px 0 0;
  color: #655e56;
  font-size: 12.5px;
  line-height: 1.45;
}

.ld-style-page .au-buybox-value {
  min-width: 148px;
  padding-left: 16px;
  border-left: 1px solid #e2d9cf;
  text-align: right;
}

.ld-style-page .au-buybox-value span,
.ld-style-page .au-buybox-value small {
  display: block;
}

.ld-style-page .au-buybox-value span {
  color: var(--au-ink);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 850;
}

.ld-style-page .au-buybox-value small {
  margin-top: 4px;
  color: var(--au-green);
  font-size: 10.5px;
  line-height: 1.25;
  font-weight: 750;
}

.ld-style-page .au-buybox--hero .au-button--buy {
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: -.01em;
}

.ld-style-page .au-buybox-points {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 11px;
  color: #756d64;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 650;
}

.ld-style-page .au-buybox-points span::before {
  content: "✓";
  margin-right: 5px;
  color: #8a6843;
  font-weight: 900;
}

/* Make long-form expertise easier to browse rather than feel like a dissertation. */
.ld-style-page .au-section {
  padding-top: 70px;
  padding-bottom: 70px;
}

.ld-style-page .au-section--quick-guide .au-lead {
  max-width: 820px;
}

.ld-style-page .au-quick-guide-grid {
  margin-top: 28px;
}

.ld-style-page .au-quick-answer {
  min-height: 0;
}

.ld-style-page .au-quick-answer h3 {
  font-size: 17px;
  line-height: 1.22;
}

.ld-style-page .au-quick-answer p {
  font-size: 12.5px;
  line-height: 1.5;
}

.ld-style-page .au-quick-answer p strong {
  color: #332a22;
}

/* Sticky buy bar — desktop and mobile. It is only activated by JS after the hero buy box leaves view. */
.ld-style-page .au-mobile-bar.au-sticky-buybar {
  position: fixed;
  z-index: 35;
  left: 50%;
  right: auto;
  bottom: 16px;
  width: min(920px, calc(100vw - 32px));
  transform: translate(-50%, 22px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 11px 12px 11px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(23,22,21,.96);
  color: #fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
  backdrop-filter: blur(12px);
}

.ld-style-page .au-mobile-bar.au-sticky-buybar.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price span {
  display: block;
  margin-top: 2px;
  color: #bedfca;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 750;
}

.ld-style-page .au-mobile-bar.au-sticky-buybar .au-button {
  min-height: 44px;
  padding: 10px 18px;
  white-space: nowrap;
  font-size: 12px;
}

@media (max-width: 820px) {
  .ld-style-page .au-section {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .ld-style-page .au-buybox-head {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .ld-style-page .au-buybox-value {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    align-items: baseline;
    padding-left: 0;
    border-left: 0;
    text-align: left;
  }

  .ld-style-page .au-buybox-value span {
    font-size: 15px;
  }
}

@media (max-width: 620px) {
  .ld-style-page .au-mobile-bar.au-sticky-buybar {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    gap: 9px;
    padding: 9px 9px 9px 12px;
    border-radius: 15px;
    transform: translateY(18px);
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar.is-visible {
    transform: translateY(0);
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price strong {
    font-size: 11.5px;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price span {
    font-size: 9px;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-button {
    min-height: 42px;
    padding: 9px 11px;
    font-size: 10.5px;
  }

  .ld-style-page .au-buybox--hero {
    padding: 15px;
  }

  .ld-style-page .au-buybox-title {
    font-size: 19px;
  }
}


/* =========================================================
   V42 — MOBILE BUY-FIRST ORDER + LONG-PAGE NAVIGATION
   ========================================================= */

/* Compact crawlable jump navigation makes the long-form guide easy to browse. */
.ld-style-page .au-page-nav {
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  margin: 0 0 10px;
  padding: 8px;
  border: 1px solid var(--au-line);
  border-radius: 14px;
  background: #faf8f5;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ld-style-page .au-page-nav::-webkit-scrollbar {
  display: none;
}

.ld-style-page .au-page-nav-label,
.ld-style-page .au-page-nav a {
  flex: 0 0 auto;
  white-space: nowrap;
}

.ld-style-page .au-page-nav-label {
  padding: 7px 8px;
  color: #8a6946;
  font-size: 10px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ld-style-page .au-page-nav a {
  padding: 8px 11px;
  border: 1px solid #e6dfd6;
  border-radius: 999px;
  background: #fff;
  color: #48423b;
  font-size: 11px;
  line-height: 1;
  font-weight: 720;
  text-decoration: none;
}

.ld-style-page .au-page-nav a:hover,
.ld-style-page .au-page-nav a:focus-visible {
  border-color: #b99b79;
  background: #f5eee5;
  color: #2c251f;
}

.ld-style-page [id^="aurelia-"] {
  scroll-margin-top: 90px;
}

/* Keep the hero split invisible on desktop: visual layout remains unchanged. */
.ld-style-page .au-hero-intro,
.ld-style-page .au-hero-details {
  min-width: 0;
}

/* Sticky CTA: leave more breathing room for third-party chat widgets on phones. */
@media (max-width: 820px) {
  /* Buy-first mobile/tablet hierarchy:
     Title + CTA -> gallery -> supporting product detail. No duplicate H1. */
  .ld-style-page .au-hero {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .ld-style-page .au-hero-copy {
    display: contents;
  }

  .ld-style-page .au-hero-intro { order: 1; }
  .ld-style-page .au-gallery { order: 2; }
  .ld-style-page .au-hero-details { order: 3; }

  .ld-style-page .au-hero-intro .au-buybox--hero {
    margin-top: 14px;
  }

  .ld-style-page .au-page-nav {
    margin-top: 2px;
  }
}

@media (max-width: 620px) {
  .ld-style-page {
    /* Extra space for the raised sticky CTA so page content is never trapped behind it. */
    padding-bottom: 136px;
  }

  .ld-style-page .au-hero {
    padding-top: 12px;
    padding-bottom: 34px;
    gap: 16px;
  }

  .ld-style-page .au-hero-intro .au-kicker {
    margin-bottom: 7px;
  }

  .ld-style-page .au-hero-intro .au-heading {
    font-size: clamp(31px, 9.3vw, 39px);
    line-height: .99;
  }

  .ld-style-page .au-hero-tagline {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.35;
  }

  /* The first CTA should be decisive, not a mini dissertation. */
  .ld-style-page .au-buybox--hero {
    margin-top: 13px;
    padding: 14px;
    border-radius: 16px;
  }

  .ld-style-page .au-buybox--hero .au-buybox-kicker {
    font-size: 8.5px;
  }

  .ld-style-page .au-buybox--hero .au-buybox-title {
    font-size: 18px;
    line-height: 1.08;
  }

  .ld-style-page .au-buybox--hero .au-buybox-head p {
    margin-top: 5px;
    font-size: 11.5px;
    line-height: 1.42;
  }

  .ld-style-page .au-buybox--hero .au-buybox-value {
    gap: 4px 8px;
  }

  .ld-style-page .au-buybox--hero .au-buybox-value span {
    font-size: 14px;
  }

  .ld-style-page .au-buybox--hero .au-buybox-value small {
    font-size: 9.5px;
  }

  .ld-style-page .au-buybox--hero .au-button--buy {
    min-height: 48px;
    margin-top: 11px;
    font-size: 12.5px;
  }

  .ld-style-page .au-buybox--hero .au-buybox-points {
    display: none;
  }

  /* Gallery remains premium but no longer monopolises the first mobile screen. */
  .ld-style-page .au-gallery-main,
  .ld-style-page .au-gallery-main img {
    min-height: 340px;
  }

  /* All six gallery thumbnails remain on one clean row. */
  .ld-style-page .au-gallery-thumbs {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
    margin-top: 8px;
  }

  .ld-style-page .au-gallery-thumb {
    border-radius: 8px;
  }

  .ld-style-page .au-gallery-badge {
    left: 11px;
    bottom: 11px;
    padding: 7px 10px;
    font-size: 10px;
  }

  .ld-style-page .au-hero-details .au-hero-description {
    margin-top: 2px;
  }

  /* 3 + 2 benefit grid looks deliberate instead of leaving one orphaned item. */
  .ld-style-page .au-trust-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .ld-style-page .au-trust-item {
    grid-column: span 2;
    padding: 12px 6px;
    border-right: 1px solid var(--au-line) !important;
    border-bottom: 1px solid var(--au-line) !important;
    font-size: 10.5px;
    line-height: 1.2;
  }

  .ld-style-page .au-trust-item:nth-child(3) {
    border-right: 0 !important;
  }

  .ld-style-page .au-trust-item:nth-child(4),
  .ld-style-page .au-trust-item:nth-child(5) {
    grid-column: span 3;
    border-bottom: 0 !important;
  }

  .ld-style-page .au-trust-item:nth-child(5) {
    border-right: 0 !important;
  }

  .ld-style-page .au-page-nav {
    width: calc(100vw - 28px);
    margin-left: 0;
    padding: 7px;
    border-radius: 12px;
  }

  .ld-style-page .au-page-nav-label {
    padding-left: 6px;
    font-size: 9px;
  }

  .ld-style-page .au-page-nav a {
    padding: 7px 9px;
    font-size: 10px;
  }

  /* Raise the sticky buy bar above the floating chat launcher shown by the theme. */
  .ld-style-page .au-mobile-bar.au-sticky-buybar {
    left: 8px;
    right: 8px;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
    padding: 8px 8px 8px 11px;
    border-radius: 14px;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price strong {
    font-size: 10.5px;
    line-height: 1.15;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price span {
    margin-top: 2px;
    font-size: 8.5px;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-button {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 10px;
  }
}


/* =========================================================
   V43 — MOBILE STICKY CTA / CHAT COEXISTENCE
   ========================================================= */
.ld-style-page .au-sticky-buy-mobile {
  display: none;
}

@media (max-width: 620px) {
  /*
    The theme's chat launcher occupies the lower-right corner.
    Put the buying CTA alongside it instead of stacking another full-width
    bar above it. This keeps the purchase route permanently available
    without hiding the page content.
  */
  .ld-style-page {
    padding-bottom: 78px;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar {
    left: 8px !important;
    right: 86px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    min-height: 44px;
    display: block;
    padding: 0 !important;
    border: 0;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    transform: translateY(16px) !important;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar.is-visible {
    transform: translateY(0) !important;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-mobile-price {
    display: none;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-button {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(23,22,21,.97);
    color: #fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
    font-size: 10.5px;
    line-height: 1.15;
    font-weight: 850;
    white-space: nowrap;
    backdrop-filter: blur(10px);
  }

  .ld-style-page .au-sticky-buy-desktop {
    display: none;
  }

  .ld-style-page .au-sticky-buy-mobile {
    display: inline;
  }
}


/* =========================================================
   V44 — FINAL MOBILE STICKY CTA CLEARANCE
   Keep the purchase pill completely clear of the chat launcher.
   ========================================================= */
@media (max-width: 620px) {
  .ld-style-page .au-mobile-bar.au-sticky-buybar {
    left: 8px !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100vw - 112px) !important;
  }

  .ld-style-page .au-mobile-bar.au-sticky-buybar .au-button {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* =========================================================
   AURELIA V46 — BUY & BUILD / AI DISCOVERY SECTION
   ========================================================= */

.aurelia .au-section--builder-discovery {
  padding-top: 26px;
  padding-bottom: 26px;
  background: #fff;
}

.aurelia .au-builder-discovery {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, .45fr);
  gap: 28px;
  align-items: center;
  padding: 30px 32px;
  border: 1px solid #dfd8d0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 8%, rgba(210, 188, 157, .18), transparent 32%),
    linear-gradient(135deg, #fff 0%, #fbf8f4 100%);
  box-shadow: 0 18px 48px rgba(36, 31, 26, .07);
}

.aurelia .au-builder-discovery-copy .au-heading {
  max-width: 760px;
  margin-bottom: 10px;
}

.aurelia .au-builder-discovery-copy > p {
  max-width: 820px;
  margin-top: 0;
  color: #514b45;
  line-height: 1.68;
}

.aurelia .au-builder-discovery-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 14px;
}

.aurelia .au-builder-discovery-points span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 7px 10px;
  border: 1px solid #ddd4ca;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #342f2a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.aurelia .au-builder-discovery-points span::before {
  content: "✓";
  margin-right: 6px;
  color: #111;
  font-size: 11px;
  font-weight: 900;
}

.aurelia .au-builder-included {
  margin-bottom: 0 !important;
  padding-top: 12px;
  border-top: 1px solid #e7e0d9;
  font-size: 12.5px;
}

.aurelia .au-builder-discovery-action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 20px;
  border-radius: 14px;
  background: #111;
  color: #fff;
  text-align: left;
}

.aurelia .au-builder-discovery-action > span {
  font-size: 18px;
  font-weight: 850;
  letter-spacing: -.02em;
}

.aurelia .au-builder-discovery-action > small {
  margin: 3px 0 15px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
}

.aurelia .au-builder-discovery-action .au-button {
  width: 100%;
  background: #fff !important;
  color: #111 !important;
  border-color: #fff !important;
}

@media screen and (max-width: 820px) {
  .aurelia .au-section--builder-discovery {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .aurelia .au-builder-discovery {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px;
    border-radius: 14px;
  }

  .aurelia .au-builder-discovery-points {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .aurelia .au-builder-discovery-points span {
    border-radius: 9px;
  }

  .aurelia .au-builder-discovery-action {
    padding: 16px;
  }
}


/* =========================================================
   AURELIA V49 — HERO BUYBOX WIDTH SAFETY
   Prevent long delivery reassurance from collapsing the main CTA copy.
   ========================================================= */

.ld-style-page .au-buybox-head {
  grid-template-columns: minmax(0, 1fr) minmax(155px, 205px);
}

.ld-style-page .au-buybox-head > div {
  min-width: 0;
}

.ld-style-page .au-buybox-value {
  min-width: 0;
  max-width: 205px;
}

.ld-style-page .au-buybox-value small {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .ld-style-page .au-buybox-head {
    grid-template-columns: minmax(0, 1fr) minmax(145px, 185px);
    gap: 14px;
  }

  .ld-style-page .au-buybox-value {
    max-width: 185px;
    padding-left: 12px;
  }

  .ld-style-page .au-buybox-title {
    font-size: clamp(18px, 1.7vw, 22px);
  }
}

@media (max-width: 820px) {
  .ld-style-page .au-buybox-head {
    grid-template-columns: 1fr;
  }

  .ld-style-page .au-buybox-value {
    max-width: none;
  }
}


/* =========================================================
   AURELIA V50 — HERO PRICE HIERARCHY
   Make the starting price the clear buying anchor without
   turning the buybox into a discount-style promotion.
   ========================================================= */

.ld-style-page .au-buybox-value {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 3px;
  padding-top: 1px;
}

.ld-style-page .au-buybox-price,
.ld-style-page .au-buybox-value > strong {
  display: block;
  font-size: clamp(22px, 1.9vw, 24px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
  color: #111 !important;
}

.ld-style-page .au-buybox-value small {
  display: block;
  margin-top: 2px !important;
  max-width: 190px;
  font-size: 11px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  color: #5c554f !important;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .ld-style-page .au-buybox-price,
  .ld-style-page .au-buybox-value > strong {
    font-size: 21px !important;
  }

  .ld-style-page .au-buybox-value small {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 820px) {
  .ld-style-page .au-buybox-value {
    gap: 2px;
    padding-top: 0;
  }

  .ld-style-page .au-buybox-price,
  .ld-style-page .au-buybox-value > strong {
    font-size: 23px !important;
  }

  .ld-style-page .au-buybox-value small {
    max-width: none;
    font-size: 11px !important;
  }
}


/* ============================================================
   V51 — planning visibility + non-interactive audience treatment
   ============================================================ */

/* The profession content is information, not navigation.
   Present it editorially so it cannot be mistaken for tappable pills. */
.ld-style-page .au-audience-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 24px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(54, 47, 39, .11);
}

.ld-style-page .au-audience-guide-item {
  position: relative;
  min-width: 0;
  padding: 0 0 0 14px;
  border-left: 2px solid rgba(154, 117, 73, .45);
  background: transparent;
  box-shadow: none;
}

.ld-style-page .au-audience-guide-item strong,
.ld-style-page .au-audience-guide-item span {
  display: block;
}

.ld-style-page .au-audience-guide-item strong {
  margin-bottom: 5px;
  color: #26221e;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.25;
}

.ld-style-page .au-audience-guide-item span {
  color: #645d55;
  font-size: 11.5px;
  line-height: 1.48;
}

/* Put the practical six-step method before the Buy & Build explanation,
   but keep it compact so it helps customers without delaying conversion. */
.ld-style-page .au-section--plan-before-builder {
  padding-top: 48px;
  padding-bottom: 52px;
  background:
    linear-gradient(180deg, rgba(250,248,244,.98), rgba(246,242,236,.98));
  border-top: 1px solid rgba(54,47,39,.06);
  border-bottom: 1px solid rgba(54,47,39,.06);
}

.ld-style-page .au-section--plan-before-builder .au-heading--section {
  max-width: 800px;
  margin-bottom: 9px;
}

.ld-style-page .au-section--plan-before-builder .au-lead {
  max-width: 850px;
  margin-bottom: 0;
}

.ld-style-page .au-plan-method--early {
  margin-top: 24px;
}

.ld-style-page .au-plan-method--early .au-plan-steps {
  margin-top: 0;
}

.ld-style-page .au-plan-method--early .au-plan-step {
  min-height: 142px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 26px rgba(43,37,31,.035);
}

@media (max-width: 900px) {
  .ld-style-page .au-audience-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .ld-style-page .au-audience-guide {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 24px;
    padding-top: 8px;
  }

  .ld-style-page .au-audience-guide-item {
    padding: 14px 0 14px 12px;
    border-left-width: 2px;
    border-bottom: 1px solid rgba(54,47,39,.08);
  }

  .ld-style-page .au-audience-guide-item:last-child {
    border-bottom: 0;
  }

  .ld-style-page .au-audience-guide-item strong {
    font-size: 13px;
  }

  .ld-style-page .au-audience-guide-item span {
    font-size: 12px;
    line-height: 1.5;
  }

  .ld-style-page .au-section--plan-before-builder {
    padding-top: 40px;
    padding-bottom: 42px;
  }

  .ld-style-page .au-plan-method--early {
    margin-top: 19px;
  }

  .ld-style-page .au-plan-method--early .au-plan-step {
    min-height: 0;
    padding-top: 17px;
    padding-bottom: 17px;
  }
}


/* ============================================================
   V52 — Vela White finish support
   ============================================================ */
.ld-style-page .au-dot--white {
  background: linear-gradient(135deg, #ffffff, #e9e7e2);
  border: 1px solid rgba(45, 40, 35, .18);
}

.ld-style-page .au-finish-placeholder--white {
  background: linear-gradient(145deg, #ffffff, #f2f0eb);
}


/* ============================================================
   V53 — softer dark panels
   Keeps strong contrast, but removes the near-black heaviness.
   ============================================================ */

.ld-style-page .au-cct-hero,
.ld-style-page .au-system-flow,
.ld-style-page .au-control-principles,
.ld-style-page .au-planning-start,
.ld-style-page .au-faq-quick {
  background:
    radial-gradient(circle at 92% 10%, rgba(194,149,92,.14), transparent 26%),
    linear-gradient(135deg, #3a3530 0%, #25221f 78%);
}

.ld-style-page .au-sensor-install-panel {
  background: #35302c;
}

.ld-style-page .au-guarantee-card {
  background: linear-gradient(145deg, #3b3530, #24211e);
}

.ld-style-page .au-final-cta {
  background: linear-gradient(145deg, #2c2926, #3b3530);
}

.aurelia .au-builder-discovery-action,
.eclipse .au-builder-discovery-action,
.vela .au-builder-discovery-action {
  background: #2d2926;
}


/* ============================================================
   V54 — compact hero, clearer navigation, quieter guide artwork
   ============================================================ */

/* Compact the hero buying card and remove the empty right-hand area.
   Price and delivery now sit on one tidy line below the reassurance copy. */
.ld-style-page .au-buybox--hero {
  padding: 15px 16px 13px;
}

.ld-style-page .au-buybox-head {
  display: block;
}

.ld-style-page .au-buybox-head > div:first-child {
  min-width: 0;
}

.ld-style-page .au-buybox-title {
  max-width: 660px;
}

.ld-style-page .au-buybox-head p {
  max-width: 680px;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.4;
}

.ld-style-page .au-buybox-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 10px;
  min-width: 0;
  margin-top: 9px;
  padding: 8px 0 0;
  border-top: 1px solid #e4dbd1;
  border-left: 0;
  text-align: left;
}

.ld-style-page .au-buybox-value span {
  font-size: 15.5px;
}

.ld-style-page .au-buybox-value small {
  margin-top: 0;
  font-size: 10.5px;
}

.ld-style-page .au-buybox--hero .au-button--buy {
  min-height: 46px;
  margin-top: 10px;
}

.ld-style-page .au-buybox-points {
  gap: 5px 13px;
  margin-top: 8px;
}

/* Light colour availability is descriptive information, not a button row. */
.ld-style-page .au-option-block--availability .au-availability-note {
  margin-top: 5px;
  max-width: 720px;
  color: #5e5750;
  font-size: 11.5px;
  line-height: 1.48;
}

/* The old feature strip repeated facts already shown in the hero.
   It has been removed from the markup, allowing the page guide to sit
   immediately below the product details. */

/* Make the jump navigation unmistakably interactive. */
.ld-style-page .au-page-nav {
  gap: 8px;
  margin-top: 14px;
  margin-bottom: 12px;
  padding: 10px 11px;
  border-color: #d8cec2;
  background: #f7f3ee;
  box-shadow: 0 5px 16px rgba(42, 35, 28, .045);
}

.ld-style-page .au-page-nav-label {
  padding: 8px 10px 8px 7px;
  color: #765433;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .075em;
}

.ld-style-page .au-page-nav a {
  padding: 9px 12px;
  border-color: #d9cfc4;
  color: #302b26;
  font-size: 11.5px;
  font-weight: 800;
  box-shadow: 0 2px 6px rgba(42, 35, 28, .035);
}

.ld-style-page .au-page-nav a:hover,
.ld-style-page .au-page-nav a:focus-visible {
  border-color: #a97f52;
  background: #fff;
  box-shadow: 0 4px 10px rgba(42, 35, 28, .07);
}

/* Reduce the visibility of the kitchen-plan artwork so mobile copy stays
   comfortably readable. This is roughly a 40% reduction in visual strength. */
.ld-style-page .au-section--professional.has-prof-background::before {
  background-image:
    linear-gradient(90deg,
      rgba(250, 247, 241, .76) 0%,
      rgba(250, 247, 241, .70) 42%,
      rgba(250, 247, 241, .63) 100%
    ),
    var(--au-prof-bg);
}

@media (max-width: 620px) {
  .ld-style-page .au-buybox--hero {
    padding: 14px;
  }

  .ld-style-page .au-buybox-value {
    gap: 2px 8px;
  }

  .ld-style-page .au-buybox-value span {
    font-size: 15px;
  }

  .ld-style-page .au-page-nav {
    padding: 9px;
  }

  .ld-style-page .au-page-nav-label {
    font-size: 10px;
  }

  .ld-style-page .au-page-nav a {
    padding: 9px 11px;
    font-size: 11.5px;
  }

  .ld-style-page .au-section--professional.has-prof-background::before {
    background-image:
      linear-gradient(rgba(250, 247, 241, .80), rgba(250, 247, 241, .80)),
      var(--au-prof-bg);
  }
}


/* ============================================================
   V55 — micro layout tweaks
   - keep hero CTA message tighter
   - keep delivery line on one line on desktop
   - reduce space below hero details / tech spec link
   ============================================================ */

/* 1) Keep the "Choose Your ... Lights. We’ll Match the Rest." line cleaner
   on desktop without making it look undersized. */
.ld-style-page .au-buybox-title {
  max-width: none;
  font-size: 16.25px;
  line-height: 1.04;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

/* 2) Keep the delivery line together on desktop where space allows. */
.ld-style-page .au-buybox-value {
  gap: 4px 10px;
  margin-top: 8px;
  padding-top: 7px;
}

.ld-style-page .au-buybox-value small {
  white-space: nowrap;
}

/* Slightly tighten the body copy so the hero card breathes better. */
.ld-style-page .au-buybox-head p {
  margin-top: 4px;
  line-height: 1.36;
}

/* 3) Tighten the technical specification link and reduce the dead space
   below the product detail area. */
.ld-style-page .au-spec-link {
  margin-top: 10px;
  padding: 10px 14px;
}

.ld-style-page .au-spec-link-copy {
  gap: 1px;
}

.ld-style-page .au-spec-link small {
  line-height: 1.2;
}

/* Pull the next section a little closer so the area under the tech spec
   link does not feel loose on desktop. */
.ld-style-page .au-hero {
  padding-bottom: 44px;
}

/* Mobile / narrower desktop:
   let the title and delivery wrap naturally again. */
@media (max-width: 1260px) {
  .ld-style-page .au-buybox-title {
    font-size: 15.5px;
  }
}

@media (max-width: 980px) {
  .ld-style-page .au-buybox-title {
    white-space: normal;
    font-size: 18px;
    line-height: 1.08;
  }

  .ld-style-page .au-buybox-value small {
    white-space: normal;
  }

  .ld-style-page .au-hero {
    padding-bottom: 34px;
  }
}


/* ============================================================
   V56 — progressive information architecture
   ============================================================ */

/* A calmer typography system */
.ld-style-page .au-heading { font-weight: 700; }

.ld-style-page .au-heading--section {
  font-size: clamp(30px, 2.35vw, 36px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-weight: 650;
}

.ld-style-page .au-lead {
  font-size: 16.5px;
  line-height: 1.58;
  font-weight: 400;
}

.ld-style-page .au-kicker {
  font-size: 11.5px;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: .075em;
}

.ld-style-page h3 { font-weight: 600; }

.ld-style-page p strong,
.ld-style-page li strong { font-weight: 600; }

.ld-style-page .au-pill,
.ld-style-page .au-option-label { font-weight: 600; }

.ld-style-page .au-buybox-support {
  margin: 8px 0 0;
  color: #6a625a;
  font-size: 11.5px;
  line-height: 1.4;
}

/* Is this style right? */
.ld-style-page .au-section--fit {
  position: relative;
  overflow: hidden;
  background: #fbf9f6;
}

.ld-style-page .au-section--fit.has-prof-background::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg,
      rgba(250,247,241,.90) 0%,
      rgba(250,247,241,.87) 45%,
      rgba(250,247,241,.82) 100%
    ),
    var(--au-prof-bg);
  background-size: cover;
  background-position: center;
  pointer-events: none;
}

.ld-style-page .au-section--fit .au-shell {
  position: relative;
  z-index: 1;
}

.ld-style-page .au-fit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 28px;
  border-top: 1px solid #ded6cd;
  border-bottom: 1px solid #ded6cd;
}

.ld-style-page .au-fit-card {
  padding: 24px 26px;
  background: rgba(255,255,255,.58);
}

.ld-style-page .au-fit-card + .au-fit-card {
  border-left: 1px solid #ded6cd;
}

.ld-style-page .au-fit-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  line-height: 1.25;
}

.ld-style-page .au-fit-card p {
  margin: 0;
  color: #615a53;
  font-size: 15px;
  line-height: 1.55;
}

.ld-style-page .au-audience-summary {
  max-width: 940px;
  margin: 20px 0 0;
  color: #70675f;
  font-size: 14px;
  line-height: 1.55;
}

/* Early planning preview */
.ld-style-page .au-section--plan-preview {
  padding-top: 48px;
  padding-bottom: 48px;
  background: #fff;
}

.ld-style-page .au-plan-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.ld-style-page .au-plan-preview-grid article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid #ddd5cb;
}

.ld-style-page .au-plan-preview-grid article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f3ede6;
  color: #8b653d;
  font-size: 13px;
  font-weight: 700;
}

.ld-style-page .au-plan-preview-grid h3 {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.25;
}

.ld-style-page .au-plan-preview-grid p {
  margin: 0;
  color: #625b54;
  font-size: 14.5px;
  line-height: 1.5;
}

.ld-style-page .au-plan-preview-note {
  max-width: 900px;
  margin: 18px 0 0;
  color: #514a43;
  font-size: 14px;
  line-height: 1.55;
}

/* Full six-step workflow */
.ld-style-page .au-section--plan-workflow { background: #f8f4ee; }

.ld-style-page .au-plan-steps--workflow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
  padding: 0;
  list-style: none;
  counter-reset: au-plan;
}

.ld-style-page .au-plan-steps--workflow .au-plan-step {
  position: relative;
  min-height: 0;
  padding: 22px 20px 22px 54px;
  border: 1px solid #ded5ca;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  box-shadow: none;
  counter-increment: au-plan;
}

.ld-style-page .au-plan-steps--workflow .au-plan-step::before {
  content: counter(au-plan);
  position: absolute;
  left: 18px;
  top: 20px;
  color: #9c744b;
  font-size: 20px;
  line-height: 1;
  font-weight: 650;
}

.ld-style-page .au-plan-steps--workflow h3 {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.25;
}

.ld-style-page .au-plan-steps--workflow p {
  margin: 0;
  color: #625b54;
  font-size: 14px;
  line-height: 1.5;
}

/* Floating page guide */
.ld-style-page .au-floating-guide {
  position: fixed;
  z-index: 34;
  right: 18px;
  bottom: 94px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.ld-style-page .au-floating-guide.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.ld-style-page .au-floating-guide-button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 8px 12px;
  border: 1px solid #d8cfc5;
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  color: #28241f;
  box-shadow: 0 10px 28px rgba(45,38,31,.13);
  cursor: pointer;
  backdrop-filter: blur(10px);
}

.ld-style-page .au-guide-burger {
  display: grid;
  gap: 3px;
  width: 16px;
}

.ld-style-page .au-guide-burger i {
  display: block;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
}

.ld-style-page .au-guide-button-copy {
  display: grid;
  gap: 1px;
  text-align: left;
}

.ld-style-page .au-guide-button-copy strong {
  font-size: 11px;
  line-height: 1.15;
  font-weight: 650;
}

.ld-style-page .au-guide-button-copy > span {
  max-width: 155px;
  overflow: hidden;
  color: #736a62;
  font-size: 10.5px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ld-style-page .au-floating-guide-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 9px);
  width: 280px;
  overflow: hidden;
  border: 1px solid #d9d0c6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(43,36,30,.18);
}

.ld-style-page .au-floating-guide-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px 10px;
  border-bottom: 1px solid #eee7df;
}

.ld-style-page .au-floating-guide-head strong {
  font-size: 13px;
  font-weight: 650;
}

.ld-style-page .au-floating-guide-close {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f5f1ec;
  color: #2a2622;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.ld-style-page .au-floating-guide-menu nav {
  display: grid;
  padding: 7px;
}

.ld-style-page .au-floating-guide-menu a {
  display: block;
  padding: 9px 10px;
  border-radius: 9px;
  color: #4c453e;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 500;
  text-decoration: none;
}

.ld-style-page .au-floating-guide-menu a:hover,
.ld-style-page .au-floating-guide-menu a:focus-visible,
.ld-style-page .au-floating-guide-menu a.is-active {
  background: #f4eee7;
  color: #261f19;
}

.ld-style-page .au-floating-guide-menu a.is-active {
  font-weight: 650;
}

/* Retire the permanent Explore pill strip */
.ld-style-page .au-page-nav { display: none !important; }

/* Simpler final CTA */
.ld-style-page .au-final-cta {
  padding-top: 34px;
  padding-bottom: 34px;
}

.ld-style-page .au-final-intro { max-width: 720px; }

@media (max-width: 820px) {
  .ld-style-page .au-heading--section { font-size: 27px; }
  .ld-style-page .au-lead { font-size: 16px; }

  .ld-style-page .au-fit-grid,
  .ld-style-page .au-plan-preview-grid,
  .ld-style-page .au-plan-steps--workflow {
    grid-template-columns: 1fr;
  }

  .ld-style-page .au-fit-card {
    padding: 18px 0;
    background: transparent;
  }

  .ld-style-page .au-fit-card + .au-fit-card {
    border-left: 0;
    border-top: 1px solid #ded6cd;
  }

  .ld-style-page .au-fit-grid { border-bottom: 0; }
  .ld-style-page .au-plan-preview-grid { gap: 0; }
  .ld-style-page .au-plan-steps--workflow { gap: 12px; }
}

@media (max-width: 620px) {
  .ld-style-page .au-heading--section {
    font-size: 25px;
    line-height: 1.1;
  }

  .ld-style-page .au-kicker { font-size: 11px; }

  .ld-style-page .au-section--plan-preview {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .ld-style-page .au-plan-steps--workflow .au-plan-step {
    padding: 18px 16px 18px 48px;
  }

  .ld-style-page .au-plan-steps--workflow .au-plan-step::before {
    left: 16px;
    top: 18px;
  }

  .ld-style-page .au-floating-guide {
    left: 10px;
    right: auto;
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }

  .ld-style-page .au-floating-guide-button {
    min-height: 42px;
    padding: 7px 10px;
    border-radius: 13px;
  }

  .ld-style-page .au-floating-guide-menu {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: min(62vh, 520px);
    overflow-y: auto;
    border-radius: 18px;
  }

  .ld-style-page .au-guide-button-copy > span { max-width: 145px; }
}


/* ============================================================
   V57 — tighter vertical rhythm
   Reduces dead space between sections while keeping clear
   visual separation and breathing room.
   ============================================================ */

/* General desktop rhythm: the old 82px section padding was too generous
   once the page became longer and more structured. */
.ld-style-page .au-section {
  padding-top: 56px;
  padding-bottom: 56px;
}

/* Early decision journey should feel connected rather than like
   a series of separate landing pages. */
.ld-style-page .au-section--fit {
  padding-top: 50px;
  padding-bottom: 34px;
}

.ld-style-page .au-section--plan-preview {
  padding-top: 34px;
  padding-bottom: 28px;
}

.ld-style-page .au-section--installed {
  padding-top: 36px;
  padding-bottom: 32px;
}

.ld-style-page .au-section--plan-workflow {
  padding-top: 42px;
  padding-bottom: 30px;
}

.ld-style-page .au-section--installation {
  padding-top: 40px;
  padding-bottom: 46px;
}

/* Product choice sections can breathe, but do not need the old
   60–80px gaps above and below every block. */
.ld-style-page .au-section--finishes {
  padding-top: 48px;
  padding-bottom: 50px;
}

.ld-style-page .au-section--colour,
.ld-style-page .au-section--system,
.ld-style-page .au-section--controls,
.ld-style-page .au-section--technical,
.ld-style-page .au-section--planning,
.ld-style-page .au-section--compare,
.ld-style-page .au-section--faq {
  padding-top: 50px;
  padding-bottom: 50px;
}

/* Tighten a few large internal gaps as well. */
.ld-style-page .au-fit-grid {
  margin-top: 22px;
}

.ld-style-page .au-plan-preview-grid {
  margin-top: 20px;
}

.ld-style-page .au-plan-preview-note {
  margin-top: 13px;
}

.ld-style-page .au-lifestyle-grid {
  margin-top: 18px;
}

.ld-style-page .au-plan-steps--workflow {
  margin-top: 22px;
}

.ld-style-page .au-tech-glance {
  margin-top: 18px;
}

.ld-style-page .au-tech-layout {
  margin-top: 13px;
}

.ld-style-page .au-system-reassurance,
.ld-style-page .au-control-principles,
.ld-style-page .au-planning-hero,
.ld-style-page .au-compare-intro-links,
.ld-style-page .au-faq-quick {
  margin-top: 20px;
}

/* The final CTA should close the journey, not create another large
   visual pause. */
.ld-style-page .au-final-cta {
  padding-top: 28px;
  padding-bottom: 28px;
}

/* Mobile needs even less vertical whitespace because each card already
   stacks vertically and naturally adds length. */
@media (max-width: 820px) {
  .ld-style-page .au-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .ld-style-page .au-section--fit {
    padding-top: 38px;
    padding-bottom: 26px;
  }

  .ld-style-page .au-section--plan-preview {
    padding-top: 28px;
    padding-bottom: 24px;
  }

  .ld-style-page .au-section--installed {
    padding-top: 30px;
    padding-bottom: 28px;
  }

  .ld-style-page .au-section--plan-workflow {
    padding-top: 34px;
    padding-bottom: 26px;
  }

  .ld-style-page .au-section--installation {
    padding-top: 34px;
    padding-bottom: 38px;
  }

  .ld-style-page .au-section--finishes,
  .ld-style-page .au-section--colour,
  .ld-style-page .au-section--system,
  .ld-style-page .au-section--controls,
  .ld-style-page .au-section--technical,
  .ld-style-page .au-section--planning,
  .ld-style-page .au-section--compare,
  .ld-style-page .au-section--faq {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media (max-width: 620px) {
  .ld-style-page .au-section {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .ld-style-page .au-section--plan-preview {
    padding-top: 26px;
    padding-bottom: 22px;
  }

  .ld-style-page .au-section--installed {
    padding-top: 28px;
    padding-bottom: 24px;
  }

  .ld-style-page .au-section--plan-workflow {
    padding-top: 30px;
    padding-bottom: 24px;
  }

  .ld-style-page .au-section--installation {
    padding-top: 30px;
    padding-bottom: 34px;
  }

  .ld-style-page .au-section--finishes,
  .ld-style-page .au-section--colour,
  .ld-style-page .au-section--system,
  .ld-style-page .au-section--controls,
  .ld-style-page .au-section--technical,
  .ld-style-page .au-section--planning,
  .ld-style-page .au-section--compare,
  .ld-style-page .au-section--faq {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}


/* ============================================================
   V58 — calmer hierarchy + clearer section bands
   Purpose:
   - reduce visual "shouting"
   - standardise text hierarchy
   - use subtle alternating section backgrounds
   - keep technical content and SEO intact
   ============================================================ */

/* ------------------------------------------------------------
   1. Major section backgrounds
   Use only two quiet neutral bands. This separates sections
   without turning the page into a striped brochure.
   ------------------------------------------------------------ */

.ld-style-page .au-section--fit {
  background: #f6f2ec;
}

.ld-style-page .au-section--plan-preview {
  background: #ffffff;
}

.ld-style-page .au-section--installed {
  background: #f6f2ec;
}

.ld-style-page .au-section--plan-workflow {
  background: #ffffff;
}

.ld-style-page .au-section--installation {
  background: #f6f2ec;
}

.ld-style-page .au-section--finishes {
  background: #ffffff;
}

.ld-style-page .au-section--colour {
  background: #f6f2ec;
}

.ld-style-page .au-section--system {
  background: #ffffff;
}

.ld-style-page .au-section--controls {
  background: #f6f2ec;
}

.ld-style-page .au-section--technical {
  background: #ffffff;
}

.ld-style-page .au-section--planning {
  background: #f6f2ec;
}

.ld-style-page .au-section--compare {
  background: #ffffff;
}

.ld-style-page .au-section--faq {
  background: #f6f2ec;
}

/* A very light divider helps where two pale sections meet. */
.ld-style-page .au-section--fit,
.ld-style-page .au-section--plan-preview,
.ld-style-page .au-section--installed,
.ld-style-page .au-section--plan-workflow,
.ld-style-page .au-section--installation,
.ld-style-page .au-section--finishes,
.ld-style-page .au-section--colour,
.ld-style-page .au-section--system,
.ld-style-page .au-section--controls,
.ld-style-page .au-section--technical,
.ld-style-page .au-section--planning,
.ld-style-page .au-section--compare,
.ld-style-page .au-section--faq {
  border-top: 1px solid rgba(92, 78, 64, .055);
}

/* Preserve the planning image, but make it even quieter so text wins. */
.ld-style-page .au-section--fit.has-prof-background::before {
  background-image:
    linear-gradient(90deg,
      rgba(246,242,236,.93) 0%,
      rgba(246,242,236,.90) 45%,
      rgba(246,242,236,.86) 100%
    ),
    var(--au-prof-bg);
}

/* ------------------------------------------------------------
   2. One calm typography system below the hero
   ------------------------------------------------------------ */

/* Context labels: title case, restrained, no shouty uppercase. */
.ld-style-page .au-kicker {
  margin-bottom: 9px;
  color: #866747;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: .015em;
  text-transform: none;
}

/* Major section headings */
.ld-style-page .au-heading--section {
  font-size: 32px;
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: -0.025em;
}

/* Intro copy */
.ld-style-page .au-lead {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 400;
}

/* Normal prose throughout page sections */
.ld-style-page .au-section p:not(.au-lead) {
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}

/* One H3 treatment across cards, steps and sub-sections */
.ld-style-page .au-section h3 {
  font-size: 19px;
  line-height: 1.28;
  font-weight: 600;
  letter-spacing: -0.012em;
}

/* Do not bold sentence openers unnecessarily */
.ld-style-page .au-section p strong,
.ld-style-page .au-section li strong {
  font-weight: 600;
}

/* ------------------------------------------------------------
   3. Standardise small labels and helper text
   ------------------------------------------------------------ */

.ld-style-page .au-option-label,
.ld-style-page .au-cct-badge,
.ld-style-page .au-system-flow-kicker,
.ld-style-page .au-driver-badge,
.ld-style-page .au-power-option-kicker,
.ld-style-page .au-control-principles-intro span,
.ld-style-page .au-sensor-best,
.ld-style-page .au-sensor-install-intro span,
.ld-style-page .au-planning-start-kicker,
.ld-style-page .au-planning-number span,
.ld-style-page .au-planning-principle-badge,
.ld-style-page .au-compare-finish-label,
.ld-style-page .au-compare-copy .au-kicker,
.ld-style-page .au-faq-quick-intro span,
.ld-style-page .au-faq-quick-answer span,
.ld-style-page .au-final-cta .au-kicker {
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
}

/* Finish / colour labels should look informative, not like headings. */
.ld-style-page .au-option-label {
  margin-bottom: 7px;
  color: #625b54;
}

/* ------------------------------------------------------------
   4. Calm the technical specification hierarchy
   ------------------------------------------------------------ */

.ld-style-page .au-tech-glance-item span {
  color: #746c64;
  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.ld-style-page .au-tech-glance-item strong {
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 650;
}

.ld-style-page .au-tech-card-head h3 {
  font-size: 19px;
  font-weight: 600;
}

.ld-style-page .au-tech-card-head span {
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 400;
}

.ld-style-page .au-tech-spec-row dt {
  color: #5d554e;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.ld-style-page .au-tech-spec-row dd {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}

/* ------------------------------------------------------------
   5. Reduce decorative card contrast
   ------------------------------------------------------------ */

.ld-style-page .au-fit-card,
.ld-style-page .au-plan-steps--workflow .au-plan-step,
.ld-style-page .au-planning-card,
.ld-style-page .au-finish-card,
.ld-style-page .au-colour-option-card,
.ld-style-page .au-tech-glance-item,
.ld-style-page .au-box-card {
  box-shadow: none;
}

/* The installed-result dark panel remains one intentional visual accent,
   but soften it slightly so it does not dominate the page. */
.ld-style-page .au-lifestyle-note {
  background: #2e2b28;
}

/* Keep only a restrained amount of emphasis inside cards. */
.ld-style-page .au-inline-spec span,
.ld-style-page .au-sensor-specs span,
.ld-style-page .au-driver-meta span,
.ld-style-page .au-finish-options {
  font-weight: 500;
}

/* ------------------------------------------------------------
   6. Mobile
   ------------------------------------------------------------ */

@media (max-width: 820px) {
  .ld-style-page .au-heading--section {
    font-size: 27px;
    line-height: 1.13;
  }

  .ld-style-page .au-lead {
    font-size: 16px;
  }

  .ld-style-page .au-section h3 {
    font-size: 18px;
  }

  .ld-style-page .au-section p:not(.au-lead) {
    font-size: 15px;
  }
}

@media (max-width: 620px) {
  .ld-style-page .au-kicker {
    font-size: 12.5px;
  }

  .ld-style-page .au-heading--section {
    font-size: 25px;
  }

  .ld-style-page .au-tech-glance-item span {
    font-size: 11px;
  }

  .ld-style-page .au-tech-glance-item strong {
    font-size: 15.5px;
  }
}


/* ============================================================
   V59 — streamlined early decision section
   Merges "Is this right?" + early planning preview into one
   clear four-choice section.
   ============================================================ */

/* Retire the old preview spacing completely. */
.ld-style-page .au-section--plan-preview {
  display: none !important;
}

/* One calm early section rather than two visually similar sections. */
.ld-style-page .au-section--fit-combined {
  padding-top: 48px;
  padding-bottom: 44px;
  background: #f6f2ec;
}

.ld-style-page .au-section--fit-combined .au-lead {
  max-width: 900px;
}

/* Two wide columns are easier to read than four narrow cards and
   stop this section becoming another dense row of little boxes. */
.ld-style-page .au-fit-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 26px;
  border-top: 1px solid rgba(117, 96, 76, .18);
  border-bottom: 1px solid rgba(117, 96, 76, .18);
}

.ld-style-page .au-fit-choice {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 22px 24px;
  background: rgba(255,255,255,.42);
}

.ld-style-page .au-fit-choice:nth-child(even) {
  border-left: 1px solid rgba(117, 96, 76, .18);
}

.ld-style-page .au-fit-choice:nth-child(n+3) {
  border-top: 1px solid rgba(117, 96, 76, .18);
}

.ld-style-page .au-fit-number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eee5da;
  color: #8a653e;
  font-size: 13px;
  line-height: 1;
  font-weight: 650;
}

.ld-style-page .au-fit-choice h3 {
  margin: 1px 0 7px;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 600;
}

.ld-style-page .au-fit-choice p {
  margin: 0;
  color: #5f5851;
  font-size: 15px;
  line-height: 1.52;
}

.ld-style-page .au-fit-builder-note {
  max-width: 980px;
  margin: 18px 0 0;
  color: #514a43;
  font-size: 14.5px;
  line-height: 1.55;
}

/* The legacy three-card fit grid is no longer used in these style pages. */
.ld-style-page .au-fit-grid,
.ld-style-page .au-audience-summary {
  display: none;
}

@media (max-width: 820px) {
  .ld-style-page .au-section--fit-combined {
    padding-top: 38px;
    padding-bottom: 34px;
  }

  .ld-style-page .au-fit-choice-grid {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .ld-style-page .au-fit-choice {
    padding: 18px 0;
    background: transparent;
  }

  .ld-style-page .au-fit-choice:nth-child(even) {
    border-left: 0;
  }

  .ld-style-page .au-fit-choice:nth-child(n+2) {
    border-top: 1px solid rgba(117, 96, 76, .18);
  }
}

@media (max-width: 620px) {
  .ld-style-page .au-section--fit-combined {
    padding-top: 34px;
    padding-bottom: 30px;
  }

  .ld-style-page .au-fit-choice {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 11px;
  }

  .ld-style-page .au-fit-choice h3 {
    font-size: 18px;
  }

  .ld-style-page .au-fit-choice p {
    font-size: 15px;
  }

  .ld-style-page .au-fit-builder-note {
    font-size: 14px;
  }
}


/* ============================================================
   V60 — left-side Explore / Buy & Build rail
   Desktop: vertical edge rail.
   Mobile: compact left-edge rail + bottom-sheet page guide.
   The old bottom sticky Buy & Build bar is retired.
   ============================================================ */

/* The hero no longer needs a second Technical Specification shortcut. */
.ld-style-page .au-spec-link {
  display: none !important;
}

/* Retire any legacy sticky buy bar if old cached markup is briefly present. */
.ld-style-page .au-sticky-buybar,
.ld-style-page .au-mobile-bar.au-sticky-buybar {
  display: none !important;
}

/* ------------------------------------------------------------
   Side rail
   ------------------------------------------------------------ */
.ld-style-page .au-floating-guide.au-side-rail {
  position: fixed;
  z-index: 45;
  left: 0;
  right: auto;
  top: 50%;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 46px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-7px, -50%);
  transition: opacity 160ms ease, transform 160ms ease;
}

.ld-style-page .au-floating-guide.au-side-rail.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(0, -50%);
}

.ld-style-page .au-side-rail-tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  padding: 10px 0;
  border: 1px solid #d5ccc1;
  border-left: 0;
  cursor: pointer;
  box-shadow: 5px 8px 22px rgba(38, 31, 25, .10);
}

.ld-style-page .au-side-rail-explore {
  min-height: 126px;
  flex-direction: column;
  gap: 9px;
  border-radius: 0 11px 0 0;
  background: rgba(255,255,255,.97);
  color: #2b2723;
}

.ld-style-page .au-side-rail-buy {
  min-height: 116px;
  border-top: 0;
  border-color: #171717;
  border-radius: 0 0 11px 0;
  background: #111;
  color: #fff;
}

.ld-style-page .au-side-rail-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 12px;
  line-height: 1;
  font-weight: 650;
  letter-spacing: .025em;
  white-space: nowrap;
}

.ld-style-page .au-side-rail-buy .au-side-rail-label {
  font-weight: 700;
}

.ld-style-page .au-side-rail-icon {
  display: grid;
  gap: 3px;
  width: 15px;
}

.ld-style-page .au-side-rail-icon i {
  display: block;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
}

.ld-style-page .au-side-rail-explore:hover,
.ld-style-page .au-side-rail-explore:focus-visible {
  background: #f7f3ee;
}

.ld-style-page .au-side-rail-buy:hover,
.ld-style-page .au-side-rail-buy:focus-visible {
  background: #282828;
}

/* ------------------------------------------------------------
   Desktop guide panel
   ------------------------------------------------------------ */
.ld-style-page .au-floating-guide.au-side-rail .au-side-rail-menu {
  position: absolute;
  left: calc(100% + 10px);
  right: auto;
  top: 0;
  bottom: auto;
  width: 292px;
  max-height: min(74vh, 620px);
  overflow-y: auto;
  border: 1px solid #d9d0c6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(43,36,30,.18);
}

.ld-style-page .au-side-rail-menu nav {
  display: grid;
  padding: 7px;
}

.ld-style-page .au-side-rail-menu a {
  display: block;
  padding: 10px 11px;
  border-radius: 9px;
  color: #4c453e;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  text-decoration: none;
}

.ld-style-page .au-side-rail-menu a:hover,
.ld-style-page .au-side-rail-menu a:focus-visible,
.ld-style-page .au-side-rail-menu a.is-active {
  background: #f4eee7;
  color: #241f1a;
}

.ld-style-page .au-side-rail-menu a.is-active {
  font-weight: 650;
}

/* ------------------------------------------------------------
   Tablet / mobile
   Keep the controls on the left edge, but move them lower so they
   do not sit over the middle of the reading column.
   ------------------------------------------------------------ */
@media (max-width: 820px) {
  .ld-style-page .au-floating-guide.au-side-rail {
    top: auto;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 40px;
    transform: translateX(-6px);
  }

  .ld-style-page .au-floating-guide.au-side-rail.is-visible {
    transform: translateX(0);
  }

  .ld-style-page .au-side-rail-tab {
    width: 40px;
  }

  .ld-style-page .au-side-rail-explore {
    min-height: 102px;
    border-radius: 0 9px 0 0;
  }

  .ld-style-page .au-side-rail-buy {
    min-height: 104px;
    border-radius: 0 0 9px 0;
  }

  .ld-style-page .au-side-rail-label {
    font-size: 11px;
  }

  /* Mobile page guide opens as a clear bottom sheet. */
  .ld-style-page .au-floating-guide.au-side-rail .au-side-rail-menu {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: min(72vh, 610px);
    border-radius: 18px;
  }

  .ld-style-page .au-side-rail-menu a {
    padding: 11px 12px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .ld-style-page .au-floating-guide.au-side-rail {
    width: 37px;
  }

  .ld-style-page .au-side-rail-tab {
    width: 37px;
  }

  .ld-style-page .au-side-rail-explore {
    min-height: 94px;
  }

  .ld-style-page .au-side-rail-buy {
    min-height: 98px;
  }

  .ld-style-page .au-side-rail-label {
    font-size: 10.5px;
  }

  .ld-style-page .au-side-rail-icon {
    width: 14px;
  }
}


/* ============================================================
   V61 — always-visible chapter navigation
   ============================================================ */
.ld-style-page .au-floating-guide,
.ld-style-page .au-side-rail,
.ld-style-page .au-side-rail-menu { display:none !important; }

.ld-style-page .au-chapter-rail {
  position:fixed; z-index:45; left:12px; top:50%;
  display:grid; gap:5px; width:174px; transform:translateY(-50%);
}
.ld-style-page .au-chapter-link,
.ld-style-page .au-chapter-buy {
  min-height:34px; border-radius:10px; box-shadow:0 6px 18px rgba(38,31,25,.09);
}
.ld-style-page .au-chapter-link {
  display:flex; align-items:center; padding:7px 11px;
  border:1px solid #d9d0c6; background:rgba(255,255,255,.97);
  color:#39332e; font-size:11.5px; line-height:1.15; font-weight:550;
  text-decoration:none; transition:background 140ms ease,border-color 140ms ease,transform 140ms ease;
}
.ld-style-page .au-chapter-link:hover,
.ld-style-page .au-chapter-link:focus-visible {
  background:#f8f3ed; border-color:#cdbca9; color:#211d19; transform:translateX(2px);
}
.ld-style-page .au-chapter-link.is-active {
  background:#eee4d8; border-color:#c9ae8f; color:#201b17; font-weight:650;
}
.ld-style-page .au-chapter-buy {
  display:grid; place-items:center; width:100%; padding:9px 11px;
  border:1px solid #111; background:#111; color:#fff;
  font-size:12px; line-height:1.1; font-weight:700; cursor:pointer;
}
.ld-style-page .au-chapter-buy:hover,
.ld-style-page .au-chapter-buy:focus-visible { background:#2a2a2a; }

@media (max-width:1380px) and (min-width:821px) {
  .ld-style-page .au-chapter-rail { left:8px; width:154px; gap:4px; }
  .ld-style-page .au-chapter-link { min-height:31px; padding:6px 9px; font-size:10.5px; }
  .ld-style-page .au-chapter-buy { min-height:34px; font-size:11px; }
}

@media (max-width:820px) {
  .ld-style-page { padding-bottom:96px; }
  .ld-style-page .au-chapter-rail {
    left:8px; right:8px; top:auto; bottom:calc(8px + env(safe-area-inset-bottom,0px)); width:auto;
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; padding:5px;
    border:1px solid rgba(205,194,182,.9); border-radius:14px; background:rgba(255,255,255,.96);
    box-shadow:0 10px 34px rgba(35,29,24,.16); transform:none; backdrop-filter:blur(10px);
  }
  .ld-style-page .au-chapter-link,
  .ld-style-page .au-chapter-buy { min-height:34px; border-radius:8px; box-shadow:none; }
  .ld-style-page .au-chapter-link {
    justify-content:center; padding:5px 3px; border-color:transparent; background:transparent;
    font-size:10px; line-height:1.05; font-weight:550; text-align:center;
  }
  .ld-style-page .au-chapter-link span { display:none; }
  .ld-style-page .au-chapter-link::after { content:attr(data-short); }
  .ld-style-page .au-chapter-link:hover,
  .ld-style-page .au-chapter-link:focus-visible { transform:none; }
  .ld-style-page .au-chapter-link.is-active { background:#eee4d8; border-color:#d5bea5; }
  .ld-style-page .au-chapter-buy { font-size:10.5px; padding:5px 3px; }
}
@media (max-width:430px) {
  .ld-style-page { padding-bottom:94px; }
  .ld-style-page .au-chapter-rail {
    left:5px; right:5px; bottom:calc(5px + env(safe-area-inset-bottom,0px)); gap:2px; padding:4px; border-radius:12px;
  }
  .ld-style-page .au-chapter-link,
  .ld-style-page .au-chapter-buy { min-height:32px; font-size:9.3px; letter-spacing:-.01em; }
}


/* ============================================================
   V62 — precise section navigation
   - every major section has its own destination
   - rail sits slightly lower
   - anchor jumps land on the section boundary, below sticky header
   ============================================================ */

/* The longer page index needs to sit a little lower than V61. */
.ld-style-page .au-chapter-rail {
  top: 56%;
  width: 176px;
  gap: 4px;
}

/* Slightly tighter buttons so the expanded section list still feels calm. */
.ld-style-page .au-chapter-link {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 10.75px;
}

.ld-style-page .au-chapter-buy {
  min-height: 34px;
  padding: 8px 10px;
}

/* Anchor the SECTION, not its heading.
   104px clears the sticky Loops header while keeping the beginning of
   the new section visible. */
.ld-style-page #aurelia-fit-{{ section.id }},
.ld-style-page #aurelia-installed-{{ section.id }},
.ld-style-page #aurelia-plan-{{ section.id }},
.ld-style-page #aurelia-install-{{ section.id }},
.ld-style-page #aurelia-finish-{{ section.id }},
.ld-style-page #aurelia-colour-{{ section.id }},
.ld-style-page #aurelia-system-{{ section.id }},
.ld-style-page #aurelia-controls-{{ section.id }},
.ld-style-page #aurelia-technical-{{ section.id }},
.ld-style-page #aurelia-plan-detail-{{ section.id }},
.ld-style-page #aurelia-compare-{{ section.id }},
.ld-style-page #aurelia-faq-{{ section.id }} {
  scroll-margin-top: 104px;
}

/* Medium screens: still lower than before, but keep within the viewport. */
@media (max-width: 1380px) and (min-width: 821px) {
  .ld-style-page .au-chapter-rail {
    top: 55%;
    width: 158px;
  }

  .ld-style-page .au-chapter-link {
    min-height: 28px;
    padding: 5px 8px;
    font-size: 10px;
  }
}

/* Mobile still uses the visible dock, now with the extra destinations.
   Four columns keeps labels usable rather than crushing 12 items into
   tiny five/six-column cells. */
@media (max-width: 820px) {
  .ld-style-page {
    padding-bottom: 128px;
  }

  .ld-style-page .au-chapter-rail {
    top: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ld-style-page .au-chapter-link,
  .ld-style-page .au-chapter-buy {
    min-height: 29px;
  }

  .ld-style-page #aurelia-fit-{{ section.id }},
  .ld-style-page #aurelia-installed-{{ section.id }},
  .ld-style-page #aurelia-plan-{{ section.id }},
  .ld-style-page #aurelia-install-{{ section.id }},
  .ld-style-page #aurelia-finish-{{ section.id }},
  .ld-style-page #aurelia-colour-{{ section.id }},
  .ld-style-page #aurelia-system-{{ section.id }},
  .ld-style-page #aurelia-controls-{{ section.id }},
  .ld-style-page #aurelia-technical-{{ section.id }},
  .ld-style-page #aurelia-plan-detail-{{ section.id }},
  .ld-style-page #aurelia-compare-{{ section.id }},
  .ld-style-page #aurelia-faq-{{ section.id }} {
    scroll-margin-top: 92px;
  }
}


/* ============================================================
   V63 — mobile navigation drawer
   DESKTOP IS UNCHANGED.
   Mobile:
   - small always-visible Explore tab on left edge
   - tap opens a clean slide-out section drawer
   - separate black Buy & Build bar fixed at the bottom
   ============================================================ */

/* Hidden by default so desktop V62 rail remains completely unchanged. */
.ld-style-page .au-mobile-guide-tab,
.ld-style-page .au-mobile-guide-backdrop,
.ld-style-page .au-mobile-guide-drawer,
.ld-style-page .au-mobile-buy-build {
  display: none;
}

@media (max-width: 820px) {

  /* Remove the large multi-row mobile dock only.
     Desktop rail still uses the exact V62 styling above 820px. */
  .ld-style-page .au-chapter-rail {
    display: none !important;
  }

  .ld-style-page {
    padding-bottom: 86px;
  }

  /* ----------------------------------------------------------
     Always-visible Explore tab
     ---------------------------------------------------------- */
  .ld-style-page .au-mobile-guide-tab {
    position: fixed;
    z-index: 58;
    left: 0;
    top: 58%;
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 11px 9px 9px;
    border: 1px solid #d4c8bb;
    border-left: 0;
    border-radius: 0 12px 12px 0;
    background: rgba(255,255,255,.97);
    color: #28231f;
    box-shadow: 5px 8px 24px rgba(34,28,23,.13);
    font-size: 12px;
    line-height: 1;
    font-weight: 650;
    cursor: pointer;
    backdrop-filter: blur(8px);
  }

  .ld-style-page .au-mobile-guide-tab[aria-expanded="true"] {
    background: #eee4d8;
    border-color: #c9ae8f;
  }

  .ld-style-page .au-mobile-guide-icon {
    display: grid;
    gap: 3px;
    width: 14px;
  }

  .ld-style-page .au-mobile-guide-icon i {
    display: block;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
  }

  /* ----------------------------------------------------------
     Drawer backdrop
     ---------------------------------------------------------- */
  .ld-style-page .au-mobile-guide-backdrop {
    position: fixed;
    z-index: 68;
    inset: 0;
    display: block;
    background: rgba(22,19,16,.26);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .ld-style-page .au-mobile-guide-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* ----------------------------------------------------------
     Slide-out drawer
     ---------------------------------------------------------- */
  .ld-style-page .au-mobile-guide-drawer {
    position: fixed;
    z-index: 69;
    top: max(12px, env(safe-area-inset-top, 0px));
    bottom: calc(74px + env(safe-area-inset-bottom, 0px));
    left: 0;
    display: flex;
    flex-direction: column;
    width: min(86vw, 340px);
    overflow: hidden;
    border: 1px solid #d8cec3;
    border-left: 0;
    border-radius: 0 18px 18px 0;
    background: #fff;
    box-shadow: 18px 0 48px rgba(32,26,21,.22);
    transform: translateX(calc(-100% - 12px));
    visibility: hidden;
    transition: transform 190ms ease, visibility 190ms ease;
  }

  .ld-style-page .au-mobile-guide-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
  }

  .ld-style-page .au-mobile-guide-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px 14px;
    border-bottom: 1px solid #ece5de;
    background: #faf7f3;
  }

  .ld-style-page .au-mobile-guide-head > div {
    display: grid;
    gap: 4px;
  }

  .ld-style-page .au-mobile-guide-eyebrow {
    color: #8a6745;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 600;
  }

  .ld-style-page .au-mobile-guide-head strong {
    font-size: 17px;
    line-height: 1.25;
    font-weight: 650;
  }

  .ld-style-page .au-mobile-guide-close {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #eee7df;
    color: #25211d;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
  }

  .ld-style-page .au-mobile-guide-links {
    display: grid;
    gap: 3px;
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .ld-style-page .au-mobile-guide-links a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 9px;
    color: #3c352f;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 500;
    text-decoration: none;
  }

  .ld-style-page .au-mobile-guide-links a:hover,
  .ld-style-page .au-mobile-guide-links a:focus-visible,
  .ld-style-page .au-mobile-guide-links a.is-active {
    background: #f1e8de;
    color: #1f1b17;
  }

  .ld-style-page .au-mobile-guide-links a.is-active {
    box-shadow: inset 3px 0 0 #a97845;
    font-weight: 650;
  }

  html.au-mobile-guide-open,
  html.au-mobile-guide-open body {
    overflow: hidden;
  }

  /* ----------------------------------------------------------
     Separate mobile Buy & Build CTA
     Keep it visible, but compact. Leave a little room at the
     far right for the chat launcher on stores where it is shown.
     ---------------------------------------------------------- */
  .ld-style-page .au-mobile-buy-build {
    position: fixed;
    z-index: 57;
    left: 10px;
    right: 112px;
    bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    display: grid;
    place-items: center;
    min-height: 52px;
    padding: 10px 16px;
    border: 1px solid #111;
    border-radius: 14px;
    background: #111;
    color: #fff;
    box-shadow: 0 10px 30px rgba(24,20,17,.2);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 700;
    cursor: pointer;
  }

  .ld-style-page .au-mobile-buy-build:focus-visible {
    outline: 3px solid rgba(169,120,69,.4);
    outline-offset: 2px;
  }

  /* Mobile anchor offset still clears the sticky store header. */
  .ld-style-page #aurelia-fit-{{ section.id }},
  .ld-style-page #aurelia-installed-{{ section.id }},
  .ld-style-page #aurelia-plan-{{ section.id }},
  .ld-style-page #aurelia-install-{{ section.id }},
  .ld-style-page #aurelia-finish-{{ section.id }},
  .ld-style-page #aurelia-colour-{{ section.id }},
  .ld-style-page #aurelia-system-{{ section.id }},
  .ld-style-page #aurelia-controls-{{ section.id }},
  .ld-style-page #aurelia-technical-{{ section.id }},
  .ld-style-page #aurelia-plan-detail-{{ section.id }},
  .ld-style-page #aurelia-compare-{{ section.id }},
  .ld-style-page #aurelia-faq-{{ section.id }} {
    scroll-margin-top: 92px;
  }
}

@media (max-width: 430px) {
  .ld-style-page .au-mobile-guide-tab {
    top: 60%;
    min-height: 40px;
    padding: 8px 10px 8px 8px;
    font-size: 11.5px;
  }

  .ld-style-page .au-mobile-guide-drawer {
    width: min(89vw, 332px);
  }

  .ld-style-page .au-mobile-buy-build {
    right: 105px;
    min-height: 50px;
    font-size: 13.5px;
  }
}


/* ============================================================
   V64 — mobile navigation polish
   DESKTOP NAVIGATION IS UNCHANGED.
   ============================================================ */

@media (max-width: 820px) {

  /* Tall, narrow, high-contrast Explore Aurelia tab. */
  .ld-style-page .au-mobile-guide-tab {
    width: 42px;
    min-width: 42px;
    height: 138px;
    min-height: 138px;
    padding: 10px 0;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    border-color: #111;
    background: #111;
    color: #fff;
    box-shadow: 6px 10px 28px rgba(20,17,14,.22);
  }

  .ld-style-page .au-mobile-guide-tab:hover,
  .ld-style-page .au-mobile-guide-tab:focus-visible,
  .ld-style-page .au-mobile-guide-tab[aria-expanded="true"] {
    border-color: #111;
    background: #252525;
    color: #fff;
  }

  .ld-style-page .au-mobile-guide-tab-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 11.5px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .015em;
    white-space: nowrap;
  }

  .ld-style-page .au-mobile-guide-icon {
    width: 15px;
  }

  .ld-style-page .au-mobile-guide-icon i {
    background: #fff;
  }

  /* Keep the link list scrollable and give Buy & Build its own
     permanent place at the bottom of the drawer. */
  .ld-style-page .au-mobile-guide-links {
    flex: 1 1 auto;
    min-height: 0;
  }

  .ld-style-page .au-mobile-guide-buy-wrap {
    flex: 0 0 auto;
    padding: 10px 12px 12px;
    border-top: 1px solid #ece5de;
    background: #fff;
  }

  .ld-style-page .au-mobile-guide-buy {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid #111;
    border-radius: 11px;
    background: #111;
    color: #fff;
    font-size: 14px;
    line-height: 1.1;
    font-weight: 700;
    cursor: pointer;
  }

  .ld-style-page .au-mobile-guide-buy:hover,
  .ld-style-page .au-mobile-guide-buy:focus-visible {
    background: #292929;
  }

  /* CSS fallback. JS now measures the real sticky header on click,
     but a larger margin keeps normal hash navigation sensible too. */
  .ld-style-page #aurelia-fit-{{ section.id }},
  .ld-style-page #aurelia-installed-{{ section.id }},
  .ld-style-page #aurelia-plan-{{ section.id }},
  .ld-style-page #aurelia-install-{{ section.id }},
  .ld-style-page #aurelia-finish-{{ section.id }},
  .ld-style-page #aurelia-colour-{{ section.id }},
  .ld-style-page #aurelia-system-{{ section.id }},
  .ld-style-page #aurelia-controls-{{ section.id }},
  .ld-style-page #aurelia-technical-{{ section.id }},
  .ld-style-page #aurelia-plan-detail-{{ section.id }},
  .ld-style-page #aurelia-compare-{{ section.id }},
  .ld-style-page #aurelia-faq-{{ section.id }} {
    scroll-margin-top: 116px;
  }
}

@media (max-width: 430px) {
  .ld-style-page .au-mobile-guide-tab {
    width: 40px;
    min-width: 40px;
    height: 132px;
    min-height: 132px;
    padding: 9px 0;
  }

  .ld-style-page .au-mobile-guide-tab-label {
    font-size: 11px;
  }
}


/* ============================================================
   V65 — final SEO / UX audit implementation
   Wide desktop rail remains.
   Laptop/intermediate widths use compact Explore drawer.
   Mobile V64 interaction remains.
   ============================================================ */

/* ---------------------------
   Hero price clarity
   --------------------------- */
.ld-style-page .au-buybox-value .au-buybox-price-note {
  display: block;
  max-width: 330px;
  margin: 4px 0 5px;
  color: #655d55;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 400;
}

/* ---------------------------
   Early 3-step customer journey
   --------------------------- */
.ld-style-page .au-fit-choice-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ld-style-page .au-fit-choice-grid--three .au-fit-choice:nth-child(even),
.ld-style-page .au-fit-choice-grid--three .au-fit-choice:nth-child(n+3) {
  border-top: 0;
}

.ld-style-page .au-fit-choice-grid--three .au-fit-choice + .au-fit-choice {
  border-left: 1px solid rgba(117, 96, 76, .18);
}

.ld-style-page .au-fit-builder-note strong {
  font-weight: 650;
}

/* ---------------------------
   Contextual Builder CTA
   --------------------------- */
.ld-style-page .au-inline-builder-section {
  padding: 0;
  background: #fff;
}

.ld-style-page .au-inline-builder-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 0;
  padding: 28px 30px;
  border: 1px solid #ddd3c7;
  border-radius: 16px;
  background: #f8f4ef;
}

.ld-style-page .au-inline-builder-cta h2 {
  margin: 3px 0 8px;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 650;
}

.ld-style-page .au-inline-builder-cta p {
  max-width: 780px;
  margin: 0;
}

/* ---------------------------
   Merged planning section
   --------------------------- */
.ld-style-page .au-section--planning-merged {
  background: #f6f2ec;
}

.ld-style-page .au-planning-grid--merged {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 25px;
}

.ld-style-page .au-planning-grid--merged .au-planning-card {
  position: relative;
  padding: 23px 22px 22px 58px;
}

.ld-style-page .au-plan-card-number {
  position: absolute;
  left: 20px;
  top: 22px;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #eee3d6;
  color: #8a653e;
  font-size: 12px;
  font-weight: 700;
}

.ld-style-page .au-planning-summary {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin-top: 20px;
  padding: 15px 17px;
  border: 1px solid #ded4c9;
  border-radius: 12px;
  background: rgba(255,255,255,.68);
  color: #574f47;
  font-size: 14px;
  line-height: 1.5;
}

.ld-style-page .au-planning-summary strong {
  color: #25211d;
  white-space: nowrap;
}

/* ---------------------------
   Wide-desktop rail only where a real gutter exists.
   At ordinary laptop/intermediate widths use the existing
   Explore drawer instead of overlaying hero/content.
   --------------------------- */
@media (min-width: 1800px) {
  .ld-style-page .au-chapter-rail {
    display: grid !important;
  }

  .ld-style-page .au-mobile-guide-tab,
  .ld-style-page .au-mobile-guide-backdrop,
  .ld-style-page .au-mobile-guide-drawer {
    display: none !important;
  }
}

@media (min-width: 821px) and (max-width: 1799px) {
  .ld-style-page .au-chapter-rail {
    display: none !important;
  }

  .ld-style-page .au-mobile-guide-tab {
    position: fixed;
    z-index: 58;
    left: 0;
    top: 56%;
    display: flex;
    width: 42px;
    min-width: 42px;
    height: 138px;
    min-height: 138px;
    padding: 10px 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #111;
    border-left: 0;
    border-radius: 0 12px 12px 0;
    background: #111;
    color: #fff;
    box-shadow: 6px 10px 28px rgba(20,17,14,.22);
    cursor: pointer;
  }

  .ld-style-page .au-mobile-guide-tab-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 11.5px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
  }

  .ld-style-page .au-mobile-guide-icon {
    display: grid;
    gap: 3px;
    width: 15px;
  }

  .ld-style-page .au-mobile-guide-icon i {
    display: block;
    height: 1.5px;
    background: #fff;
  }

  .ld-style-page .au-mobile-guide-backdrop {
    position: fixed;
    z-index: 68;
    inset: 0;
    display: block;
    background: rgba(22,19,16,.26);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .ld-style-page .au-mobile-guide-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .ld-style-page .au-mobile-guide-drawer {
    position: fixed;
    z-index: 69;
    top: 14px;
    bottom: 14px;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 360px;
    max-width: 82vw;
    overflow: hidden;
    border: 1px solid #d8cec3;
    border-left: 0;
    border-radius: 0 18px 18px 0;
    background: #fff;
    box-shadow: 18px 0 48px rgba(32,26,21,.22);
    transform: translateX(calc(-100% - 12px));
    visibility: hidden;
    transition: transform 190ms ease, visibility 190ms ease;
  }

  .ld-style-page .au-mobile-guide-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
  }

  .ld-style-page .au-mobile-guide-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px 14px;
    border-bottom: 1px solid #ece5de;
    background: #faf7f3;
  }

  .ld-style-page .au-mobile-guide-links {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    gap: 3px;
    padding: 8px;
    overflow-y: auto;
  }

  .ld-style-page .au-mobile-guide-links a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 11px;
    border-radius: 9px;
    color: #3c352f;
    font-size: 13.5px;
    line-height: 1.25;
    font-weight: 500;
    text-decoration: none;
  }

  .ld-style-page .au-mobile-guide-links a.is-active {
    background: #f1e8de;
    box-shadow: inset 3px 0 0 #a97845;
    font-weight: 650;
  }

  .ld-style-page .au-mobile-guide-buy-wrap {
    flex: 0 0 auto;
    padding: 10px 12px 12px;
    border-top: 1px solid #ece5de;
    background: #fff;
  }

  .ld-style-page .au-mobile-guide-buy {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 46px;
    border: 1px solid #111;
    border-radius: 11px;
    background: #111;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
  }

  .ld-style-page .au-mobile-buy-build {
    display: none !important;
  }
}

/* ---------------------------
   Correct anchor offsets in a real CSS asset.
   Previous literal {{ section.id }} selectors could not resolve
   inside a normal Shopify .css asset, so use prefix selectors.
   JS also measures the live sticky header when navigation is clicked.
   --------------------------- */
.ld-style-page [id^="aurelia-fit-"],
.ld-style-page [id^="aurelia-installed-"],
.ld-style-page [id^="aurelia-finish-"],
.ld-style-page [id^="aurelia-colour-"],
.ld-style-page [id^="aurelia-system-"],
.ld-style-page [id^="aurelia-controls-"],
.ld-style-page [id^="aurelia-plan-"],
.ld-style-page [id^="aurelia-install-"],
.ld-style-page [id^="aurelia-technical-"],
.ld-style-page [id^="aurelia-compare-"],
.ld-style-page [id^="aurelia-faq-"] {
  scroll-margin-top: 116px;
}

/* ---------------------------
   Mobile
   --------------------------- */
@media (max-width: 820px) {
  .ld-style-page .au-fit-choice-grid--three,
  .ld-style-page .au-planning-grid--merged {
    grid-template-columns: 1fr;
  }

  .ld-style-page .au-fit-choice-grid--three .au-fit-choice + .au-fit-choice {
    border-left: 0;
    border-top: 1px solid rgba(117, 96, 76, .18);
  }

  .ld-style-page .au-inline-builder-cta {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px;
  }

  .ld-style-page .au-inline-builder-cta h2 {
    font-size: 22px;
  }

  .ld-style-page .au-inline-builder-cta .au-button {
    width: 100%;
  }

  .ld-style-page .au-planning-summary {
    display: grid;
    gap: 5px;
  }

  .ld-style-page .au-planning-summary strong {
    white-space: normal;
  }

  .ld-style-page .au-buybox-value .au-buybox-price-note {
    max-width: none;
    font-size: 10.75px;
  }
}


/* ============================================================
   V68 — FINAL AURELIA NAVIGATION FIXES
   - drawer/backdrop always sit above the full Shopify header
   - page background cannot scroll while drawer is open
   - full left rail begins only where a safe desktop gutter exists
   ============================================================ */

.ld-style-page .au-mobile-guide-backdrop {
  z-index: 9998 !important;
}

.ld-style-page .au-mobile-guide-drawer {
  z-index: 9999 !important;
}

html.au-mobile-guide-open,
html.au-mobile-guide-open body {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* Prevent touch scrolling of the page behind the open drawer. */
html.au-mobile-guide-open body {
  touch-action: none;
}

/* The drawer itself remains scrollable where its link list is longer
   than the available viewport. */
html.au-mobile-guide-open .ld-style-page .au-mobile-guide-drawer,
html.au-mobile-guide-open .ld-style-page .au-mobile-guide-links {
  touch-action: pan-y;
}


/* ============================================================
   V69 — FINAL COMPACT 24V SYSTEM PANEL
   Reduces the height of the Builder explanation + driver
   explainer without removing useful content.
   ============================================================ */

@media (min-width: 821px) {
  .ld-style-page .au-system-reassurance {
    align-items: start;
    grid-template-columns: minmax(0, 1.52fr) minmax(280px, .48fr);
    gap: 16px;
  }

  .ld-style-page .au-system-flow {
    min-height: 0;
    padding: 28px 30px 24px;
  }

  .ld-style-page .au-system-flow h3 {
    font-size: clamp(22px, 2vw, 29px);
    line-height: 1.08;
  }

  .ld-style-page .au-system-flow > p {
    max-width: 760px;
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.48;
  }

  .ld-style-page .au-system-steps {
    margin-top: 18px;
    padding-top: 0;
    gap: 8px;
  }

  .ld-style-page .au-system-step {
    min-height: 126px;
    padding: 15px 14px 14px;
  }

  .ld-style-page .au-system-step strong {
    margin-top: 6px;
    font-size: 15px;
  }

  .ld-style-page .au-system-step span {
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.38;
  }

  .ld-style-page .au-system-confidence {
    margin-top: 10px;
    padding-top: 10px;
  }

  .ld-style-page .au-driver-explainer-image {
    min-height: 165px;
    padding: 8px 15px 29px;
  }

  .ld-style-page .au-driver-explainer-image img {
    max-height: 150px;
    transform: scale(1.04);
  }

  .ld-style-page .au-driver-image-note {
    bottom: 7px;
    font-size: 8.75px;
  }

  .ld-style-page .au-driver-explainer-body {
    padding: 18px 18px 17px;
  }

  .ld-style-page .au-driver-explainer-badge {
    padding: 5px 8px;
    font-size: 8px;
  }

  .ld-style-page .au-driver-explainer-body h3 {
    margin-top: 9px;
    font-size: 19px;
    line-height: 1.12;
  }

  .ld-style-page .au-driver-explainer-body p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.45;
  }
}

@media (max-width: 820px) {
  .ld-style-page .au-system-flow {
    padding: 22px 18px 20px;
  }

  .ld-style-page .au-system-flow h3 {
    font-size: 23px;
  }

  .ld-style-page .au-system-steps {
    padding-top: 16px;
  }

  .ld-style-page .au-system-step {
    padding: 15px;
  }

  .ld-style-page .au-driver-explainer-image {
    min-height: 175px;
    padding: 8px 14px 30px;
  }

  .ld-style-page .au-driver-explainer-image img {
    max-height: 155px;
    transform: scale(1.03);
  }

  .ld-style-page .au-driver-explainer-body {
    padding: 18px;
  }
}


/* ============================================================
   V70 — BALANCED POWER SYSTEM
   Makes the driver card and dark Builder panel work as one
   balanced row rather than leaving dead vertical space.
   ============================================================ */

@media (min-width: 821px) {
  .ld-style-page .au-system-reassurance {
    align-items: stretch;
  }

  .ld-style-page .au-system-flow,
  .ld-style-page .au-driver-explainer {
    height: 100%;
  }

  .ld-style-page .au-driver-explainer {
    display: grid;
    grid-template-rows: 128px 1fr;
  }

  .ld-style-page .au-driver-explainer-image {
    min-height: 0;
    height: 128px;
    padding: 8px 14px 25px;
  }

  .ld-style-page .au-driver-explainer-image img {
    max-height: 103px;
    max-width: 245px;
    transform: scale(1.03);
  }

  .ld-style-page .au-driver-image-note {
    left: 9px;
    right: 9px;
    bottom: 7px;
    font-size: 8.25px;
    line-height: 1.15;
  }

  .ld-style-page .au-driver-explainer-body {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 15px 16px 16px;
  }

  .ld-style-page .au-driver-explainer-badge {
    align-self: flex-start;
    padding: 4px 7px;
    font-size: 7.5px;
  }

  .ld-style-page .au-driver-explainer-body h3 {
    margin-top: 7px;
    font-size: 18px;
    line-height: 1.08;
  }

  .ld-style-page .au-driver-explainer-body p {
    margin-top: 7px;
    font-size: 11.5px;
    line-height: 1.4;
  }

  .ld-style-page .au-driver-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: auto;
    padding-top: 9px;
  }

  .ld-style-page .au-driver-facts > span {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 8px;
    align-items: center;
    min-height: 33px;
    padding: 6px 8px;
    border: 1px solid rgba(154,117,73,.15);
    border-radius: 8px;
    background: #faf7f3;
  }

  .ld-style-page .au-driver-facts strong,
  .ld-style-page .au-driver-facts small {
    display: block;
    margin: 0;
  }

  .ld-style-page .au-driver-facts strong {
    color: #26221e;
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 700;
  }

  .ld-style-page .au-driver-facts small {
    color: #736a61;
    font-size: 9.25px;
    line-height: 1.2;
    text-align: right;
  }
}

@media (max-width: 820px) {
  .ld-style-page .au-driver-facts {
    display: grid;
    gap: 7px;
    margin-top: 14px;
  }

  .ld-style-page .au-driver-facts > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid rgba(154,117,73,.15);
    border-radius: 9px;
    background: #faf7f3;
  }

  .ld-style-page .au-driver-facts strong {
    color: #26221e;
    font-size: 12px;
  }

  .ld-style-page .au-driver-facts small {
    color: #736a61;
    font-size: 10.5px;
    text-align: right;
  }
}


/* ============================================================
   V71 — TIGHTER SHARED CCT + SENSOR INSTALLATION PANELS
   Applies to Aurelia, Eclipse and future style pages using the
   shared components. Keeps the content intact while removing
   unnecessary desktop height and stretched cards.
   ============================================================ */

@media (min-width: 821px) {
  /* CCT choice panel: keep the premium hierarchy but use the
     horizontal space more efficiently. */
  .ld-style-page .au-cct-hero {
    grid-template-columns: minmax(0, 1.52fr) minmax(300px, .48fr);
    gap: 22px;
    align-items: start;
    padding: 30px 34px;
  }

  .ld-style-page .au-cct-badge-row {
    margin-bottom: 11px;
  }

  .ld-style-page .au-cct-hero h3 {
    max-width: 820px;
    font-size: clamp(25px, 2.25vw, 34px);
    line-height: 1.08;
  }

  .ld-style-page .au-cct-hero-intro {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.5;
  }

  .ld-style-page .au-cct-three-whites {
    margin-top: 16px;
  }

  .ld-style-page .au-cct-white {
    padding: 10px 11px;
  }

  .ld-style-page .au-cct-hero-side {
    padding: 17px 18px;
  }

  .ld-style-page .au-cct-hero-side > p {
    margin-top: 7px;
    font-size: 12.25px;
    line-height: 1.42;
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 12px;
  }

  .ld-style-page .au-cct-hero-side .au-mini-compare div {
    padding: 8px 10px;
  }

  /* Sensor mounting strip: stop the three information cards being
     stretched to the height of the introductory column. */
  .ld-style-page .au-sensor-install-panel {
    align-items: start;
    gap: 8px;
    padding: 10px;
  }

  .ld-style-page .au-sensor-install-intro {
    padding: 12px 14px 10px;
  }

  .ld-style-page .au-sensor-install-intro h3 {
    margin-top: 5px;
    font-size: 18px;
    line-height: 1.1;
  }

  .ld-style-page .au-sensor-install-intro p {
    margin-top: 7px;
    font-size: 11.25px;
    line-height: 1.4;
  }

  .ld-style-page .au-sensor-install-card {
    padding: 14px 15px;
  }

  .ld-style-page .au-sensor-install-card strong {
    font-size: 12.75px;
  }

  .ld-style-page .au-sensor-install-card p {
    margin-top: 6px;
    font-size: 11.25px;
    line-height: 1.4;
  }
}

/* ============================================================
   V72 — FINAL SENSOR INSTALLATION STRIP TIGHTENING
   Gives the introductory copy enough width to wrap more efficiently,
   reducing the overall row height and removing the large empty lower
   area beneath the three specification cards.
   ============================================================ */

@media (min-width: 821px) {
  .ld-style-page .au-sensor-install-panel {
    grid-template-columns: minmax(285px, .9fr) repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    padding: 9px;
  }

  .ld-style-page .au-sensor-install-intro {
    padding: 10px 15px 9px;
  }

  .ld-style-page .au-sensor-install-intro h3 {
    margin-top: 4px;
    font-size: 17px;
    line-height: 1.08;
  }

  .ld-style-page .au-sensor-install-intro p {
    max-width: 310px;
    margin-top: 6px;
    font-size: 10.9px;
    line-height: 1.34;
  }

  .ld-style-page .au-sensor-install-card {
    min-height: 0;
    padding: 13px 15px;
  }

  .ld-style-page .au-sensor-install-card p {
    margin-top: 5px;
    line-height: 1.34;
  }
}


/* ============================================================
   V73 — FINAL NAVIGATION QA FIX
   - raises the Shopify main stacking context only while Explore is open
   - ensures drawer/backdrop sit above the Shopify sticky header
   - keeps the rest of the page stacking unchanged when the drawer is closed
   ============================================================ */

html.au-mobile-guide-open body .site-main,
html.au-mobile-guide-open body #MainContent {
  position: relative !important;
  z-index: 10000 !important;
}

html.au-mobile-guide-open body .ld-style-page .au-mobile-guide-backdrop {
  z-index: 10001 !important;
}

html.au-mobile-guide-open body .ld-style-page .au-mobile-guide-drawer {
  z-index: 10002 !important;
}


/* ============================================================
   V74 — SHORT-MOBILE DRAWER SCROLL FIX
   - keeps the page locked behind the open Explore drawer
   - restores vertical touch panning inside the drawer link list
   - adds momentum scrolling for iOS/Safari
   - does not alter desktop/laptop drawer behaviour
   ============================================================ */

@media (max-width: 820px) {
  /* `touch-action:none` on BODY blocks touch panning on descendant
     scroll containers as well. Overflow locking already prevents the
     page behind the drawer from moving, so allow vertical gestures. */
  html.au-mobile-guide-open body {
    touch-action: pan-y !important;
  }

  .ld-style-page .au-mobile-guide-drawer {
    overscroll-behavior: contain;
  }

  .ld-style-page .au-mobile-guide-links {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
  }
}


/* ============================================================
   V75 — ROBUST SHORT-MOBILE DRAWER SCROLL CONTAINER FIX
   - makes the drawer itself the mobile scroll container
   - avoids reliance on a nested nav flex scroller
   - keeps the page behind the drawer locked
   - keeps the drawer heading/close control reachable while scrolling
   ============================================================ */

@media (max-width: 820px) {
  html.au-mobile-guide-open body {
    overflow: hidden !important;
    touch-action: pan-y !important;
  }

  .ld-style-page .au-mobile-guide-drawer {
    top: max(10px, env(safe-area-inset-top, 0px)) !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - 20px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
  }

  .ld-style-page .au-mobile-guide-head {
    position: sticky;
    top: 0;
    z-index: 2;
    flex: 0 0 auto;
  }

  .ld-style-page .au-mobile-guide-links {
    flex: 0 0 auto !important;
    min-height: auto !important;
    overflow: visible !important;
    touch-action: auto !important;
  }

  .ld-style-page .au-mobile-guide-buy-wrap {
    flex: 0 0 auto;
  }
}
