/* Light homepage. Scoped to the shell that carries no data-theme; every other page stays dark. */
html:not([data-theme]) {
  --canvas: #FFFFFF;
  --band: #F6F7F9;
  --surface-1: #FFFFFF;
  --surface-2: #EEF0F3;
  --line: #DDE1E7;
  --ink: #111827;
  --ink-muted: #5B6472;
  --accent: #F2762E;
  --accent-deep: #D4611F;
  --accent-ink: #A8420A;
  --accent-soft: rgba(242, 118, 46, .10);
  --accent-glow: rgba(242, 118, 46, .14);
  --text-on-accent: #161311;
  --text-link: var(--accent-ink);
  --text-link-hover: var(--accent-deep);
  --btn-primary-bg: var(--accent);
  --btn-primary-bg-hover: var(--accent-deep);
  --focus-ring: 0 0 0 3px rgba(242, 118, 46, .45);
  --content-max: 1160px;
  --gutter: 24px;
  --lh-pad: 96px;
  font-size: 100%;
}
@media (max-width: 1023px) { html:not([data-theme]) { --lh-pad: 72px; } }
@media (max-width: 767px) { html:not([data-theme]) { --lh-pad: 56px; --gutter: 16px; } }
@media (prefers-reduced-motion: no-preference) { html:not([data-theme]) { scroll-behavior: smooth; } }

.lw-lh-page { background: var(--canvas); color: var(--ink); font-family: var(--font-body); min-height: 100vh; }
.lw-lh-wrap { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; }

/* Hero: claim on the left, the case deck as the proof object on the right. */
.lw-lh-hero {
  position: relative;
  padding: calc(68px + 72px) 0 var(--lh-pad);
  background: radial-gradient(900px 480px at 78% 30%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas);
}
.lw-lh-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(40px, 5vw, 72px); align-items: center; }
.lw-lh-hero h1 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.75rem, 4.4vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
  font-variation-settings: 'opsz' 96;
}
.lw-lh-lead { margin: 24px 0 0; max-width: 54ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }
.lw-lh-points { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; font-size: var(--text-body); line-height: var(--lh-body); }
.lw-lh-points li { display: flex; align-items: center; gap: 12px; }
.lw-lh-dot { width: 6px; height: 6px; border-radius: 99px; background: var(--accent); flex: none; }
.lw-lh-hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.lw-lh-hero-deck { position: relative; padding: 40px 32px 0 0; }
.lw-lh-deck-card { background: var(--surface-1); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-3); }
.lw-lh-deck-hint { position: absolute; right: 0; top: 4px; z-index: 8; pointer-events: none; color: var(--accent-ink); animation: lwLhRise 500ms var(--ease-out) 1s both; }
.lw-lh-deck-hint span { display: block; padding: 8px 14px; border: 1px solid rgba(242, 118, 46, .45); border-radius: 99px; background: var(--accent-soft); font-size: 13px; font-weight: 500; white-space: nowrap; transform: rotate(5deg); }
.lw-lh-deck-hint svg { display: block; width: 84px; height: 62px; margin: 0 -8px 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 1023px) {
  .lw-lh-hero { padding-top: calc(68px + 48px); }
  .lw-lh-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .lw-lh-hero-deck { padding: 36px 24px 0 0; }
}
@media (max-width: 767px) {
  .lw-lh-hero-actions .lw-lh-hero-actions a { width: 100%; }
  .lw-lh-deck-hint { top: -4px; right: 8px; }
  .lw-lh-deck-hint span { font-size: 12px; padding: 7px 12px; }
}

/* Shared section heading: h2 then one lead line, 40px to content. */
.lw-lh-section-head { max-width: 640px; margin: 0 auto 40px; text-align: center; }
.lw-lh-section-head h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); text-wrap: balance; }
.lw-lh-section-head p { margin: 14px auto 0; max-width: 60ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }

/* Offer cards: a plain build card and the highlighted review card, rows aligned across both. */
.lw-lh-offers { position: relative; padding: var(--lh-pad) 0; background: var(--canvas); scroll-margin-top: 68px; overflow: hidden; }
.lw-lh-offers-inner { position: relative; z-index: 1; }
.lw-lh-offers-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
/* Upwork-style backdrop: a field of fine diagonal hairlines across the upper section, a soft tint at the right,
   and a white surface rising from below whose rounded top edge is the only "line". The texture and the edge
   both fade out toward the middle, so the line disappears behind the cards. --p comes from scroll. */
.lw-lh-texture { position: absolute; inset: -10% 0 0 0;
  background: repeating-linear-gradient(135deg, rgba(17, 24, 39, .12) 0 1px, transparent 1px 8px), linear-gradient(180deg, rgba(17, 24, 39, .045), rgba(17, 24, 39, .045));
  mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 52%, transparent 78%), linear-gradient(90deg, #000 0%, #000 24%, transparent 44%, transparent 56%, #000 76%, #000 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 52%, transparent 78%), linear-gradient(90deg, #000 0%, #000 24%, transparent 44%, transparent 56%, #000 76%, #000 100%);
  mask-composite: intersect; -webkit-mask-composite: source-in;
  transform: translate3d(calc(var(--p, 0px) * -0.25), 0, 0); will-change: transform; }
.lw-lh-glow { position: absolute; right: -6%; top: 6%; width: 46%; height: 60%;
  background: radial-gradient(closest-side, rgba(242, 118, 46, .16), rgba(242, 118, 46, .05) 55%, rgba(242, 118, 46, 0) 100%);
  transform: translate3d(calc(var(--p, 0px) * 0.2), calc(var(--p, 0px) * -0.3), 0); will-change: transform; }
.lw-lh-floor { position: absolute; left: -6%; right: -6%; top: 46%; bottom: -12%; background: var(--surface-1); border-radius: 56px 56px 0 0;
  filter: drop-shadow(0 -14px 26px rgba(17, 24, 39, .08));
  mask-image: linear-gradient(90deg, #000 0%, #000 26%, transparent 42%, transparent 58%, #000 74%, #000 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 26%, transparent 42%, transparent 58%, #000 74%, #000 100%);
  transform: translate3d(0, calc(var(--p, 0px) * 0.35), 0); will-change: transform; }
@media (max-width: 767px) { .lw-lh-texture, .lw-lh-glow, .lw-lh-floor { display: none; } }

.lw-lh-offer-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; gap: 24px; max-width: 960px; margin: 0 auto; }
.lw-lh-offer { position: relative; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; background: var(--surface-1); border: 1.5px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-1); transition: border-color var(--dur-card) var(--ease-out); }
.lw-lh-offer:hover { border-color: var(--accent); }
.lw-lh-offer-tag { position: absolute; top: -1.5px; right: -1.5px; padding: 6px 14px; border-radius: 0 var(--r-lg) 0 var(--r-md); background: var(--accent); color: var(--text-on-accent); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.lw-lh-offer-head { padding: 32px 32px 0; }
.lw-lh-offer h3 { margin: 0; padding-right: 96px; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); line-height: var(--lh-h3); letter-spacing: var(--tracking-heading); }
.lw-lh-offer-audience { margin: 6px 0 0; font-size: var(--text-small); line-height: var(--lh-small); color: var(--ink-muted); }
.lw-lh-offer-desc { margin: 16px 0 0; font-size: var(--text-body); line-height: var(--lh-body); color: var(--ink); text-wrap: pretty; }
.lw-lh-offer-body { margin: 24px 32px 0; padding-top: 24px; border-top: 1px solid var(--line); }
.lw-lh-offer-includes { margin: 0 0 12px; font-size: var(--text-small); font-weight: 600; }
.lw-lh-offer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lw-lh-offer li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
.lw-lh-offer li svg { margin-top: 3px; color: var(--ink-muted); }
.lw-lh-offer.is-featured li svg { color: var(--accent); }
.lw-lh-offer-foot { padding: 24px 32px 32px; align-self: end; }
.lw-lh-offer-price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.lw-lh-offer-price strong { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; letter-spacing: -0.02em; color: var(--accent-ink); }
.lw-lh-offer-price.is-quoted strong { font-size: var(--text-body-lg); font-weight: 600; color: var(--ink); letter-spacing: var(--tracking-heading); }
.lw-lh-offer-price.is-quoted { flex-direction: column; gap: 4px; }
.lw-lh-offer-else { margin: 32px auto 0; text-align: center; font-size: var(--text-body); color: var(--ink-muted); }
.lw-lh-offer-else a { color: var(--accent-ink); font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; }
.lw-lh-offer-else a:hover { color: var(--accent-deep); }
.lw-lh-offer-price span { font-size: var(--text-small); color: var(--ink-muted); }
.lw-lh-offer-foot > a, .lw-lh-offer-foot > button { margin-top: 20px; }

@media (max-width: 767px) {
  .lw-lh-offer-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .lw-lh-offer { grid-row: auto; grid-template-rows: auto auto auto; }
  .lw-lh-offer.is-featured { order: -1; }
  .lw-lh-offer-head { padding: 24px 24px 0; }
  .lw-lh-offer-body { margin: 20px 24px 0; padding-top: 20px; }
  .lw-lh-offer-foot { padding: 20px 24px 24px; }
  .lw-lh-shape { display: none; }
}

/* Proof strip under the hero. */
.lw-lh-proof-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--canvas); }
.lw-lh-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.lw-lh-proof-grid > div { display: grid; gap: 2px; padding: 20px 24px; border-left: 1px solid var(--line); }
.lw-lh-proof-grid > div:first-child { border-left: 0; padding-left: 0; }
.lw-lh-proof-grid strong { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; letter-spacing: -0.02em; line-height: 1.1; white-space: nowrap; }
.lw-lh-proof-grid strong svg { color: var(--ink); stroke-width: 2; }
.lw-lh-proof-grid span { font-size: var(--text-small); color: var(--ink-muted); }

/* Shared header row: heading left, one link or control right. */
.lw-lh-work-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.lw-lh-work-head h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); }
.lw-lh-work-head p { margin: 12px 0 0; max-width: 56ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); }
.lw-lh-text-link { color: var(--accent-ink); font-weight: 500; font-size: var(--text-body); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; white-space: nowrap; margin-bottom: 6px; }
.lw-lh-text-link:hover { color: var(--accent-deep); }

/* How it works. */
.lw-lh-steps { padding: var(--lh-pad) 0; background: var(--canvas); }
.lw-lh-steps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lw-lh-steps-grid li { padding: 28px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface-1); box-shadow: var(--shadow-1); }
.lw-lh-step-num { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 99px; background: var(--accent-soft); color: var(--accent-ink); font-family: var(--font-display); font-weight: 700; font-size: 14px; }
.lw-lh-steps-grid h3 { margin: 18px 0 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); line-height: var(--lh-h3); letter-spacing: var(--tracking-heading); }
.lw-lh-steps-grid p { margin: 10px 0 0; font-size: var(--text-body); line-height: var(--lh-body); color: var(--ink-muted); }

/* Reviews grid. */
.lw-lh-reviews { padding: var(--lh-pad) 0; background: var(--band); }
.lw-lh-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.lw-lh-reviews-grid figure { border: 1px solid var(--line); }

/* About. */
.lw-lh-about { padding: var(--lh-pad) 0; background: var(--canvas); }
.lw-lh-about-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.lw-lh-about-card { display: grid; gap: 20px; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-2); position: sticky; top: 96px; }
.lw-lh-about-card img { width: 96px; height: 96px; border-radius: 99px; object-fit: cover; display: block; }
.lw-lh-about-card strong { display: block; font-family: var(--font-display); font-weight: 700; font-size: 1.375rem; letter-spacing: -0.02em; }
.lw-lh-about-card span { display: block; margin-top: 4px; font-size: var(--text-small); color: var(--ink-muted); }
.lw-lh-about-links { display: flex; flex-wrap: wrap; gap: 8px; }
.lw-lh-about-links a { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--r-full); font-size: var(--text-small); font-weight: 500; color: var(--ink); text-decoration: none; transition: border-color var(--dur-button) var(--ease-out), background-color var(--dur-button) var(--ease-out); }
.lw-lh-about-links a:hover { border-color: var(--accent); background: var(--accent-soft); }
.lw-lh-about-copy h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); }
.lw-lh-about-copy p { margin: 18px 0 0; max-width: 62ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }
.lw-lh-creds { display: grid; gap: 12px; margin-top: 28px; max-width: 520px; }
.lw-lh-creds a > div:first-child { background: transparent !important; width: 52px !important; height: 52px !important; }

/* Recent writing. */
.lw-lh-writing { padding: 0 0 var(--lh-pad); background: var(--canvas); }
.lw-lh-work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.lw-lh-work-grid > * { border: 1px solid var(--line); }

/* FAQ and closing band. */
.lw-lh-faq { padding: var(--lh-pad) 0 0; background: var(--band); }
.lw-lh-faq-inner { max-width: 760px; }
.lw-lh-faq h2 { margin: 0 0 32px; text-align: center; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); }
.lw-lh-faq-list { display: grid; gap: 12px; }
.lw-lh-cta-zone { background: linear-gradient(to bottom, var(--band) 0, var(--band) 50%, var(--canvas) 50%, var(--canvas) 100%); padding: 48px 0; }
.lw-lh-cta { position: relative; z-index: 2; }
.lw-lh-band { position: relative; overflow: hidden; text-align: center; max-width: 920px; margin: 0 auto; padding: 44px 40px 48px; border: 1px solid var(--line); border-radius: var(--r-lg); background: radial-gradient(520px 260px at 100% 0%, var(--accent-soft), rgba(242, 118, 46, 0) 70%), var(--surface-1); box-shadow: var(--shadow-3); }
.lw-lh-band h2 { margin: 0 auto; max-width: 20ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.1; letter-spacing: -0.025em; text-wrap: balance; font-variation-settings: 'opsz' 96; }
.lw-lh-band p { margin: 14px auto 0; max-width: 52ch; font-size: var(--text-body); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }
.lw-lh-band-actions { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 20px; font-size: var(--text-body); color: var(--ink-muted); }
.lw-lh-band-actions a[href^="mailto:"] { color: var(--accent-ink); font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; }
.lw-lh-band-actions a[href^="mailto:"]:hover { color: var(--accent-deep); }

/* About: one textured slab behind the card for depth. */
.lw-lh-about { position: relative; overflow: clip; }
/* Give the sticky card room to travel down beside the copy on desktop. */
@media (min-width: 1024px) { .lw-lh-about-card { top: 110px; } }
.lw-lh-about-bg { position: absolute; inset: 0; pointer-events: none; }
.lw-lh-shape-about { left: -80px; top: 12%; width: 420px; height: 260px; background: linear-gradient(135deg, var(--band), var(--surface-1) 70%); }
.lw-lh-about-grid { position: relative; z-index: 1; }

/* Scroll-linked roll for How it works: transforms are set by JavaScript from scroll position. */
.lw-lh-js [data-scrub] { will-change: transform, opacity; transform-origin: 50% 100%; }
.lw-lh-steps { overflow: hidden; }

/* ---------- Review page ---------- */
.lw-lr-price { max-width: 480px; justify-self: end; width: 100%; }
.lw-lr-price .lw-lh-offer { box-shadow: var(--shadow-3); }
.lw-lr-note { margin: 12px 0 0; text-align: center; font-size: var(--text-small); color: var(--ink-muted); }
.lw-lr-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Problems: sticky heading, open numbered list with hairlines. */
.lw-lr-problems { padding: var(--lh-pad) 0; background: var(--band); }
.lw-lr-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.lw-lr-split-head { position: sticky; top: 110px; }
.lw-lr-split-head h2, .lw-lr-fitfaq h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); text-wrap: balance; }
.lw-lr-split-head p { margin: 16px 0 0; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); max-width: 40ch; }
.lw-lr-problem-list { list-style: none; margin: 0; padding: 0; }
.lw-lr-problem-list li { display: grid; grid-template-columns: 56px 1fr; gap: 8px; padding: 28px 0; border-top: 1px solid var(--line); }
.lw-lr-problem-list li:last-child { border-bottom: 1px solid var(--line); }
.lw-lr-problem-n { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; color: var(--accent-ink); padding-top: 2px; }
.lw-lr-problem-list h3 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); letter-spacing: var(--tracking-heading); }
.lw-lr-problem-list p { margin: 8px 0 0; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); }

/* What you get: a report page on the left, what fixing it is worth on the right. */
.lw-lr-get { padding: var(--lh-pad) 0; background: var(--canvas); scroll-margin-top: 68px; }
.lw-lr-get-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(28px, 4vw, 56px); align-items: start; max-width: 1080px; margin: 0 auto; }
.lw-lr-doc { padding: 32px 36px; background: var(--surface-1); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-2); }
.lw-lr-doc-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.lw-lr-doc-kicker { display: block; font-size: 13px; font-weight: 500; color: var(--ink-muted); }
.lw-lr-doc-meta { font-size: 13px; color: var(--ink-muted); }
.lw-lr-doc h3 { margin: 4px 0 0; font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.015em; }
.lw-lr-doc-rows { margin: 0; }
.lw-lr-doc-rows > div { display: grid; grid-template-columns: 170px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.lw-lr-doc-rows dt { display: flex; gap: 10px; align-items: baseline; font-weight: 600; font-size: 15px; }
.lw-lr-doc-rows dt span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: none; border-radius: 99px; background: var(--accent-soft); color: var(--accent-ink); font-size: 12px; font-weight: 700; transform: translateY(-2px); }
.lw-lr-doc-rows dd { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-muted); }
.lw-lr-lanes-plain { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lw-lr-lanes-plain strong { display: inline-block; min-width: 52px; color: var(--ink); font-weight: 600; }
.lw-lr-doc-rec { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--line); font-size: 1.0625rem; line-height: 1.5; font-weight: 500; }
.lw-lr-doc-rec span { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 500; color: var(--ink-muted); }

.lw-lr-worth { position: sticky; top: 110px; padding-top: 8px; }
.lw-lr-worth-title { margin: 0 0 8px; font-size: var(--text-small); font-weight: 600; color: var(--accent-ink); }
.lw-lr-worth ul { list-style: none; margin: 0; padding: 0; }
.lw-lr-worth li { padding: 20px 0; border-bottom: 1px solid var(--line); }
.lw-lr-worth-nums { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); }
.lw-lr-worth-nums s { font-size: 1.25rem; font-weight: 600; color: var(--ink-muted); text-decoration-thickness: 2px; text-decoration-color: rgba(242, 118, 46, .7); }
.lw-lr-worth-nums svg { color: var(--accent); }
.lw-lr-worth-nums strong { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1; }
.lw-lr-worth li > span { display: block; margin-top: 6px; font-size: 15px; color: var(--ink-muted); }
.lw-lr-worth-note { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: var(--ink-muted); }

.lw-lr-included { max-width: 1080px; margin: 48px auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; justify-content: center; }
.lw-lr-included > span { font-weight: 600; font-size: 15px; }
.lw-lr-included ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; justify-content: center; }
.lw-lr-included li { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; color: var(--ink-muted); }
.lw-lr-included li svg { color: var(--accent); }

.lw-lr-steps { background: var(--band); }

/* Proof: one big quote and one relevant case study. */
.lw-lr-proof { padding: var(--lh-pad) 0; background: var(--canvas); }
.lw-lr-proof-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(32px, 5vw, 72px); align-items: center; max-width: 1080px; }
.lw-lr-stars { display: flex; gap: 3px; color: var(--accent); }
.lw-lr-proof blockquote { margin: 16px 0 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.375rem, 2.4vw, 1.875rem); line-height: 1.3; letter-spacing: -0.015em; text-wrap: pretty; }
.lw-lr-proof-by { margin: 16px 0 0; font-size: 15px; color: var(--ink-muted); }
.lw-lr-proof-case { display: block; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); color: var(--ink); text-decoration: none; transition: border-color var(--dur-card) var(--ease-out); }
.lw-lr-proof-case:hover { border-color: var(--accent); }
.lw-lr-proof-case > span { font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-lr-proof-case strong { display: block; margin-top: 8px; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; }
.lw-lr-proof-case p { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--ink-muted); }
.lw-lr-proof-case em { display: inline-block; margin-top: 14px; font-style: normal; font-weight: 500; color: var(--accent-ink); border-bottom: 1px solid currentColor; }

/* Fit and FAQ side by side. */
.lw-lr-fitfaq-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.lw-lr-fitfaq .lw-lh-faq-list { max-width: none; }
.lw-lr-fit-label { margin: 28px 0 10px; font-size: var(--text-small); font-weight: 600; }
.lw-lr-fit-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lw-lr-fit-list li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--text-body); line-height: 1.5; color: var(--ink-muted); }
.lw-lr-fit-list li svg { margin-top: 3px; flex: none; }
.lw-lr-fit-list.is-ok li { color: var(--ink); }
.lw-lr-fit-list.is-ok li svg { color: var(--accent); }
.lw-lr-fitfaq .lw-lh-faq-inner { max-width: var(--content-max); }

@media (max-width: 1023px) {
  .lw-lr-price { justify-self: stretch; max-width: none; }
  .lw-lr-split, .lw-lr-get-grid, .lw-lr-proof-grid, .lw-lr-fitfaq-grid { grid-template-columns: 1fr; }
  .lw-lr-split-head, .lw-lr-worth { position: static; }
}
@media (max-width: 767px) {
  .lw-lr-doc { padding: 28px 22px; }
  .lw-lr-doc-rows > div { grid-template-columns: 1fr; gap: 6px; }
}

/* Review scorecard: a plain comparison table, recommended column marked by a label and weight only. */
.lw-lr-doc-sub { margin: 10px 0 22px; font-size: 15px; line-height: 1.55; color: var(--ink-muted); }
.lw-lr-score > div { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.lw-lr-score > div:last-child { border-bottom: 0; }
.lw-lr-score span { padding: 13px 0 13px 12px; font-size: 15px; text-align: right; font-variant-numeric: tabular-nums; }
.lw-lr-score span:first-child { padding-left: 0; text-align: left; }
.lw-lr-score span[role="rowheader"] { color: var(--ink-muted); }
.lw-lr-score span[role="cell"] { color: var(--ink); }
.lw-lr-score span[role="cell"].is-win { font-weight: 700; }
.lw-lr-score-head { border-bottom: 1px solid var(--ink) !important; }
.lw-lr-score-head span { padding-bottom: 10px; font-size: 13px; font-weight: 600; line-height: 1.3; align-self: end; }
.lw-lr-score-head small { display: block; margin-top: 2px; font-weight: 400; color: var(--ink-muted); font-size: 12px; }
.lw-lr-score-2 > div { grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)); }
.lw-lr-score > div.is-total { border-top: 1px solid var(--ink); }
.lw-lr-score > div.is-total span { font-weight: 600; color: var(--ink); }
.lw-lr-score > div.is-total span.is-win { font-weight: 800; }
.lw-lr-score-head em { display: block; margin-bottom: 2px; font-style: normal; font-size: 11px; font-weight: 600; color: var(--accent-ink); }
.lw-lr-doc-foot { margin: 14px 0 0; font-size: 13px; color: var(--ink-muted); }
.lw-lr-worth-text { margin: 0 0 4px; font-size: 16px; line-height: 1.55; color: var(--ink-muted); }
@media (max-width: 767px) { .lw-lr-score span { padding: 10px 6px; font-size: 13px; } .lw-lr-score > div { grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(0, 1fr)); } }

/* ---------- Contact page ---------- */
.lw-lc-hero { padding: calc(68px + 64px) 0 var(--lh-pad); background: radial-gradient(900px 480px at 80% 20%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-lc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 40px; }
.lw-lc-intro h1 { margin: 0; max-width: 18ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1.04; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lc-form { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-3); scroll-margin-top: 90px; }
.lw-lc-form .lw-inquiry { padding: 24px; color: var(--ink); }
.lw-lc-form .lw-inquiry__kicker { font-family: var(--font-display); font-size: var(--text-h3); font-weight: 600; letter-spacing: -0.01em; text-transform: none; color: var(--ink); }
.lw-lc-form .lw-inquiry label { font-size: 14px; font-weight: 500; color: var(--ink); }
.lw-lc-form .lw-inquiry label em { font-weight: 400; color: var(--ink-muted); }
.lw-lc-form .lw-inquiry input, .lw-lc-form .lw-inquiry select, .lw-lc-form .lw-inquiry textarea { border-color: var(--line); background: var(--surface-1); color: var(--ink); }
.lw-lc-form .lw-inquiry__actions button { height: 48px; padding: 0 28px; border: 0; border-radius: var(--r-sm); background: var(--accent); color: var(--text-on-accent); font: 600 1rem var(--font-body); cursor: pointer; }
.lw-lc-form .lw-inquiry__actions button:hover { background: var(--accent-deep); }
.lw-lc-form .lw-inquiry__actions button:disabled { opacity: .6; cursor: default; }
.lw-lc-form .lw-inquiry a { color: var(--accent-ink); }
.lw-lc-form .lw-inquiry__title { font-family: var(--font-display); }
.lw-lc-form:empty, .lw-lc-form [data-inquiry-form]:empty { min-height: 520px; }
.lw-lc-details { padding: var(--lh-pad) 0 0; background: var(--canvas); }
.lw-lc-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); }
.lw-lc-details + .lw-lc-routes { margin-top: var(--lh-pad); }
.lw-lc-copy { position: sticky; top: 110px; }
.lw-lc-copy h1 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1.04; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lc-block { margin-top: 32px; }
.lw-lc-label { margin: 0 0 12px; font-size: var(--text-small); font-weight: 600; }
.lw-lc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lw-lc-list li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--text-body); line-height: 1.5; }
.lw-lc-list li svg { margin-top: 3px; color: var(--accent); flex: none; }
.lw-lc-direct { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.lw-lc-direct > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.lw-lc-direct dt { font-size: var(--text-small); color: var(--ink-muted); }
.lw-lc-direct dd { margin: 0; }
.lw-lc-direct a { color: var(--ink); font-weight: 500; text-decoration: none; }
.lw-lc-direct a:hover { color: var(--accent-ink); }
.lw-lc-cal { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-3); scroll-margin-top: 90px; }
.lw-lc-cal-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.lw-lc-cal-head strong { font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); }
.lw-lc-cal-head span { font-size: var(--text-small); color: var(--ink-muted); }
.lw-lc-frame { height: 660px; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--band); }
.lw-lc-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.lw-lc-mobile { display: none; }
.lw-lc-mobile p { margin: 0 0 14px; font-size: var(--text-small); color: var(--ink-muted); }
.lw-lc-cal-foot { margin: 12px 0 0; text-align: right; font-size: var(--text-small); }
.lw-lc-cal-foot a { color: var(--accent-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
.lw-lc-routes { padding: var(--lh-pad) 0; background: var(--band); }
.lw-lc-routes h2 { margin: 0 0 24px; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); letter-spacing: var(--tracking-heading); }
.lw-lc-route-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lw-lc-route { display: block; padding: 24px 28px; border: 1.5px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); color: var(--ink); text-decoration: none; transition: border-color var(--dur-card) var(--ease-out); }
.lw-lc-route:hover { border-color: var(--accent); }
.lw-lc-route strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; }
.lw-lc-route p { margin: 8px 0 0; font-size: var(--text-body); line-height: 1.5; color: var(--ink-muted); }
.lw-lc-route span { display: inline-block; margin-top: 14px; font-size: var(--text-small); font-weight: 600; color: var(--accent-ink); }
@media (max-width: 1023px) {
  .lw-lc-grid { grid-template-columns: 1fr; }
  .lw-lc-copy { position: static; }
  .lw-lc-details-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .lw-lc-frame, .lw-lc-cal-foot { display: none; }
  .lw-lc-mobile { display: block; }
  .lw-lc-route-grid { grid-template-columns: 1fr; }
}

/* ---------- Projects page ---------- */
.lw-lp-hero { padding: calc(68px + 72px) 0 56px; background: radial-gradient(900px 420px at 80% 0%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-lp-hero h1 { margin: 0; max-width: 16ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.03; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lp-hero .lw-lh-lead { max-width: 60ch; }
.lw-lp-cases { padding: var(--lh-pad) 0; background: var(--canvas); }
.lw-lp-case { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding: 56px 0; border-top: 1px solid var(--line); }
.lw-lp-case:first-child { border-top: 0; padding-top: 0; }
.lw-lp-case:last-child { padding-bottom: 0; }
.lw-lp-case.is-flip .lw-lp-case-fig { order: 2; }
.lw-lp-case-fig { display: block; }
.lw-lp-case-tag { font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-lp-case h2 { margin: 8px 0 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; letter-spacing: var(--tracking-heading); text-wrap: balance; }
.lw-lp-case h2 a { color: var(--ink); text-decoration: none; }
.lw-lp-case h2 a:hover { color: var(--accent-ink); }
.lw-lp-case-copy > p { margin: 14px 0 0; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); }
.lw-lp-case-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lw-lp-case-metrics dt { order: 2; font-size: var(--text-small); color: var(--ink-muted); }
.lw-lp-case-metrics div { display: flex; flex-direction: column; gap: 2px; }
.lw-lp-case-metrics dd { order: 1; margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 1.75rem; letter-spacing: -0.02em; }
.lw-lp-case-copy > p.lw-lp-case-owned { margin: 16px 0 18px; font-size: 15px; line-height: 1.55; }
.lw-lp-case-owned strong { color: var(--ink); font-weight: 600; }
.lw-lp-band-zone .lw-lh-cta-zone { background: linear-gradient(to bottom, var(--band) 0, var(--band) 50%, var(--canvas) 50%, var(--canvas) 100%); }
@media (max-width: 1023px) {
  .lw-lp-case { grid-template-columns: 1fr; gap: 28px; }
  .lw-lp-case.is-flip .lw-lp-case-fig { order: 0; }
}

/* ---------- Case study diagrams ---------- */
.lw-fig { margin: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--band); font-family: var(--font-body); }
.lw-fig-kicker { display: block; font-size: 12px; font-weight: 500; color: var(--ink-muted); }
.lw-fig strong { font-family: var(--font-display); font-weight: 600; color: var(--ink); }

.lw-fig-nodes { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.lw-fig-nodes li { position: relative; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface-1); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 16px; align-items: center; }
.lw-fig-nodes li .lw-fig-kicker { grid-column: 1; }
.lw-fig-nodes li strong { grid-column: 1; font-size: 1.0625rem; line-height: 1.3; }
.lw-fig-sub { grid-column: 2; grid-row: 1 / span 2; font-size: 14px; line-height: 1.4; color: var(--ink-muted); }
.lw-fig-nodes li.is-key { border: 1.5px solid var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.lw-fig-nodes li:not(:last-child)::after { content: ''; position: absolute; left: 32px; bottom: -22px; width: 1.5px; height: 22px; background: var(--ink-muted); }
.lw-fig-rules { list-style: none; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 10px 22px; }
.lw-fig-rules li { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--ink); }
.lw-fig-rules li svg { color: var(--accent); }

.lw-fig-bars { display: grid; gap: 22px; }
.lw-fig-bar-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.lw-fig-bar-label span { font-size: 14px; color: var(--ink-muted); }
.lw-fig-bar-label strong { font-size: 1.125rem; }
.lw-fig-bar-track { height: 18px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.lw-fig-bar-track span { display: block; height: 100%; border-radius: 99px; background: #C4CAD3; }
.lw-fig-bar.is-key .lw-fig-bar-track span { background: var(--accent); min-width: 18px; }
.lw-fig-total { padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 4px; }
.lw-fig-total strong { font-size: 1.75rem; letter-spacing: -0.02em; color: var(--accent-ink); }
.lw-fig-total span { font-size: 13px; line-height: 1.5; color: var(--ink-muted); }

.lw-fig-nodes li.is-auto { background: var(--surface-2); }
.lw-fig-sublist { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.lw-fig-sublist li { position: relative; padding-left: 14px; }
.lw-fig-sublist li::before { content: ''; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 99px; background: var(--ink-muted); }

@media (max-width: 767px) {
  .lw-fig { padding: 20px; }
  .lw-fig-nodes li { grid-template-columns: 1fr; }
  .lw-fig-sub { grid-column: 1; grid-row: auto; }
}

/* Data access comparison table. */
.lw-fig-cmp-table { background: var(--surface-1); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(17, 24, 39, .04), 0 8px 24px rgba(17, 24, 39, .06); }
.lw-fig-cmp-table > div { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.lw-fig-cmp-table > div:last-child { border-bottom: 0; }
.lw-fig-cmp-table span { padding: 13px 14px; font-size: 14px; display: flex; flex-direction: column; justify-content: center; }
.lw-fig-cmp-table span[role="rowheader"] { color: var(--ink-muted); }
.lw-fig-cmp-table span[role="cell"] { color: var(--ink); }
.lw-fig-cmp-table span svg { color: var(--ink); }
.lw-fig-cmp-table .is-new { background: rgba(242, 118, 46, .045); }
.lw-fig-cmp-table .is-new svg { color: var(--accent); }
.lw-fig-cmp-head span { background: var(--band); }
.lw-fig-cmp-head span.is-new { background: var(--accent-soft); }
.lw-fig-cmp-head b { font-size: 13px; }
.lw-fig-cmp-head span.is-new b { color: var(--accent-ink); }
.lw-fig-cmp-head small { font-size: 12px; color: var(--ink-muted); }
.lw-fig-cmp-none { padding: 0 !important; color: #B8BEC7; }
.lw-fig-cmp-cost span[role="cell"] { flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 4px; font-family: var(--font-display); font-weight: 700; font-size: 1.375rem; letter-spacing: -0.02em; }
.lw-fig-cmp-cost span.is-old { color: var(--ink-muted); }
.lw-fig-cmp-cost small { font-family: var(--font-body); font-weight: 500; font-size: 12px; color: var(--ink-muted); letter-spacing: 0; }
.lw-fig-cmp-save { margin-top: 16px; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.lw-fig-cmp-save strong { font-size: 1.5rem; letter-spacing: -0.02em; color: var(--accent-ink); }
.lw-fig-cmp-save span { font-size: 13px; color: var(--ink-muted); }
@media (max-width: 767px) { .lw-fig-cmp-table span { padding: 11px 10px; font-size: 13px; } }

/* Single big-number figure. */
.lw-fig-num { text-align: center; padding: 40px 28px; }
.lw-fig-num-was { font-family: var(--font-display); font-size: 1.375rem; color: #8A929E; text-decoration: line-through; text-decoration-color: var(--accent); text-decoration-thickness: 2px; }
.lw-fig-num-now { margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: clamp(3rem, 6vw, 3.75rem); line-height: 1; letter-spacing: -0.04em; color: var(--ink); }
.lw-fig-num-now small { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink-muted); }
.lw-fig-num-sub { margin: 12px 0 0; font-size: 15px; color: var(--ink-muted); }
.lw-fig-num-facts { list-style: none; margin: 22px 0 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.lw-fig-num-facts li { padding: 6px 12px; border: 1px solid var(--line); border-radius: 99px; background: var(--surface-1); font-size: 12.5px; }

/* Case figure: example task the team receives */
.lw-fig-ui-card { background: var(--surface-1); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(17, 24, 39, .04), 0 8px 24px rgba(17, 24, 39, .06); }
.lw-fig-ui-bar { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--band); }
.lw-fig-ui-bar strong { font-size: 15px; }
.lw-fig-ui-bar span { font-size: 12.5px; color: var(--ink-muted); }
.lw-fig-ui-steps { list-style: none; margin: 0; padding: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; border-bottom: 1px solid var(--line); }
.lw-fig-ui-steps li { display: flex; gap: 8px; align-items: flex-start; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.lw-fig-ui-steps li > svg, .lw-fig-ui-steps li > i { flex: none; width: 18px; height: 18px; margin-top: 1px; border-radius: 99px; }
.lw-fig-ui-steps li.is-done > svg { padding: 2px; background: #EDF7F2; color: #0B6B51; }
.lw-fig-ui-steps li.is-now { border: 1.5px solid var(--accent); background: rgba(242, 118, 46, .045); }
.lw-fig-ui-steps li.is-now > i { border: 2px solid var(--accent); }
.lw-fig-ui-steps b { display: block; font-size: 13px; line-height: 1.3; }
.lw-fig-ui-steps small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; color: var(--ink-muted); }
.lw-fig-ui-att { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lw-fig-ui-att > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.lw-fig-ui-att b { display: block; font-size: 13px; }
.lw-fig-ui-att span { display: block; margin-top: 2px; font-size: 12px; color: var(--ink-muted); }
.lw-fig-ui-att i { display: block; height: 6px; margin-top: 7px; border-radius: 4px; background: var(--surface-2); }
.lw-fig-ui-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--ink-muted); }
.lw-fig-ui-btns { display: flex; gap: 6px; }
.lw-fig-ui-btns span { padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-1); font-size: 12.5px; font-weight: 600; white-space: nowrap; color: var(--ink); }
.lw-fig-ui-btns span.is-primary { background: var(--accent); border-color: var(--accent); color: var(--text-on-accent); }
.lw-fig-ui-note { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--ink-muted); }
@media (max-width: 767px) { .lw-fig-ui-steps, .lw-fig-ui-att { grid-template-columns: 1fr; } }

/* Blog index and category archives */
.lw-lb-hero { padding: calc(68px + 72px) 0 48px; background: radial-gradient(900px 420px at 85% 0%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-lb-hero h1 { margin: 0; max-width: 18ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.03; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lb-hero .lw-lh-lead { max-width: 60ch; }
.lw-lb-back { display: inline-block; margin-bottom: 16px; font-size: 14px; font-weight: 500; color: var(--accent-ink); text-decoration: none; }
.lw-lb-back::before { content: '‹ '; }
.lw-lb-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.lw-lb-topics a { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1px solid var(--line); border-radius: 99px; background: var(--surface-1); color: var(--ink); font-size: 14px; font-weight: 500; text-decoration: none; transition: border-color 180ms var(--ease-out), background 180ms var(--ease-out); }
.lw-lb-topics a span { font-size: 12px; color: var(--ink-muted); }
.lw-lb-topics a:hover { border-color: #B8BEC7; }
.lw-lb-topics a[aria-current="page"] { border-color: var(--ink); background: var(--ink); color: #fff; }
.lw-lb-topics a[aria-current="page"] span { color: rgba(255, 255, 255, .7); }

.lw-lb-list { padding: 24px 0 var(--lh-pad); background: var(--canvas); }
.lw-lb-tag { font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-lb-meta { font-size: 13px; color: var(--ink-muted); }
.lw-lb-thumb-empty { display: block; width: 100%; height: 100%; background: var(--surface-2); }

.lw-lb-feat { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); overflow: hidden; color: var(--ink); text-decoration: none; box-shadow: var(--shadow-1); transition: box-shadow 200ms var(--ease-out), border-color 200ms var(--ease-out); }
.lw-lb-feat:hover { border-color: #C9CED6; box-shadow: var(--shadow-3); }
.lw-lb-feat-media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--surface-2); }
.lw-lb-feat-media img, .lw-lb-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms var(--ease-out); }
.lw-lb-feat:hover img, .lw-lb-card:hover img { transform: scale(1.03); }
.lw-lb-feat-copy { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.lw-lb-feat-copy h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.625rem, 2.4vw, 2.125rem); line-height: 1.15; letter-spacing: var(--tracking-heading); text-wrap: balance; }
.lw-lb-feat-copy p { margin: 0; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

.lw-lb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; margin-top: 56px; }
.lw-lb-feat + .lw-lb-grid { margin-top: 56px; }
.lw-lb-list .lw-lh-wrap > .lw-lb-grid:first-child { margin-top: 0; }
.lw-lb-card { display: flex; flex-direction: column; gap: 10px; color: var(--ink); text-decoration: none; }
.lw-lb-card-media { aspect-ratio: 16 / 10; margin-bottom: 8px; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--surface-2); }
.lw-lb-card h3 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; line-height: 1.3; letter-spacing: -0.01em; text-wrap: balance; transition: color 180ms var(--ease-out); }
.lw-lb-card:hover h3 { color: var(--accent-ink); }
.lw-lb-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lw-lb-empty { text-align: center; color: var(--ink-muted); }

.lw-lb-pager { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 72px; padding-top: 24px; border-top: 1px solid var(--line); }
.lw-lb-pager-nums { display: flex; gap: 6px; }
.lw-lb-pager a, .lw-lb-pager span.lw-lb-pager-step { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-sm); font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; box-sizing: border-box; }
.lw-lb-pager-nums a:hover, .lw-lb-pager a.lw-lb-pager-step:hover { background: var(--surface-2); }
.lw-lb-pager-nums a[aria-current="page"] { background: var(--ink); color: #fff; }
.lw-lb-pager-step { border: 1px solid var(--line); }
.lw-lb-pager-step.is-off { color: #B8BEC7 !important; }
.lw-lb-list + .lw-lh-cta-zone { background: var(--canvas); }

@media (max-width: 1023px) {
  .lw-lb-feat { grid-template-columns: 1fr; }
  .lw-lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .lw-lb-grid { grid-template-columns: 1fr; gap: 40px; }
  .lw-lb-topics { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(var(--gutter) * -1); padding-right: var(--gutter); scrollbar-width: none; }
  .lw-lb-topics a { flex: none; }
  .lw-lb-pager-nums { display: none; }
}

/* Article template: one standard layout for every blog post */
.lw-lt-progress { position: fixed; left: 0; top: 0; z-index: 60; width: 100%; height: 3px; background: var(--accent); transform-origin: 0 50%; pointer-events: none; }
.lw-lt { padding: calc(68px + 56px) 0 var(--lh-pad); background: radial-gradient(900px 420px at 85% 0%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-lt-head { max-width: 820px; }
.lw-lt-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-muted); }
.lw-lt-crumbs a { color: var(--ink-muted); text-decoration: none; }
.lw-lt-crumbs a:last-child { color: var(--accent-ink); font-weight: 500; }
.lw-lt-crumbs a:hover { color: var(--ink); }
.lw-lt-head h1 { margin: 16px 0 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.125rem, 3.8vw, 3.25rem); line-height: 1.08; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lt-dek { margin: 20px 0 0; max-width: 62ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }
.lw-lt-byline { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.lw-lt-byline img { width: 36px; height: 36px; border-radius: 99px; object-fit: cover; }
.lw-lt-byline a { display: block; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; }
.lw-lt-byline small { display: block; font-size: 13px; color: var(--ink-muted); }
.lw-lt-hero-img { margin: 40px 0 0; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: var(--surface-2); }
.lw-lt-hero-img img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; }

.lw-lt-grid { display: grid; grid-template-columns: 220px minmax(0, 720px); justify-content: center; gap: clamp(40px, 5vw, 80px); align-items: start; margin-top: 56px; }
.lw-lt-side { position: sticky; top: 100px; }
.lw-lt-toc-label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); }
.lw-lt-toc ol { list-style: none; margin: 12px 0 0; padding: 0; border-left: 1px solid var(--line); max-height: calc(100vh - 300px); overflow-y: auto; }
.lw-lt-toc ol a { display: block; margin-left: -1px; padding: 6px 0 6px 14px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--ink-muted); text-decoration: none; transition: color 160ms, border-color 160ms; }
.lw-lt-toc ol a:hover { color: var(--ink); }
.lw-lt-toc ol a[aria-current] { border-left-color: var(--accent); color: var(--ink); font-weight: 500; }
.lw-lt-share { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.lw-lt-share > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lw-lt-share a, .lw-lt-share button { min-height: 32px; padding: 0 10px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface-1); color: var(--ink-muted); font: 500 12.5px var(--font-body); text-decoration: none; cursor: pointer; }
.lw-lt-share a:hover, .lw-lt-share button:hover { border-color: #B8BEC7; color: var(--ink); }

/* Post content: WordPress blocks restyled for the light reading column */
.lw-lt .lw-wp-content p, .lw-lt .lw-wp-content li { font-size: 18px; line-height: 1.75; color: #1F2937; }
.lw-lt .lw-wp-content p { margin: 0 0 24px; }
.lw-lt .lw-wp-content ul, .lw-lt .lw-wp-content ol { margin: 0 0 24px; padding-left: 24px; }
.lw-lt .lw-wp-content li { margin: 0 0 8px; }
.lw-lt .lw-wp-content li::marker { color: var(--accent); }
.lw-lt .lw-wp-content strong { color: var(--ink); font-weight: 600; }
.lw-lt .lw-wp-content h2 { margin: 56px 0 16px; font-size: clamp(1.625rem, 2.2vw, 2rem); line-height: 1.2; letter-spacing: var(--tracking-heading); scroll-margin-top: 100px; }
.lw-lt .lw-wp-content h3 { margin: 40px 0 12px; font-size: 1.375rem; line-height: 1.3; letter-spacing: -0.01em; }
.lw-lt .lw-wp-content h4 { margin: 32px 0 10px; font-family: var(--font-display); font-size: 1.125rem; font-weight: 600; }
.lw-lt .lw-wp-content a { color: var(--accent-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lw-lt .lw-wp-content a:hover { text-decoration-thickness: 2px; }
.lw-lt .lw-wp-content :not(pre) > code { padding: 2px 6px; border: 1px solid var(--line); border-radius: 5px; background: var(--band); font-size: .86em; color: var(--ink); }
.lw-lt .lw-wp-content pre { margin: 28px 0; padding: 20px 22px; border: 0; border-radius: var(--r-md); background: #111827; color: #E6EAF2; font-size: 14px; line-height: 1.65; }
.lw-lt .lw-wp-content pre code { color: inherit; }
.lw-lt .lw-wp-content figure { margin: 36px 0; }
.lw-lt .lw-wp-content figure img { border: 1px solid var(--line); border-radius: var(--r-md); }
.lw-lt .lw-wp-content figcaption { margin-top: 10px; font-size: 14px; font-style: normal; text-align: left; color: var(--ink-muted); }
.lw-lt .lw-wp-content hr { margin: 48px 0; border: 0; border-top: 1px solid var(--line); }
.lw-lt .lw-wp-content blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--accent); }
.lw-lt .lw-wp-content blockquote p { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.5; color: var(--ink); }
.lw-lt .lw-wp-content table { display: block; overflow-x: auto; margin: 32px 0; border-collapse: collapse; font-size: 15px; }
.lw-lt .lw-wp-content th, .lw-lt .lw-wp-content td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.lw-lt .lw-wp-content th { background: var(--band); font-weight: 600; color: var(--ink); }
.lw-lt .lw-wp-content .wp-block-group, .lw-lt .lw-wp-content section, .lw-lt .lw-wp-content article { margin: 0; padding: 0; border: 0; background: none; }
.lw-lt .lw-wp-content aside { margin: 32px 0; padding: 20px 24px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--band); }

.lw-lt-author { display: flex; gap: 20px; align-items: flex-start; margin-top: 56px; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--band); }
.lw-lt-author img { width: 64px; height: 64px; border-radius: 99px; object-fit: cover; flex: none; }
.lw-lt-author strong { font-family: var(--font-display); font-size: 1.125rem; font-weight: 600; }
.lw-lt-author p { margin: 6px 0 0; font-size: 15px; line-height: 1.6; color: var(--ink-muted); }
.lw-lt-author-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.lw-lt-author-links a { font-size: 14px; font-weight: 500; color: var(--accent-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
.lw-lt-comments { margin-top: 56px; }
.lw-lt-comments > h2 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; }
.lw-lt-comments article { padding: 20px 0; border-bottom: 1px solid var(--line); }
.lw-lt-comments header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; font-size: 15px; }
.lw-lt-comments time { font-size: 13px; color: var(--ink-muted); }
.lw-lt-comments p { margin: 0; font-size: 16px; line-height: 1.65; color: #374151; }
.lw-lt-related { padding: var(--lh-pad) 0 calc(var(--lh-pad) - 48px); background: var(--band); border-top: 1px solid var(--line); }
.lw-lt-related .lw-lb-grid { margin-top: 0; }

@media (max-width: 1023px) {
  .lw-lt-grid { grid-template-columns: minmax(0, 720px); }
  .lw-lt-side { display: none; }
}
@media (max-width: 767px) {
  .lw-lt { padding-top: calc(68px + 32px); }
  .lw-lt-hero-img { margin-top: 28px; border-radius: var(--r-md); }
  .lw-lt-grid { margin-top: 36px; }
  .lw-lt .lw-wp-content p, .lw-lt .lw-wp-content li { font-size: 17px; }
  .lw-lt .lw-wp-content pre { margin-inline: calc(var(--gutter) * -1); border-radius: 0; }
  .lw-lt-author { flex-direction: column; padding: 22px; }
}

/* Case study pages */
.lw-lcs-hero { padding: calc(68px + 56px) 0 0; background: radial-gradient(900px 420px at 85% 0%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-lcs-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.lw-lcs-hero h1 { margin: 16px 0 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem, 3vw, 2.625rem); hyphens: manual; line-height: 1.08; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-lcs-dek { margin: 18px 0 0; max-width: 60ch; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); text-wrap: pretty; }
.lw-lcs-dek + .lw-lcs-dek { margin-top: 12px; }
.lw-lcs-metrics { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); margin: 48px 0 0; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-2); overflow: hidden; }
.lw-lcs-metrics > div { display: flex; flex-direction: column; padding: 22px 26px; border-left: 1px solid var(--line); }
.lw-lcs-metrics > div:first-child { border-left: 0; }
.lw-lcs-metrics dd { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.625rem, 2.4vw, 2.125rem); line-height: 1.05; letter-spacing: -0.03em; }
.lw-lcs-metrics dt { margin-top: 8px; font-size: 14px; line-height: 1.45; color: var(--ink-muted); }
.lw-lcs-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.lw-lcs-facts > div { padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--band); }
.lw-lcs-facts strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 15px; }
.lw-lcs-facts span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.45; color: var(--ink-muted); }
.lw-lcs-read { padding: 0 0 var(--lh-pad); background: var(--canvas); }
.lw-lcs-body .lw-lcs-section { scroll-margin-top: 100px; }
.lw-lcs-kicker { display: block; margin: 56px 0 -40px; font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-lcs-body h2 { margin: 56px 0 16px; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.625rem, 2.2vw, 2rem); line-height: 1.2; letter-spacing: var(--tracking-heading); text-wrap: balance; }
.lw-lcs-section:first-child h2, .lw-lcs-section:first-child .lw-lcs-kicker { margin-top: 0; }
.lw-lcs-section:first-child .lw-lcs-kicker + h2 { margin-top: 48px; }
.lw-lcs-body p, .lw-lcs-body li { font-size: 18px; line-height: 1.75; color: #1F2937; }
.lw-lcs-body p { margin: 0 0 22px; }
.lw-lcs-body ul { margin: 0 0 24px; padding-left: 24px; }
.lw-lcs-body li { margin-bottom: 8px; }
.lw-lcs-body li::marker { color: var(--accent); }
.lw-lcs-steps { list-style: none; margin: 24px 0; padding: 0; border-top: 1px solid var(--line); }
.lw-lcs-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); margin: 0; }
.lw-lcs-steps li > span { padding-top: 3px; font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--accent-ink); }
.lw-lcs-steps strong { font-family: var(--font-display); font-weight: 600; font-size: 17px; }
.lw-lcs-body .lw-lcs-steps p { margin: 4px 0 0; font-size: 15.5px; line-height: 1.55; color: var(--ink-muted); }
.lw-lcs-calc { margin: 24px 0; padding: 20px 24px; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: var(--r-md); background: var(--band); }
.lw-lcs-calc strong { display: block; font-family: var(--font-display); font-size: 1.125rem; }
.lw-lcs-calc span { display: block; margin-top: 6px; font-size: 14.5px; line-height: 1.5; color: var(--ink-muted); }
.lw-lcs-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.lw-lcs-tiles > div { padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface-1); }
.lw-lcs-tiles strong { font-family: var(--font-display); font-weight: 600; font-size: 15.5px; }
.lw-lcs-body .lw-lcs-tiles p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-muted); }
.lw-lcs-note { margin: 28px 0; padding: 18px 22px; border: 1px solid rgba(242, 118, 46, .35); border-radius: var(--r-md); background: rgba(242, 118, 46, .06); }
.lw-lcs-note span { font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-lcs-body .lw-lcs-note p { margin: 6px 0 0; font-size: 16.5px; line-height: 1.6; }
.lw-lcs-owned { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-muted); }
.lw-lcs-read .lw-lt-grid { margin-top: 64px; }
.lw-lcs-more { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lw-lcs-more-card { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1.5px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); color: var(--ink); text-decoration: none; transition: border-color 200ms var(--ease-out); }
.lw-lcs-more-card:hover { border-color: var(--accent); }
.lw-lcs-more-card h3 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: 1.375rem; line-height: 1.3; text-wrap: balance; }
.lw-lcs-more-card p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--ink-muted); }
.lw-lcs-more-link { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--accent-ink); }
@media (max-width: 1023px) {
  .lw-lcs-hero-grid { grid-template-columns: 1fr; }
  .lw-lcs-fig { max-width: 620px; }
  .lw-lcs-facts { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .lw-lcs-metrics { grid-template-columns: 1fr; }
  .lw-lcs-metrics > div { border-left: 0; border-top: 1px solid var(--line); }
  .lw-lcs-metrics > div:first-child { border-top: 0; }
  .lw-lcs-tiles, .lw-lcs-more { grid-template-columns: 1fr; }
  .lw-lcs-body p, .lw-lcs-body li { font-size: 17px; }
}

/* Plain content pages: legal, history, older case studies, 404 */
.lw-lcp-head { max-width: 760px; margin: 0 auto; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.lw-lcp-body { max-width: 760px; margin: 40px auto 0; }

/* About page */
.lw-la-hero { padding: calc(68px + 72px) 0 72px; background: radial-gradient(900px 420px at 85% 10%, var(--accent-soft) 0%, rgba(242, 118, 46, 0) 68%), var(--canvas); }
.lw-la-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 400px); gap: clamp(40px, 6vw, 88px); align-items: center; }
.lw-la-hero h1 { margin: 0; max-width: 17ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.03; letter-spacing: var(--tracking-display); text-wrap: balance; }
.lw-la-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 32px; }
.lw-la-hero-actions .lw-lh-text-link { margin-bottom: 0; }
.lw-la-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-3); }
.lw-la-card-top { display: flex; gap: 16px; align-items: center; }
.lw-la-card-top img { width: 88px; height: 88px; border-radius: 99px; object-fit: cover; flex: none; }
.lw-la-card-top strong { display: block; font-family: var(--font-display); font-weight: 700; font-size: 1.375rem; letter-spacing: -0.02em; }
.lw-la-card-top span { display: block; margin-top: 3px; font-size: 14px; line-height: 1.4; color: var(--ink-muted); }
.lw-la-creds { display: grid; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.lw-la-creds a > div:first-child { background: transparent !important; width: 48px !important; height: 48px !important; }

.lw-la-today { padding: var(--lh-pad) 0; background: var(--band); }
.lw-la-today-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lw-la-today-list li { padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); box-shadow: var(--shadow-1); }
.lw-la-num { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--accent-ink); }
.lw-la-today-list h3, .lw-la-steps h3, .lw-la-range-grid h3, .lw-la-ways h3 { margin: 10px 0 0; font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; line-height: 1.3; letter-spacing: -0.01em; }
.lw-la-today-list p, .lw-la-steps p, .lw-la-ways p { margin: 10px 0 0; font-size: var(--text-body); line-height: var(--lh-body); color: var(--ink-muted); }

.lw-la-path { padding: var(--lh-pad) 0; background: var(--canvas); }
.lw-la-path-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.lw-la-path-head { position: sticky; top: 110px; }
.lw-la-path-head h2 { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: var(--lh-h2); letter-spacing: var(--tracking-heading); }
.lw-la-path-head p { margin: 12px 0 0; font-size: var(--text-body-lg); line-height: var(--lh-body-lg); color: var(--ink-muted); }
.lw-la-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.lw-la-steps::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 1.5px; background: var(--line); }
.lw-la-steps li { position: relative; padding: 0 0 36px 40px; }
.lw-la-steps li:last-child { padding-bottom: 0; }
.lw-la-steps li::before { content: ''; position: absolute; left: 0; top: 4px; width: 14px; height: 14px; border-radius: 99px; background: var(--canvas); border: 2px solid #9AA3AF; box-sizing: border-box; }
.lw-la-steps li:last-child::before { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.lw-la-when { font-size: 13px; font-weight: 600; color: var(--accent-ink); }
.lw-la-steps h3 { margin-top: 4px; }

.lw-la-range { padding: var(--lh-pad) 0 calc(var(--lh-pad) - 48px); background: var(--band); }
.lw-la-range-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); overflow: hidden; }
.lw-la-range-grid > div { padding: 24px; border-left: 1px solid var(--line); }
.lw-la-range-grid > div:first-child { border-left: 0; }
.lw-la-range-grid h3 { margin: 0; font-size: 1.0625rem; }
.lw-la-range-grid ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.lw-la-range-grid li { position: relative; padding-left: 16px; font-size: 15px; line-height: 1.45; color: var(--ink); }
.lw-la-range-grid li::before { content: ''; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 99px; background: var(--accent); }
.lw-la-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 56px; }
.lw-la-ways > div { padding-top: 20px; border-top: 2px solid var(--ink); }
.lw-la-ways h3 { margin: 0; }

@media (max-width: 1023px) {
  .lw-la-hero-grid, .lw-la-path-grid { grid-template-columns: 1fr; }
  .lw-la-card { max-width: 440px; }
  .lw-la-path-head { position: static; }
  .lw-la-today-list { grid-template-columns: 1fr; }
  .lw-la-range-grid { grid-template-columns: 1fr 1fr; }
  .lw-la-range-grid > div:nth-child(3) { border-left: 0; }
  .lw-la-range-grid > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 767px) {
  .lw-la-range-grid, .lw-la-ways { grid-template-columns: 1fr; }
  .lw-la-range-grid > div { border-left: 0; }
  .lw-la-range-grid > div + div { border-top: 1px solid var(--line); }
  .lw-la-ways { gap: 24px; margin-top: 40px; }
}

/* Scroll reveal: applied only after JavaScript marks the page, once per element, staggered by --d. */
.lw-lh-js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 640ms var(--ease-out), transform 640ms var(--ease-out); transition-delay: calc(var(--d, 0) * 90ms); }
.lw-lh-js [data-reveal].is-in { opacity: 1; transform: none; }
.lw-lh-reveal-cell { display: flex; }
.lw-lh-reveal-cell > * { flex: 1; }
@media (prefers-reduced-motion: reduce) { .lw-lh-js [data-reveal] { opacity: 1; transform: none; transition: none; } }

@media (max-width: 1023px) {
  .lw-lh-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .lw-lh-proof-grid > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .lw-lh-steps-grid, .lw-lh-reviews-grid, .lw-lh-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lw-lh-about-grid { grid-template-columns: 1fr; }
  .lw-lh-about-card { position: static; }
}
@media (max-width: 767px) {
  .lw-lh-shape-about { display: none; }
  .lw-lh-proof-grid > div { padding: 14px 16px; }
  .lw-lh-steps-grid, .lw-lh-reviews-grid, .lw-lh-work-grid { grid-template-columns: 1fr; }
}

/* One rise on load, under 600ms total. */
@keyframes lwLhRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.lw-lh-rise { animation: lwLhRise 480ms var(--ease-out) both; animation-delay: calc(var(--i, 0) * 60ms); }
@media (prefers-reduced-motion: reduce) { .lw-lh-rise, .lw-lh-deck-hint { animation: none; } }
