/* Borders are drawn as negative-offset outlines: the frame strokes are inside the box (no layout cost) and the
   theme resets box-shadow on links. */
/* AVA Core — Local store landing pages (Lane BR build 28 Sep; AUDITOR-C3 re-cut 28 Sep). Classes prefixed avlp-.
   Every number below is read from the frame token dumps "Local LP > Lenox Hill - Desktop" 1:15417 (1440) and
   "…Mobile" 1:15749 (390, 20 px gutters): section fills, paddings, gaps, radii, borders (inside), Krub
   size / weight / line-height (px, Figma per-line rounding) / letter-spacing, hex. Bands are full-bleed and
   alternate cream #EDEBE1 / white; content sits in the 1296 box (72 px at 1440), D39: centred above 1440. */

.avlp-page, .avlp-sticky { --lp-ink: #151515; --lp-muted: #6B685E; --lp-line: #DCD8CA; --lp-cream: #EDEBE1; --lp-red: #FF4438; --lp-navy: #193E81; --lp-gold: #AD8C5C;
	--lp-g: max(72px, calc((100% - 1296px) / 2)); font-family: Krub, sans-serif; }
.avlp-page { color: var(--lp-ink); background: var(--lp-cream); }
.avlp-page *, .avlp-page *::before, .avlp-page *::after { box-sizing: border-box; }
.avlp-page p, .avlp-page h1, .avlp-page h2, .avlp-page h3, .avlp-page ul, .avlp-page li { margin: 0 !important; padding: 0; }
.avlp-page ul { list-style: none; }
.avlp-page a { text-decoration: none; }
.avlp-s { position: relative; padding: 96px var(--lp-g); background: var(--lp-cream); }
.avlp-answer, .avlp-cats, .avlp-ft, .avlp-nbc, .avlp-rev { background: #fff; }
.avlp-img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* type */
.avlp-h1, .avlp-h2, .avlp-prop h3 { color: var(--lp-ink); }
.avlp-h1 { font-size: 44px; font-weight: 700; line-height: 47px; letter-spacing: -0.44px; }
.avlp-h2 { font-size: 32px; font-weight: 700; line-height: 38px; letter-spacing: -0.32px; }
.avlp-eyebrow { font-size: 14px; font-weight: 600; line-height: 17px; letter-spacing: 0.28px; text-transform: uppercase; color: var(--lp-red); }
.avlp-label { font-size: 12px; font-weight: 600; line-height: 14px; letter-spacing: 0.12px; text-transform: uppercase; color: var(--lp-muted); }
.avlp-hw { display: flex; flex-direction: column; gap: 12px; }
.avlp-rule { display: block; width: 64px; height: 3px; background: var(--lp-gold); }

/* buttons: 49 tall (17 / 32 padding, 15 / 600 / 2 %, radius 3, outline 1.5 inside) */
.avlp-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.avlp-btn { display: inline-flex; align-items: center; justify-content: center; height: 49px; padding: 0 32px; border-radius: 3px; font-size: 15px; font-weight: 600; line-height: 15px; letter-spacing: 0.3px; text-transform: uppercase; white-space: nowrap; transition: background-color .15s, color .15s, box-shadow .15s; }
.avlp-btn--red { background: var(--lp-red); color: #fff !important; }
.avlp-btn--red:hover { background: var(--lp-ink); }
.avlp-btn--outline { background: transparent; color: var(--lp-ink) !important; outline: 1.5px solid var(--lp-ink); outline-offset: -1.5px; }
.avlp-btn--outline:hover { background: var(--lp-ink); color: #fff !important; }
.avlp-btn--black { background: var(--lp-ink); color: #fff !important; padding: 0 30px; }
.avlp-btn--black:hover { background: var(--lp-red); }
.avlp-btn--white { background: transparent; color: #fff !important; outline: 1.5px solid #fff; outline-offset: -1.5px; }
.avlp-btn--white:hover { background: #fff; color: var(--lp-ink) !important; }
.avlp-btn:focus-visible { outline: 2px solid var(--lp-red); outline-offset: 2px; }

/* S1 hero 1:15463 — 88 / 72, gap 64, copy 732 + visual 500 x 440 r16 */
.avlp-hero { display: flex; align-items: center; gap: 64px; padding-top: 88px; padding-bottom: 88px; }
.avlp-hero__copy { flex: 1 1 732px; min-width: 0; max-width: 732px; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.avlp-hero__visual { flex: 0 0 500px; height: 440px; border-radius: 16px; background: var(--lp-red); overflow: hidden; }
.avlp-chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 16px; border-radius: 999px; background: #fff; outline: 1px solid var(--lp-line); outline-offset: -1px; font-size: 13px; font-weight: 600; line-height: 16px; letter-spacing: 0.13px; text-transform: uppercase; }
.avlp-chip .avc-ic { width: 14px; height: 14px; color: var(--lp-red); flex: none; }
.avlp-hero__body { font-size: 17px; line-height: 26px; color: var(--lp-muted); }
.avlp-trust { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 21px; color: var(--lp-muted); }
.avlp-trust .avc-ic { width: 16px; height: 16px; color: var(--lp-navy); flex: none; }

/* answer 1:15483 — white, 40 / 72, gap 16, 20 / 30 ink */
.avlp-answer { display: flex; flex-direction: column; gap: 16px; padding-top: 40px; padding-bottom: 40px; }
.avlp-answer p { font-size: 20px; line-height: 30px; }

/* S2 relevance 1:15486 — copy 792 (gap 20, 17 / 27 ink) + locator 440 x 300 r16, centred */
.avlp-rel { display: flex; align-items: center; gap: 64px; }
.avlp-rel__copy { flex: 1 1 792px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.avlp-prose { display: flex; flex-direction: column; gap: 20px; }
.avlp-prose p { font-size: 17px; line-height: 27px; }
.avlp-map { position: relative; overflow: hidden; border-radius: 16px; background: var(--lp-navy); outline: 1px solid var(--lp-line); outline-offset: -1px; }
.avlp-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.avlp-map--loc { flex: 0 0 440px; height: 300px; }

/* S3 categories 1:15492 — gap 40; grid 4 x 298, gap 20; card cream 1 px inside r16, tile 128, body 20 / 22 / 22, gap 8 */
.avlp-cats { display: flex; flex-direction: column; gap: 40px; }
.avlp-cats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 298px)); gap: 20px; align-items: start; }
.avlp-cat { display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: var(--lp-cream); outline: 1px solid var(--lp-line); outline-offset: -1px; color: var(--lp-ink); }
.avlp-cat__tile { display: block; height: 128px; background: var(--lp-ink); }
.avlp-cat__b { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; }
.avlp-cat__t { font-size: 22px; font-weight: 700; line-height: 26px; }
.avlp-cat__x { font-size: 14px; line-height: 21px; color: var(--lp-muted); }
.avlp-cat__l { font-size: 13px; font-weight: 600; line-height: 13px; letter-spacing: 0.26px; text-transform: uppercase; color: var(--lp-red); }
.avlp-cat:hover .avlp-cat__l { text-decoration: underline; }

/* S4 why 1:15539 — grid 3 x 405, gap 20; card white 1 px inside r16 p26 gap 12; disc 44 red; 20 / 24 + 15 / 23 */
.avlp-why { display: flex; flex-direction: column; gap: 40px; }
.avlp-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 405px)); gap: 20px; }
.avlp-prop { display: flex; flex-direction: column; gap: 12px; padding: 26px; min-height: 190px; border-radius: 16px; background: #fff; outline: 1px solid var(--lp-line); outline-offset: -1px; }
.avlp-disc { width: 44px; height: 44px; border-radius: 50%; background: var(--lp-red); display: flex; align-items: center; justify-content: center; flex: none; }
.avlp-disc .avc-ic { width: 20px; height: 20px; color: #fff; }
.avlp-prop h3 { font-size: 20px; font-weight: 700; line-height: 24px; }
.avlp-prop p { font-size: 15px; line-height: 23px; color: var(--lp-muted); }

/* S5 first-time 1:15574 — white, gap 56; left 740 (gap 18, 17 / 27); checklist 500 cream r16 p30 / 32 gap 16 */
.avlp-ft { display: flex; align-items: flex-start; gap: 56px; }
.avlp-ft__l { flex: 1 1 740px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.avlp-ft__body { font-size: 17px; line-height: 27px; }
.avlp-check { flex: 0 0 500px; display: flex; flex-direction: column; gap: 16px; padding: 30px 32px; border-radius: 16px; background: var(--lp-cream); outline: 1px solid var(--lp-line); outline-offset: -1px; }
.avlp-check ul { display: flex; flex-direction: column; gap: 16px; }
.avlp-check li { display: flex; align-items: center; gap: 12px; font-size: 16px; line-height: 22px; }
.avlp-tick { flex: none; width: 22px; height: 22px; display: block; }
.avlp-tick svg { display: block; width: 100%; height: 100%; }

/* S6 directions 1:15603 — map 792 x 460 r16 + info 456 (gap 20) */
.avlp-dir { display: flex; align-items: flex-start; gap: 48px; }
.avlp-map--dir { flex: 1 1 792px; min-width: 0; height: 460px; }
.avlp-dir__info { flex: 0 0 456px; display: flex; flex-direction: column; gap: 20px; }
.avlp-h2--dir { font-size: 28px; line-height: 34px; letter-spacing: -0.28px; }
.avlp-nap { display: flex; flex-direction: column; gap: 4px; }
.avlp-nap__a { font-size: 17px; font-weight: 600; line-height: 26px; }
.avlp-nap__p { font-size: 15px; font-weight: 600; line-height: 23px; color: var(--lp-red) !important; }
.avlp-hours { display: flex; align-items: center; gap: 10px; min-height: 45px; padding: 12px 16px; border-radius: 10px; background: #fff; outline: 1px solid var(--lp-line); outline-offset: -1px; font-size: 14px; line-height: 21px; color: var(--lp-muted); }
.avlp-hours__dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #2E9E5B; }
.avlp-hours__dot.is-closed { background: var(--lp-red); }
.avlp-transit { display: flex; flex-direction: column; gap: 8px; }
.avlp-transit ul { display: flex; flex-direction: column; gap: 8px; }
.avlp-transit li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 22px; }
.avlp-transit .avc-ic { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--lp-navy); }
.avlp-parking { padding: 10px 16px; border-radius: 10px; background: var(--lp-cream); outline: 1px solid var(--lp-line); outline-offset: -1px; font-size: 13px; line-height: 20px; color: var(--lp-muted); }
.avlp-btns--sm .avlp-btn { height: 44px; padding: 0 28px; font-size: 14px; line-height: 14px; letter-spacing: 0.28px; }
.avlp-dir .avlp-btn--outline { background: var(--lp-cream); }
.avlp-dir .avlp-btn--outline:hover { background: var(--lp-ink); }

/* S7 neighbourhood 1:15635 — white, gap 24, centred rule + 720 column (gap 20, 17 / 28 ink), lateral cream r12 */
.avlp-nbc { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.avlp-nbc__col { width: 100%; max-width: 720px; display: flex; flex-direction: column; gap: 20px; }
.avlp-nbc__col > .avlp-h2 { text-align: center; }
.avlp-nbc .avlp-prose p { line-height: 28px; }
.avlp-lateral { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-radius: 12px; background: var(--lp-cream); outline: 1px solid var(--lp-line); outline-offset: -1px; color: var(--lp-navy) !important; font-size: 15px; font-weight: 600; line-height: 23px; }
.avlp-lateral .avc-ic { flex: none; width: 18px; height: 18px; color: var(--lp-navy); }
.avlp-lateral:hover span { text-decoration: underline; }

/* 15 FAQ 1:15646 — 96 / 80, gap 64; heading 380 (gap 14); accordion 836 white 1 px r8; rows 24 / 28, open gap 14 */
.avlp-faq { display: flex; align-items: flex-start; gap: 64px; padding-left: max(80px, calc((100% - 1280px) / 2)); padding-right: max(80px, calc((100% - 1280px) / 2)); overflow: hidden; }
.avlp-faq__contour { position: absolute; z-index: 0; left: calc(50% - 1013px); top: -232px; width: 585.02px; height: 1216.91px; background: #fff; opacity: .25; pointer-events: none; -webkit-mask: url("img/home-faq-contour.svg") no-repeat 0 0 / 100% 100%; mask: url("img/home-faq-contour.svg") no-repeat 0 0 / 100% 100%; }
.avlp-faq__head, .avlp-faq__acc { position: relative; z-index: 1; }
.avlp-faq__head { flex: 0 0 380px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.avlp-eyebrow--faq { font-size: 13px; line-height: 16px; letter-spacing: 1.56px; }
.avlp-h2--faq { max-width: 340px; font-size: 36px; line-height: 47px; letter-spacing: -0.36px; } /* 1:15656 wraps after the comma */
.avlp-faq__sub { font-size: 18px; line-height: 28px; color: var(--lp-muted); }
.avlp-faq__acc { flex: 1 1 836px; min-width: 0; }
.avlp-page .avlp-acc { background: #fff; border: 0; outline: 1px solid var(--lp-line); outline-offset: -1px; border-radius: 8px; overflow: hidden; }
.avlp-page .avlp-acc .avc-faq__item + .avc-faq__item { border-top: 0; box-shadow: inset 0 1px 0 var(--lp-line); } /* frame: 1 px top stroke inside the 72 px row */
.avlp-page .avlp-acc .avc-faq__btn, .avlp-page .avlp-acc .avc-faq__item:not(.is-open) .avc-faq__btn { padding: 24px 28px !important; gap: 16px; font-family: Krub, sans-serif !important; font-size: 20px !important; font-weight: 700 !important; line-height: 24px !important; letter-spacing: 0 !important; color: var(--lp-ink) !important; text-transform: none !important; text-align: left; }
.avlp-page .avlp-acc .is-open > .avc-faq__q .avc-faq__btn { padding-bottom: 0 !important; }
.avlp-page .avlp-acc .avc-faq__btn:hover { color: var(--lp-red) !important; }
.avlp-page .avlp-acc .avc-faq__ic { width: 22px; height: 22px; align-items: center; justify-content: center; }
.avlp-page .avlp-acc .avc-faq__ic .avc-ic, .avlp-page .avlp-acc .avc-faq__ic svg { width: 22px; height: 22px; }
.avlp-page .avlp-acc .avc-ic--plus { color: var(--lp-ink); } /* 1:15664 closed + ink, open − red */
.avlp-page .avlp-acc .avc-faq__inner { padding: 14px 28px 24px; font-size: 16px; line-height: 25px; color: var(--lp-muted); }

/* S9 reviews 1:15702 — white, gap 32; 3 cards cream dashed r16 p26 gap 16 (bars 12 r6); LOVE prompt #151515 r12 */
.avlp-rev { display: flex; flex-direction: column; gap: 32px; }
.avlp-rev__note { font-size: 14px; line-height: 21px; color: var(--lp-muted); }
.avlp-rev__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.avlp-review { display: flex; flex-direction: column; gap: 16px; padding: 25px; border-radius: 16px; background: var(--lp-cream); border: 1px dashed var(--lp-line); }
.avlp-review .avlp-label { font-size: 11px; line-height: 13px; letter-spacing: 0.11px; }
.avlp-bar { display: block; height: 12px; border-radius: 6px; background: var(--lp-line); }
.avlp-review__g { font-size: 13px; line-height: 20px; color: var(--lp-muted); }
.avlp-love { display: flex; align-items: center; gap: 12px; padding: 18px 24px; border-radius: 12px; background: var(--lp-ink); color: #fff !important; }
.avlp-love .avc-ic { flex: none; width: 20px; height: 20px; color: var(--lp-red); }
.avlp-love__t { flex: 1 1 auto; min-width: 0; font-size: 16px; font-weight: 600; line-height: 25px; }
.avlp-love__j { flex: none; font-size: 14px; font-weight: 600; line-height: 14px; letter-spacing: 0.28px; text-transform: uppercase; color: var(--lp-red); }
.avlp-love:hover .avlp-love__j { text-decoration: underline; }

/* S11 final CTA 1:15736 — #151515, 104 / 72, gap 24, centred; ava-contour rings at 25 % white */
.avlp-cta { display: flex; flex-direction: column; align-items: center; gap: 24px; padding-top: 104px; padding-bottom: 104px; background: var(--lp-ink); color: #fff; text-align: center; overflow: hidden; }
.avlp-cta > :not(.avlp-cta__ring) { position: relative; z-index: 1; }
.avlp-cta__ring { position: absolute; z-index: 0; width: 479.57px; height: 858.01px; background: #fff; pointer-events: none; -webkit-mask: url("img/ava-contour.svg") no-repeat 0 0 / 100% 100%; mask: url("img/ava-contour.svg") no-repeat 0 0 / 100% 100%; }
.avlp-cta__ring--r { left: calc(50% + 468px); top: -470px; }
.avlp-cta__ring--l { left: calc(50% - 971px); top: 36px; }
.avlp-cta__line { font-size: 13px; font-weight: 600; line-height: 16px; letter-spacing: 0.26px; text-transform: uppercase; color: var(--lp-red); }
.avlp-cta__h { font-size: 44px; font-weight: 700; line-height: 47px; letter-spacing: -0.44px; text-transform: uppercase; color: #fff; }
.avlp-cta__body { font-size: 18px; line-height: 27px; color: var(--lp-cream); }
.avlp-btns--c { justify-content: center; }
.avlp-cta__sub { font-size: 14px; line-height: 21px; color: var(--lp-gold); }

.avlp-sticky { display: none; }

/* laptop 1025–1439: the 1440 composition in the fluid box (fixed side columns shrink) */
@media (max-width: 1280px) {
	.avlp-hero__visual { flex-basis: 440px; height: 400px; }
	.avlp-rel__copy { flex-basis: 640px; }
	.avlp-check { flex-basis: 440px; }
	.avlp-dir__info { flex-basis: 400px; }
	.avlp-faq__head { flex-basis: 320px; }
}

/* tablet 768–1024: stacks the two-column bands, keeps 2-up grids */
@media (max-width: 1024px) {
	.avlp-page { --lp-g: 40px; }
	.avlp-faq { padding-left: 40px; padding-right: 40px; }
	.avlp-hero, .avlp-rel, .avlp-ft, .avlp-dir, .avlp-faq { flex-direction: column; align-items: stretch; }
	.avlp-hero__visual, .avlp-map--loc, .avlp-check, .avlp-dir__info, .avlp-faq__head { flex: none; width: 100%; }
	.avlp-hero__visual { height: 360px; order: -1; }
	.avlp-hero__copy, .avlp-rel__copy, .avlp-ft__l, .avlp-map--dir, .avlp-faq__acc { flex: none; max-width: none; }
	.avlp-map--dir { height: 380px; }
	.avlp-cats__grid, .avlp-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avlp-faq__contour, .avlp-cta__ring { display: none; }
}

/* mobile ≤ 767 — frame 1:15749 (20 px gutters, 48 / 20 bands) */
@media (max-width: 767px) {
	.avlp-page { --lp-g: 20px; }
	.avlp-s, .avlp-faq { padding: 48px 20px; }
	.avlp-h1 { font-size: 28px; line-height: 31px; letter-spacing: -0.28px; }
	.avlp-h2, .avlp-h2--faq { max-width: none; font-size: 24px; line-height: 29px; letter-spacing: -0.24px; }
	.avlp-eyebrow, .avlp-eyebrow--faq { font-size: 12px; line-height: 14px; letter-spacing: 0.24px; }
	.avlp-label, .avlp-review .avlp-label { font-size: 11px; line-height: 13px; letter-spacing: 0.11px; }
	.avlp-rule { width: 56px; }
	.avlp-btns { flex-direction: column; gap: 18px; width: 100%; }
	.avlp-btn, .avlp-btns--sm .avlp-btn { width: 100%; height: 44px; padding: 0 16px; font-size: 14px; line-height: 14px; letter-spacing: 0.28px; }
	.avlp-hero .avlp-btn--outline, .avlp-dir .avlp-btn--outline { background: var(--lp-cream); }

	/* S1 hero: 40 / 20 / 44, gap 18, no visual (D34) */
	.avlp-hero { padding: 40px 20px 44px; gap: 18px; }
	.avlp-hero__visual { display: none; }
	.avlp-hero__copy { gap: 18px; }
	.avlp-chip { height: 28px; padding: 0 14px; gap: 7px; font-size: 12px; line-height: 14px; letter-spacing: 0.12px; }
	.avlp-chip .avc-ic { width: 13px; height: 13px; }
	.avlp-hero__body { font-size: 16px; line-height: 24px; }
	.avlp-trust { font-size: 13px; line-height: 20px; align-items: flex-start; }
	.avlp-trust .avc-ic { width: 15px; height: 15px; margin-top: 2.5px; }

	/* answer: 28 / 20, gap 14, 16 / 24 */
	.avlp-answer { padding: 28px 20px; gap: 14px; }
	.avlp-answer p { font-size: 16px; line-height: 24px; }

	/* S2: stacked, gap 16, 16 / 25, locator 180 r14 */
	.avlp-rel { gap: 16px; }
	.avlp-rel__copy, .avlp-prose { gap: 16px; }
	.avlp-prose p { font-size: 16px; line-height: 25px; }
	.avlp-map { border-radius: 14px; }
	.avlp-map--loc { height: 180px; }

	/* S3: gap 20; horizontal cards 106 tall, tile 84, body 14 / 0 gap 4 */
	.avlp-cats { gap: 20px; }
	.avlp-cats .avlp-hw, .avlp-why .avlp-hw, .avlp-rev .avlp-hw { gap: 15px; }
	.avlp-cats__grid { grid-template-columns: 1fr; gap: 20px; }
	.avlp-cat { flex-direction: row; align-items: center; gap: 14px; min-height: 106px; padding-right: 18px; border-radius: 14px; }
	.avlp-cat__tile { flex: 0 0 84px; align-self: stretch; height: auto; }
	.avlp-cat__b { padding: 14px 0; gap: 4px; }
	.avlp-cat__t { font-size: 18px; line-height: 22px; }
	.avlp-cat__x { font-size: 13px; line-height: 18px; }
	.avlp-cat__l { font-size: 12px; line-height: 12px; letter-spacing: 0.24px; }

	/* S4: 2 x 163 gap 12; card p18 / 16 gap 8, disc 38, 15 / 19 + 12 / 17 */
	.avlp-why { gap: 16px; }
	.avlp-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
	.avlp-prop { padding: 18px 16px; gap: 8px; min-height: 0; border-radius: 14px; }
	.avlp-disc { width: 38px; height: 38px; }
	.avlp-disc .avc-ic { width: 17px; height: 17px; }
	.avlp-prop h3 { font-size: 15px; font-weight: 600; line-height: 19px; }
	.avlp-prop p { font-size: 12px; line-height: 17px; }

	/* S5: gap 18; eyebrow, H2, body 16 / 25, checklist (p22 / 20, gap 14, items 15 / 21 gap 10), then the button */
	.avlp-ft { flex-direction: column; gap: 18px; }
	.avlp-ft__l { display: contents; }
	.avlp-ft__body { font-size: 16px; line-height: 25px; }
	.avlp-check { order: 5; flex: none; width: 100%; padding: 22px 20px; gap: 14px; border-radius: 14px; }
	.avlp-check .avlp-label { font-size: 11px; line-height: 13px; }
	.avlp-check ul { gap: 14px; }
	.avlp-check li { align-items: flex-start; gap: 10px; font-size: 15px; line-height: 21px; }
	.avlp-tick { width: 20px; height: 20px; }
	.avlp-ft__btn { order: 6; }
	.avlp-ft__btn .avlp-btn { height: 49px; font-size: 15px; letter-spacing: 0.3px; }

	/* S6: gap 18; H2 23 / 28, NAP, hours, map 190, transit, parking (white), buttons */
	.avlp-dir { flex-direction: column; gap: 18px; }
	.avlp-dir__info { display: contents; }
	.avlp-h2--dir { font-size: 23px; line-height: 28px; letter-spacing: -0.23px; order: 1; }
	.avlp-nap { order: 2; gap: 3px; }
	.avlp-nap__a { font-size: 16px; line-height: 25px; }
	.avlp-nap__p { font-size: 14px; line-height: 21px; }
	.avlp-hours { order: 3; padding: 11px 14px; gap: 9px; font-size: 13px; line-height: 20px; }
	.avlp-map--dir { order: 4; flex: none; width: 100%; height: 190px; }
	.avlp-transit { order: 5; }
	.avlp-transit li { gap: 9px; font-size: 14px; line-height: 20px; }
	.avlp-transit .avc-ic { width: 15px; height: 15px; margin-top: 2.5px; }
	.avlp-parking { order: 6; padding: 10px 14px; background: #fff; font-size: 12px; line-height: 18px; }
	.avlp-dir .avlp-btns { order: 7; }

	/* S7: left-aligned, gap 16; 16 / 25; lateral p14 / 16, 14 / 19 */
	.avlp-nbc { align-items: stretch; gap: 16px; }
	.avlp-nbc__col { max-width: none; gap: 16px; }
	.avlp-nbc__col > .avlp-h2 { text-align: left; }
	.avlp-nbc .avlp-prose p { line-height: 25px; }
	.avlp-lateral { padding: 14px 16px; font-size: 14px; line-height: 19px; }

	/* S8 FAQ: gap 14, no sub / button (D34), accordion r10 without border, rows p18 gap 10, 15 / 20 + 13 / 20 */
	.avlp-faq { flex-direction: column; gap: 14px; }
	.avlp-faq__head { flex: none; gap: 14px; }
	.avlp-faq__sub, .avlp-faq__head .avlp-btn { display: none; }
	.avlp-page .avlp-acc { outline: 0; border-radius: 10px; }
	.avlp-page .avlp-acc .avc-faq__btn, .avlp-page .avlp-acc .avc-faq__item:not(.is-open) .avc-faq__btn { padding: 18px !important; gap: 12px; font-size: 15px !important; font-weight: 600 !important; line-height: 20px !important; }
	.avlp-page .avlp-acc .is-open > .avc-faq__q .avc-faq__btn { padding-bottom: 0 !important; }
	.avlp-page .avlp-acc .avc-faq__ic, .avlp-page .avlp-acc .avc-faq__ic .avc-ic, .avlp-page .avlp-acc .avc-faq__ic svg { width: 20px; height: 20px; }
	.avlp-page .avlp-acc .avc-faq__inner { padding: 10px 18px 18px; font-size: 13px; line-height: 20px; }

	/* S9 reviews: gap 16; 2 cards (D34) p18 gap 12, 2 bars 10 r5; no buttons (D34); LOVE p16 gap 10, 14 / 19 */
	.avlp-rev { gap: 16px; }
	.avlp-rev__note { font-size: 13px; line-height: 19px; }
	.avlp-rev__cards { grid-template-columns: 1fr; gap: 16px; }
	.avlp-review { padding: 17px; gap: 12px; border-radius: 14px; }
	.avlp-review:nth-child(3), .avlp-review .avlp-bar:nth-of-type(3), .avlp-rev__btns { display: none; }
	.avlp-bar { height: 10px; border-radius: 5px; }
	.avlp-review__g { font-size: 12px; line-height: 18px; }
	.avlp-love { padding: 16px; gap: 10px; flex-wrap: wrap; }
	.avlp-love__t { flex-basis: calc(100% - 30px); font-size: 14px; line-height: 19px; }
	.avlp-love__j { margin-left: 30px; font-size: 14px; line-height: 19px; }

	/* S11 CTA: 56 / 20, gap 18; 12 / 14 line, 32 / 35 H2, 16 / 24 body, stacked buttons, 13 / 20 gold */
	.avlp-cta { padding: 56px 20px; gap: 18px; }
	.avlp-cta__line { font-size: 12px; line-height: 14px; letter-spacing: 0.24px; }
	.avlp-cta__h { font-size: 32px; line-height: 35px; letter-spacing: -0.32px; }
	.avlp-cta__body { font-size: 16px; line-height: 24px; }
	.avlp-cta__sub { font-size: 13px; line-height: 20px; }

	/* sticky CTA bar 1:16030: white, 1 px #DCD8CA top, p12 / 16, gap 10, buttons 38 r4 */
	.avlp-sticky { display: flex; gap: 10px; position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; padding: 12px 16px; background: #fff; box-shadow: inset 0 1px 0 var(--lp-line, #DCD8CA); }
	.avlp-sticky .avlp-btn { flex: 1 1 0; height: 38px; padding: 0 8px; border-radius: 4px; font-size: 14px; line-height: 14px; letter-spacing: 0.28px; }
	.avlp-sticky .avlp-btn--outline { background: #EDEBE1; }
	body:has(.avlp-sticky) { padding-bottom: 64px; }
}

/* M-LOCAL (D44): mobile-frame copy blocks (ava-cd / ava-cm) keep the prose column's flex gap; the mobile LOVE line carries its own arrow (1:16019). */
.avlp-prose > .ava-cd { display: contents; }
.avlp-prose > .ava-cm { display: none; }
@media (max-width: 767px) {
	.avlp-prose > .ava-cd { display: none; }
	.avlp-prose > .ava-cm { display: contents; }
	.avlp-love__j { display: none; }
	/* M-LOCAL section heights to 1:15749 at 390 */
	.avlp-cats .avlp-hw { gap: 20px; } /* 1:15811 -> 1:15812: 48 -> 82 */
	.avlp-why .avlp-hw, .avlp-rev .avlp-hw { gap: 16px; } /* 1:15856 -> 1:15857, 1:16003 -> 1:16004: 48 -> 78 */
	.avlp-why__grid { grid-template-columns: repeat(2, minmax(0, 163px)); } /* 1:15858: 163 cards, gap 12, wrap */
	.avlp-page .avlp-parking { padding: 10px 14px; } /* 1:15941 p=10/14 (beats .avlp-page p { padding: 0 }) */
	.avlp-page .avlp-acc .avc-faq__btn, .avlp-page .avlp-acc .avc-faq__item:not(.is-open) .avc-faq__btn { gap: 0; } /* 1:15962: text 294 + icon 20 = 314 */
}

/* LANE-M-LEARN2 (28 Sep) - desktop parking box 1:15628 in 1:15417: 456 x 40, padding 10/16/10/16 (text 424 x 20).
   .avlp-page p { padding: 0 } beat .avlp-parking; mobile keeps its 10/14 (1:15941). */
@media (min-width: 768px) {
  .avlp-page .avlp-parking { padding: 10px 16px; }
}
/* /LANE-M-LEARN2 */

/* FIXROUND-brand-local (29 Sep) - S6 hours box 1:15610 (1440): padding 12/16; 1:15922 (390): 11/14.
   .avlp-page p { padding: 0 } (0,1,1) outranked .avlp-hours (0,1,0) at both widths, same cause as the parking fix. */
.avlp-page p.avlp-hours { padding: 12px 16px; }
@media (max-width: 767px) {
  .avlp-page p.avlp-hours { padding: 11px 14px; }
}
/* interaction (29 Sep scan): category tiles no longer turn Astra #045CB4 on hover/focus; the phone link swaps red -> ink;
   tiles, lateral link, phone and LOVE card get the page's 2px red focus ring (buttons already have it) */
.avlp-page a.avlp-cat:hover, .avlp-page a.avlp-cat:focus { color: var(--lp-ink); }
.avlp-page a.avlp-nap__p:hover { color: var(--lp-ink) !important; }
.avlp-page a.avlp-cat:focus-visible, .avlp-page a.avlp-lateral:focus-visible, .avlp-page a.avlp-nap__p:focus-visible, .avlp-page a.avlp-love:focus-visible { outline: 2px solid var(--lp-red); outline-offset: 2px; }
/* FAQ: closed rows never turned red on hover - line 135's :not(.is-open) selector (0,5,0) + !important ink beat the
   line 137 hover (0,4,0); only the open first row showed the ink -> red swap */
.avlp-page .avlp-acc .avc-faq__item:not(.is-open) .avc-faq__btn:hover, .avlp-page .avlp-acc .avc-faq__item.is-open .avc-faq__btn:hover { color: var(--lp-red) !important; }
/* /FIXROUND-brand-local */
/* >>> AUDIT-delivery-local (29 Sep) */
/* DL5: the phone link was red #FF4438 on cream (2.86:1) - ink text with the red underline as the accent; hover turns the underline ink */
html body .avlp-page a.avlp-nap__p { color: var(--lp-ink) !important; text-decoration: underline; text-decoration-color: var(--lp-red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
html body .avlp-page a.avlp-nap__p:hover { color: var(--lp-ink) !important; text-decoration-color: var(--lp-ink); }
/* DL10: 21 px tall at 375 - 25 px hit area, same layout */
html body .avlp-page a.avlp-nap__p { padding: 2px 0; margin: -2px 0; }
/* RC8 (30 Sep): at <= 767 the hero and sticky outline buttons pin their cream fill (.avlp-hero / .avlp-sticky .avlp-btn--outline, 0,2,0,
   later than the 0,2,0 :hover above), so hover and a tap (sticky hover) left the white hover label on cream (1.2:1) - restore the
   button's own hover fill (ink, white label); rest and keyboard focus keep ink on cream + the red ring */
html body .avlp-page .avlp-btn--outline:is(:hover,:active), html body .avlp-sticky .avlp-btn--outline:is(:hover,:active) { background: var(--lp-ink); color: #fff !important; }
/* HOVER-INK (30 Sep): FAQ questions stay ink on hover / tap (the FIXROUND red above was 3.42:1 at 15px and stuck after a tap on
   phones); the red is the 2px underline from ava-content.css HOVER-INK, pointer devices only */
html body .avlp-page .avlp-acc .avc-faq__item .avc-faq__q .avc-faq__btn:is(:hover,:focus) { color: var(--lp-ink) !important; } /* (0,6,2) > FIXROUND (0,6,0) */
/* <<< AUDIT-delivery-local */

/* >>> AUDIT2 2 Oct (dlbd): local store pages, data cases the 28 Sep pass did not cover */
/* LP02 hero chip (1:15469 / 1:15790): on the clone pages the chip text is the long desktop line ("In Upper East Side · 1280 1st Ave,
   Upper East Side", no _m copy), which wraps at <=767 (Upper East Side at 390, the two-word names at 375) inside the fixed 28 px
   pill, so the second line sat on the pill's bottom stroke. The pill now grows with its text; one-line chips keep 32 / 28 px. */
.avlp-chip { height: auto; min-height: 32px; padding-top: 8px; padding-bottom: 8px; max-width: 100%; }
@media (max-width: 767px) {
	.avlp-chip { height: auto; min-height: 28px; padding-top: 7px; padding-bottom: 7px; }
}
/* <<< AUDIT2 2 Oct (dlbd) */

/* >>> QA 6 Oct AVA-003 (B2): the local pages' reviews section shows the live Google rating or no rating at all (the
   "Review - pending integration" placeholder cards and the developer note are gone). Without the rating the section keeps
   only the LOVE CLUB strip, so its band is shorter; with it, one rating line sits under the heading. */
.avlp-rev--club { padding-top: 48px; padding-bottom: 48px; }
.avlp-rev__live { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; line-height: 24px; color: var(--lp-ink); }
.avlp-rev__live .avc-ic { width: 18px; height: 18px; color: var(--lp-red); fill: var(--lp-red); }
.avlp-rev__live strong { font-size: 18px; font-weight: 700; }
.avlp-rev__live span { color: var(--lp-muted); }
@media (max-width: 767px) {
	.avlp-rev--club { padding-top: 32px; padding-bottom: 32px; }
}
/* <<< QA 6 Oct AVA-003 (B2) */
