/* imp-landing.css — P34 landing (views/landing.ejs). Every colour is a brand.css token, so the page
   follows the light/dark switch; the sample label is paper (--imp-paper / --imp-print) in both.
   One bold element: the midnight hero stage with the label leaning in 3D (js/landing.js). */

.lp { --lp-maxw: 1180px; --lp-gutter: 24px; min-height: 100vh; overflow-x: clip; font-size: var(--fs-3); line-height: 1.6; }
.lp-wrap { max-width: var(--lp-maxw); margin-inline: auto; padding-inline: var(--lp-gutter); }
.lp h1, .lp h2, .lp h3 { font-family: var(--imp-display); color: var(--imp-ink); letter-spacing: -0.02em; text-wrap: balance; }
.lp h2 { font-size: clamp(28px, 2.2vw + 16px, 42px); line-height: 1.1; font-weight: 700; }
.lp h3 { font-size: 18px; line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; }
.lp a { color: inherit; }
.lp a:focus-visible, .lp summary:focus-visible { outline: 2px solid var(--imp-primary-strong); outline-offset: 3px; border-radius: 8px; }

.lp-skip { position: absolute; left: 12px; top: -60px; z-index: 90; padding: 10px 14px; border-radius: var(--imp-radius-ctl);
  background: var(--imp-primary); color: var(--imp-primary-ink); font-weight: 700; text-decoration: none; }
.lp-skip:focus { top: 12px; }

/* ---- top bar ---- */
.lp-top { position: sticky; top: 0; z-index: 40; background: var(--imp-bg); border-bottom: 1px solid var(--imp-rule); }
.lp-nav { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.lp-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--imp-display);
  font-weight: 800; font-size: 20px; letter-spacing: -0.02em; color: var(--imp-ink); }
.lp-brand img { display: block; }
.lp-links { display: flex; gap: 22px; margin-left: 12px; font-size: 14px; font-weight: 600; }
.lp-links a { color: var(--imp-secondary); text-decoration: none; padding: 6px 0; }
.lp-links a:hover { color: var(--imp-primary-strong); }
.lp-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.lp-actions .imp-theme { width: 40px; padding: 0; }
.lp-actions .imp-theme__label { display: none; }

/* ---- buttons ---- */
.lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px;
  border-radius: var(--imp-radius-ctl); border: 1px solid transparent; font-weight: 700; font-size: 15px;
  text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: transform var(--imp-ease), box-shadow var(--imp-ease), background var(--imp-ease), border-color var(--imp-ease); }
.lp-btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }
.lp .lp-btn--primary { background: var(--imp-primary); color: var(--imp-primary-ink); box-shadow: 0 10px 24px var(--imp-primary-glow); }
.lp .lp-btn--primary:hover { background: var(--imp-primary-hover); transform: translateY(-1px); }
.lp .lp-btn--ghost { background: var(--imp-surface); color: var(--imp-ink); border-color: var(--imp-rule-strong); }
.lp .lp-btn--ghost:hover { border-color: var(--imp-primary-strong); color: var(--imp-primary-strong); }
.lp .lp-btn--light { background: var(--imp-paper); color: var(--imp-leather); }
.lp .lp-btn--light:hover { transform: translateY(-1px); box-shadow: 0 10px 24px var(--imp-accent-soft); }
.lp .lp-btn--line { background: transparent; color: var(--imp-side-strong); border-color: var(--imp-side-chip-border); }
.lp .lp-btn--line:hover { background: var(--imp-side-hover); border-color: var(--imp-accent); }
.lp .lp-btn--light:focus-visible, .lp .lp-btn--line:focus-visible { outline-color: var(--imp-accent); }

/* ---- hero ---- */
.lp-hero { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: clamp(28px, 5vw, 72px);
  align-items: center; padding-block: clamp(36px, 6vw, 88px) clamp(48px, 7vw, 104px); }
.lp .lp-hero__title { margin: 14px 0 18px; font-size: clamp(38px, 4.6vw + 8px, 72px); line-height: 1.02; font-weight: 800; letter-spacing: -0.035em; }
.lp-lede { max-width: 54ch; color: var(--imp-secondary); font-size: clamp(16px, 0.4vw + 14px, 19px); }
.lp-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.lp-points { list-style: none; margin: 32px 0 0; padding: 22px 0 0; border-top: 1px solid var(--imp-rule); display: grid; gap: 12px; }
.lp-points li { display: flex; gap: 12px; align-items: baseline; color: var(--imp-secondary); font-size: 15px; }
.lp-points i { color: var(--imp-primary-strong); font-size: 17px; flex: none; transform: translateY(2px); }
.lp-points strong { color: var(--imp-ink); }

/* the stage: a midnight panel in both themes, lit violet and cyan, holding one CSS 3D scene
   (P41). Depth comes from real translateZ layers inside a preserve-3d group: the floor shadow,
   a kraft parcel, two blank sheets and the label, then the two notes in front. --rx/--ry lean
   the whole group (js/landing.js, fine pointers only); --fan (0..1) spreads the sheets as the
   hero scrolls away; --sx moves the shading across the label with the lean. The rest pose is
   the same without scripts, so nothing shifts when the script arrives. */
.lp-stage { position: relative; isolation: isolate; border-radius: 28px; padding: clamp(12px, 2vw, 24px);
  background: var(--imp-side-bg); box-shadow: var(--imp-shadow-side); perspective: 1300px; perspective-origin: 50% 35%; overflow: hidden; }
.lp-stage__glow { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 50% at 78% 12%, var(--imp-primary-halo), var(--imp-primary-halo-clear) 70%),
              radial-gradient(50% 45% at 12% 92%, var(--imp-accent-soft), var(--imp-accent-clear) 70%); }
.lp-scene { --rx: 7deg; --ry: -16deg; --fan: 0; --sx: 70%; --lw: min(56%, 272px);
  position: relative; margin: 0; height: clamp(440px, 30vw + 110px, 548px); transform-style: preserve-3d;
  transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform 600ms cubic-bezier(.2, .7, .3, 1); }
.lp-stage.is-live .lp-scene { transition-duration: 140ms; }
.lp-scene > * { position: absolute; }

/* the floor: a soft shadow the scene stands on */
.lp-floor { left: 4%; right: 4%; bottom: 3%; height: 34%; pointer-events: none;
  background: radial-gradient(closest-side, var(--imp-stage-shadow), var(--imp-stage-shadow-clear));
  transform: translateZ(-140px) rotateX(78deg); transform-origin: 50% 100%; }

/* the parcel: a kraft box (three lit faces) behind and right of the stack */
.lp-parcel { --pw: 214px; --ph: 138px; --pd: 168px; left: 38%; top: 50%; width: var(--pw); height: var(--ph);
  transform-style: preserve-3d;
  transform: translateZ(-190px) translateY(calc(-26px * var(--fan))) rotateX(-18deg) rotateY(-36deg); }
.lp-parcel__face { position: absolute; left: 0; top: 0; box-shadow: inset 0 0 0 1px var(--imp-kraft-line); }
.lp-parcel__front { width: var(--pw); height: var(--ph); background: var(--imp-kraft-front); transform: translateZ(calc(var(--pd) / 2)); }
.lp-parcel__side { width: var(--pd); height: var(--ph); left: calc((var(--pw) - var(--pd)) / 2); background: var(--imp-kraft-side);
  transform: rotateY(90deg) translateZ(calc(var(--pw) / 2)); }
.lp-parcel__top { width: var(--pw); height: var(--pd); top: calc((var(--ph) - var(--pd)) / 2); background: var(--imp-kraft-top);
  transform: rotateX(90deg) translateZ(calc(var(--ph) / 2)); }
.lp-parcel__tape { position: absolute; left: calc(50% - 17px); width: 34px; top: 0; bottom: 0; background: var(--imp-tape); }
.lp-parcel__front .lp-parcel__tape { bottom: auto; height: 30%; }
.lp-parcel__slip { position: absolute; right: 9%; bottom: 13%; width: 32%; height: 38%; border-radius: 2px;
  background: repeating-linear-gradient(180deg, var(--imp-paper-2) 0 7px, var(--imp-paper-3) 7px 8px);
  box-shadow: 0 1px 0 var(--imp-kraft-line); }

/* the stack: two blank sheets fanned under the label */
.lp-stack { left: 50%; top: 50%; width: var(--lw); aspect-ratio: 4 / 6; transform-style: preserve-3d;
  transform: translate(-72%, -50%) translateZ(calc(22px * var(--fan))); }
.lp-sheet, .lp-label { position: absolute; inset: 0; border-radius: 4px; }
.lp-sheet { box-shadow: 0 18px 36px var(--imp-ink-frame), 0 0 0 1px var(--imp-paper-edge); }
.lp-sheet--2 { background: var(--imp-paper-2);
  transform: translate3d(calc(-12px - 26px * var(--fan)), 8px, calc(-18px - 30px * var(--fan))) rotateZ(calc(-4deg - 5deg * var(--fan))); }
.lp-sheet--3 { background: var(--imp-paper-3);
  transform: translate3d(calc(14px + 30px * var(--fan)), 14px, calc(-36px - 60px * var(--fan))) rotateZ(calc(5deg + 6deg * var(--fan))); }

/* the sample label: 4x6 paper, type sized to the label (cqw) */
.lp-label { overflow: hidden; container-type: inline-size; background: var(--imp-paper); color: var(--imp-print);
  box-shadow: 0 30px 60px var(--imp-ink-frame), 0 0 0 1px var(--imp-paper-edge); transform: translateZ(0); }
.lp-label__sheet { position: absolute; inset: 3%; border: 1px solid var(--imp-print); display: flex; flex-direction: column;
  font-family: Arial, Helvetica, sans-serif; line-height: 1.25; }
.lp-label__head { display: flex; border-bottom: 2px solid var(--imp-print); min-height: 20%; }
.lp-label__mark { width: 32%; display: grid; place-items: center; border-right: 1px solid var(--imp-print);
  font-family: var(--imp-display); font-weight: 800; font-size: 20cqw; line-height: 1; }
.lp-label__paid { padding: 3cqw 3.5cqw; font-size: 3cqw; }
.lp-label__paid b { display: block; font-size: 3.6cqw; margin-bottom: 1cqw; }
.lp-label__band { margin: 0; padding: 1.4cqw 0; border-bottom: 2px solid var(--imp-print); text-align: center; font-weight: 700; font-size: 5.4cqw; }
.lp-label__from { margin: 0; padding: 2.6cqw 3.5cqw 0; font-size: 2.9cqw; }
.lp-label__to { padding: 6cqw 3.5cqw 0 14cqw; flex: 1; }
.lp-label__to span { display: block; font-size: 2.8cqw; margin-bottom: .8cqw; }
.lp-label__to b { display: block; font-weight: 400; font-size: 4cqw; line-height: 1.35; }
.lp-label__trk { margin: 0; border-top: 4px solid var(--imp-print); padding-top: 1.6cqw; text-align: center; font-weight: 700; font-size: 3.4cqw; }
.lp-label__code { height: 17cqw; margin: 2cqw 9% 1cqw;
  background: repeating-linear-gradient(90deg,
    var(--imp-print) 0 2px, transparent 2px 4px, var(--imp-print) 4px 5px, transparent 5px 8px,
    var(--imp-print) 8px 11px, transparent 11px 12px, var(--imp-print) 12px 13px, transparent 13px 16px,
    var(--imp-print) 16px 17px, transparent 17px 19px, var(--imp-print) 19px 22px, transparent 22px 23px); }
.lp-label__num { margin: 0 0 2.4cqw; text-align: center; font-weight: 700; font-size: 3.4cqw; letter-spacing: .02em; }
/* light from the top left: the paper shades toward the far edge, and the shade slides with the lean */
.lp-label__sheen { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(118deg, var(--imp-paper-shade-clear) 38%, var(--imp-paper-shade) 100%);
  background-size: 180% 100%; background-position: var(--sx) 0; }

/* the print: only when the script runs, the sheet feeds out from a third already printed */
.lp-label__head-light { position: absolute; left: 0; right: 0; top: -4px; height: 4px; opacity: 0; pointer-events: none;
  background: var(--imp-accent-line); box-shadow: 0 0 18px 4px var(--imp-accent-soft); }
.lp-stage.is-printing .lp-label__sheet { animation: lp-feed 1300ms steps(32, end) both; }
.lp-stage.is-printing .lp-label__head-light { animation: lp-head 1300ms steps(32, end) both; }
@keyframes lp-feed { from { clip-path: inset(0 0 65% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes lp-head { 0% { top: 35%; opacity: 1; } 94% { opacity: 1; } 100% { top: 100%; opacity: 0; } }

/* the notes float in front of the label (translateZ): the nearest layer */
.lp-chip { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px;
  background: var(--imp-surface); color: var(--imp-ink); box-shadow: var(--imp-shadow-md); border: 1px solid var(--imp-rule);
  font-size: 13px; line-height: 1.3; white-space: nowrap; }
.lp-chip b { display: block; font-size: 14px; }
.lp-chip span { color: var(--imp-muted); }
.lp-chip i { font-size: 20px; color: var(--imp-green); }
.lp-chip--ready { right: 4%; bottom: 10%; transform: translateZ(90px); }
.lp-chip--track { right: 6%; top: 11%; transform: translateZ(64px); }
.lp-chip--track i { color: var(--imp-primary-strong); font-size: 17px; }

/* ---- sections ---- */
.lp-sec { padding-block: clamp(56px, 7vw, 104px); }
.lp-sec--rule { border-top: 1px solid var(--imp-rule); }
.lp-sec--tint { background: var(--imp-surface); border-block: 1px solid var(--imp-rule); }
.lp-shead { max-width: 64ch; margin-bottom: clamp(28px, 4vw, 48px); }
.lp-sub { margin-top: 14px; max-width: 60ch; color: var(--imp-secondary); font-size: 17px; }

/* features: a ruled grid, not a stack of floating cards */
.lp-grid { display: flex; flex-wrap: wrap; border-top: 1px solid var(--imp-rule); }
.lp-feat { flex: 0 0 33.333%; min-width: 0; padding: 28px 28px 32px 0; border-bottom: 1px solid var(--imp-rule); }
.lp-feat:not(:nth-child(3n + 1)) { padding-left: 28px; border-left: 1px solid var(--imp-rule); }
.lp-feat i { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; margin-bottom: 16px;
  background: var(--imp-primary-wash-2); color: var(--imp-primary-strong); font-size: 19px; }
.lp-feat p { margin-top: 8px; color: var(--imp-secondary); font-size: 15px; }

.lp-split { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.lp-split--flip > :first-child { order: 2; }

.lp-steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 16px; counter-reset: none; }
.lp-steps li { display: flex; gap: 14px; align-items: flex-start; }
.lp-steps__n { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--imp-primary); color: var(--imp-primary-ink); font-weight: 800; font-size: 14px; }
.lp-steps b { display: block; color: var(--imp-ink); }
.lp-steps span { color: var(--imp-secondary); font-size: 15px; }

.lp-panel { background: var(--imp-surface); border: 1px solid var(--imp-rule); border-radius: var(--imp-radius);
  box-shadow: var(--imp-shadow-md); padding: 22px; }
.lp-sec--tint .lp-panel { background: var(--imp-bg); }
.lp-panel__top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 14px;
  border-bottom: 1px solid var(--imp-rule); }
.lp-panel__top span { color: var(--imp-muted); font-size: 13px; }
.lp-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--imp-rule); font-size: 15px; }
.lp-row--note { font-size: 14px; }
.lp-row--note span:first-child { font-weight: 700; color: var(--imp-ink); }
.lp-row--note span:last-child { color: var(--imp-secondary); text-align: right; }
.lp-badge { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.lp-badge--ok { background: var(--imp-green-wash); color: var(--imp-green); }
.lp-badge--warn { background: var(--imp-amber-wash); color: var(--imp-amber); }
.lp-bar { height: 8px; border-radius: 999px; background: var(--imp-rule); margin: 16px 0 6px; overflow: hidden; }
.lp-bar i { display: block; width: 86%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--imp-primary), var(--imp-accent)); }
.lp-panel__foot { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; }
.lp-file { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700;
  border: 1px solid var(--imp-rule-strong); color: var(--imp-secondary); }
.lp-file--fill { background: var(--imp-primary); border-color: var(--imp-primary); color: var(--imp-primary-ink); }

.lp-link { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--imp-rule); }
.lp-link__n { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; font-size: 13px; font-weight: 800;
  background: var(--imp-primary-wash-2); color: var(--imp-primary-strong); }
.lp-link__t { flex: 1; font-weight: 600; }
.lp-link i { color: var(--imp-muted); }

.lp-ticks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.lp-ticks li { display: flex; gap: 10px; align-items: baseline; color: var(--imp-secondary); }
.lp-ticks i { color: var(--imp-green); flex: none; }

/* dealer tree: CSS lines between the levels */
.lp-tree { display: grid; gap: 34px; justify-items: center; padding: 30px 12px; border-radius: var(--imp-radius);
  background: var(--imp-surface); border: 1px solid var(--imp-rule); box-shadow: var(--imp-shadow); }
.lp-tree__row { position: relative; display: flex; justify-content: center; gap: clamp(10px, 3vw, 28px); flex-wrap: wrap; }
.lp-tree__row::before { content: ""; position: absolute; left: 50%; top: -34px; height: 34px; border-left: 2px dashed var(--imp-rule-strong); }
.lp-node { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; font-weight: 700; font-size: 14px;
  background: var(--imp-bg); border: 1px solid var(--imp-rule-strong); color: var(--imp-ink); }
.lp-node i { color: var(--imp-primary-strong); }
.lp-node--top { background: var(--imp-primary); border-color: var(--imp-primary); color: var(--imp-primary-ink); }
.lp-node--top i { color: var(--imp-primary-ink); }
.lp-node--leaf { font-weight: 600; font-size: 13px; padding: 8px 12px; }
.lp-node--leaf i { color: var(--imp-muted); }

/* pricing */
.lp-price { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 20px; }
.lp-price__card { border-radius: var(--imp-radius); padding: clamp(22px, 3vw, 34px); background: var(--imp-bg); border: 1px solid var(--imp-rule); }
.lp .lp-price__card--ink { background: var(--imp-side-bg); border-color: transparent; color: var(--imp-side-text); display: flex; flex-direction: column; }
.lp .lp-price__card--ink h3 { color: var(--imp-side-strong); }
.lp-price__card--ink p { margin-top: 12px; color: var(--imp-side-muted); }
.lp-price__card--ink .lp-cta { margin-top: auto; padding-top: 24px; }
.lp-note { display: flex; gap: 10px; align-items: baseline; margin-top: 20px; padding: 12px 14px; border-radius: var(--imp-radius-ctl);
  background: var(--imp-primary-wash); color: var(--imp-secondary); font-size: 14px; }
.lp-note i { color: var(--imp-primary-strong); }

/* FAQ */
.lp-faq { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: clamp(24px, 5vw, 72px); }
.lp-faq__list { border-top: 1px solid var(--imp-rule); }
.lp-q { border-bottom: 1px solid var(--imp-rule); }
.lp-q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center;
  padding: 18px 0; font-weight: 700; font-size: 17px; color: var(--imp-ink); }
.lp-q summary::-webkit-details-marker { display: none; }
.lp-q summary::after { content: "+"; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--imp-primary-wash-2); color: var(--imp-primary-strong); font-weight: 800; transition: transform var(--imp-ease); }
.lp-q[open] summary::after { transform: rotate(45deg); }
.lp-q p { padding: 0 44px 20px 0; color: var(--imp-secondary); }

/* closing band */
.lp-final { padding-block: 0 clamp(56px, 7vw, 96px); }
.lp-final__card { position: relative; overflow: hidden; border-radius: 28px; padding: clamp(32px, 5vw, 64px); background: var(--imp-side-bg); color: var(--imp-side-text); }
.lp-final__card::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(55% 80% at 100% 0%, var(--imp-primary-halo), var(--imp-primary-halo-clear) 70%); }
.lp .lp-final__card h2 { position: relative; color: var(--imp-side-strong); max-width: 20ch; }
.lp-final__card p, .lp-final__card .lp-cta { position: relative; }
.lp-final__card p { margin-top: 12px; color: var(--imp-side-muted); font-size: 17px; }

/* a quiet text link under a dark card's button */
.lp-ask { position: relative; margin-top: 18px; font-size: 15px; }
.lp .lp-ask a { color: var(--imp-side-strong); font-weight: 700; text-decoration: underline; text-underline-offset: 4px;
  text-decoration-color: var(--imp-side-chip-border); }
.lp .lp-ask a:hover { text-decoration-color: var(--imp-accent); }

/* footer: the brand line, then three short columns */
.lp-foot { border-top: 1px solid var(--imp-rule); }
.lp-foot__in { display: grid; grid: auto-flow / minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 28px; padding-block: 44px 36px; }
.lp-foot__brand p { margin-top: 12px; max-width: 34ch; color: var(--imp-muted); font-size: 14px; }
.lp-foot__col { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.lp-foot__h { margin-bottom: 4px; font-weight: 700; color: var(--imp-ink); }
.lp-foot__col a { color: var(--imp-muted); text-decoration: none; padding: 3px 0; width: max-content; }
.lp-foot__col a:hover { color: var(--imp-primary-strong); }
.lp-fine { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--imp-rule); color: var(--imp-muted); font-size: 13px; }

/* ---- responsive ---- */
@media (max-width: 1040px) {
  .lp-links { display: none; }
}
@media (max-width: 900px) {
  .lp-hero, .lp-split, .lp-price, .lp-faq { grid-auto-flow: row; }
  .lp-foot__in { grid: auto-flow / repeat(3, minmax(0, 1fr)); }
  .lp-foot__brand { grid-column: 1 / -1; }
  .lp-split--flip > :first-child { order: 0; }
  .lp-feat { flex-basis: 50%; }
  .lp-feat:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
  .lp-feat:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--imp-rule); }
  .lp-feat { padding-right: 24px; }
}
@media (max-width: 560px) {
  .lp { --lp-gutter: 16px; }
  .lp-nav { gap: 10px; min-height: 60px; }
  .lp-hide-xs { display: none; }
  .lp-feat { flex-basis: 100%; }
  .lp-feat, .lp-feat:nth-child(2n) { padding: 22px 0 24px; border-left: 0; }
  .lp-cta .lp-btn { flex: 1 1 100%; }
  .lp-stage { border-radius: 20px; }
  .lp-scene { height: 380px; --lw: min(54%, 200px); }
  .lp-parcel { --pw: 150px; --ph: 96px; --pd: 118px; }
  .lp-chip { font-size: 12px; padding: 8px 10px; }
  .lp-chip b { font-size: 13px; }
  .lp-chip--ready { right: 3%; bottom: 6%; }
  .lp-chip--track { right: 3%; top: 6%; }
  .lp-q p { padding-right: 0; }
  .lp-foot__in { grid: auto-flow / repeat(2, minmax(0, 1fr)); }
  .lp-row--note { flex-direction: column; align-items: flex-start; gap: 2px; }
  .lp-row--note span:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-scene, .lp-btn, .lp-q summary::after { transition: none; }
  .lp-stage.is-printing .lp-label__sheet, .lp-stage.is-printing .lp-label__head-light { animation: none; }
  .lp .lp-btn:hover { transform: none; }
}
