/* Page-only structure. Typography, buttons and global shell reuse existing CSS. */
.ls-skip { position:fixed; top:8px; left:8px; z-index:100; padding:12px 18px; background:#fff; color:#17171b; transform:translateY(-160%); }
.ls-skip:focus { transform:none; }
.local-search-page main { overflow:clip; }
.local-search-page main section { scroll-margin-top:100px; }
.ls-hero { padding-top:88px; }
/* Commercial pages retain route hierarchy, but do not display a breadcrumb row. */
.ls-breadcrumb { display:none; }
.ls-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:70px; align-items:start; }
.local-search-page main h2 { max-width:24ch; letter-spacing:-.025em; }
.local-search-page main p { font-size:1.08rem; }
.local-search-page main .kicker { font-size:.84rem; letter-spacing:.08em; }
.ls-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-weight:600; text-decoration:none; text-underline-offset:6px; }
.ls-link span { transition:transform .18s ease; }
.ls-link:hover span { transform:translate(2px,-2px); }
.ls-link:is(:hover,:focus-visible) { text-decoration:underline; text-decoration-color:currentColor; }
.ls-decision-visual { background:var(--charcoal); color:var(--on-dark); padding:34px; border-top:4px solid var(--pink); }
.ls-search-symbol { color:var(--pink); width:70px; margin-bottom:20px; }
.ls-search-symbol svg { fill:none; stroke:currentColor; stroke-width:3; }
.ls-decision-visual ol { margin:0; padding:0; list-style:none; }
.ls-decision-visual li { display:flex; gap:20px; align-items:center; border-top:1px solid var(--line-dark); padding:16px 0; font-size:1.1rem; }
.ls-step-index { color:var(--on-dark-soft); font-size:.8rem; }
.ls-step-arrow { margin-left:auto; color:var(--pink); }
.ls-decision-visual li:last-child { color:var(--acid); }
.ls-queries p { border-bottom:1px solid var(--line); padding:12px 0; margin:0; color:var(--ink); }
.ls-queries p span { color:var(--pink); margin-right:20px; font-size:1.5rem; }
.ls-journey { display:flex; justify-content:space-between; gap:15px; list-style:none; padding:12px 0; margin:44px 0 32px; font-weight:600; }
.ls-journey li { flex:1; display:flex; justify-content:space-between; gap:10px; }
.ls-journey li:not(:last-child)::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-right) center/contain no-repeat; mask:var(--icon-arrow-right) center/contain no-repeat; color:var(--pink); }
.local-search-page .ls-statement { font-size:clamp(1.2rem,2vw,1.5rem); color:var(--ink); max-width:48ch; line-height:1.4; margin-bottom:0; }
.ls-dark { background:var(--charcoal); color:var(--on-dark); }
.ls-dark p { color:var(--on-dark-soft); }
.local-search-page .ls-dark .ls-statement { color:var(--on-dark); }
.ls-factors { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 30px; padding:0; margin:38px 0; }
.ls-factors li { border-top:1px solid var(--line-dark); padding:20px 0; font-size:1.25rem; }
.ls-factors span { display:block; color:var(--pink); font-size:.75rem; margin-bottom:12px; }
.ls-management { display:grid; grid-template-columns:1fr 1fr; gap:0 50px; margin:40px 0 28px; }
.ls-management article { border-top:1px solid var(--line); padding:28px 0; }
.ls-number { color:var(--pink); display:block; margin-bottom:16px; font-size:.85rem; }
.ls-management p { line-height:1.9; }
.ls-restaurant { background:var(--paper-soft); }
.local-search-page .ls-editorial { font-family:'Instrument Serif',serif; font-style:italic; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.4; color:var(--ink); margin-bottom:28px; }
.ls-signals { margin:40px 0; }
.ls-signals > div { display:grid; grid-template-columns:1fr 2fr; gap:30px; border-top:1px solid var(--line); padding:24px 0; }
.ls-signals dt { font-size:.85rem; font-weight:600; letter-spacing:.04em; }
.ls-signals dd { margin:0; color:var(--ink-soft); }
.ls-measure-note { border-left:3px solid var(--pink); padding-left:26px; }
.ls-measure-note p + p { margin-top:20px; }
.ls-checks { list-style:none; padding:0; margin:0; }
.ls-checks li { position:relative; padding:15px 0 15px 28px; border-top:1px solid var(--line-dark); }
.ls-checks li::before { content:"✓"; color:var(--pink); position:absolute; left:0; }
.ls-location { border-top:1px solid var(--line-dark); margin-top:50px; padding-top:32px; display:flex; gap:32px; justify-content:space-between; }
.ls-location .ls-link { display:flex; text-decoration-color:var(--on-dark-soft); }
.ls-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:40px; }
.ls-related article { border-top:2px solid var(--pink); padding-top:25px; }
.ls-related .ls-link { font-size:.94rem; }
/* Local Search's related reading is a quiet editorial cluster, not a ruled list. */
.ls-related-editorial { gap:48px; margin-top:52px; }
.ls-related-editorial article { border:0; padding:0; display:flex; flex-direction:column; align-items:flex-start; }
.ls-related-editorial h3 { max-width:20ch; margin-bottom:14px; }
.ls-related-editorial p { max-width:28ch; margin-bottom:20px; }
.ls-related-editorial .ls-link { margin-top:auto; }
.ls-faq details { border-top:1px solid var(--line); }
.ls-faq details:last-child { border-bottom:1px solid var(--line); }
.ls-faq summary { display:flex; justify-content:space-between; gap:22px; cursor:pointer; padding:22px 0; font-size:1.1rem; font-weight:600; list-style:none; }
.ls-faq summary::-webkit-details-marker { display:none; }
.ls-faq summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-plus) center/contain no-repeat; mask:var(--icon-plus) center/contain no-repeat; color:var(--pink); }
.ls-faq details[open] summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-minus) center/contain no-repeat; mask:var(--icon-minus) center/contain no-repeat; }
.ls-faq details p { padding-bottom:20px; }
.ls-final h2 { font-size:clamp(2rem,3.8vw,3.1rem); }
@media(max-width:800px) {
  .ls-split { grid-template-columns:1fr; gap:36px; }
  .ls-hero { padding-top:68px; }
  .ls-factors { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ls-related { grid-template-columns:1fr; }
  .ls-related-editorial { gap:44px; margin-top:36px; }
  .ls-location { flex-direction:column; }
}
@media(max-width:520px) {
  .ls-management { grid-template-columns:1fr; }
  .ls-decision-visual { padding:26px; }
  .ls-signals > div { grid-template-columns:1fr; gap:10px; }
  .ls-journey { flex-wrap:wrap; font-size:.8rem; gap:18px; }
  .ls-journey li { flex:0 0 auto; gap:15px; }
  .local-search-page main .btn { padding:15px 20px; font-size:.9rem; }
}
@media(prefers-reduced-motion:reduce) {
  .local-search-page { scroll-behavior:auto; }
  html:has(.local-search-page) { scroll-behavior:auto; }
  .local-search-page *, .local-search-page *::before, .local-search-page *::after { transition:none!important; animation:none!important; }
}
/* Only the Local Search decision illustration; no shared shell/reference changes. */
.local-search-page:not(.paid-media-page):not(.social-content-page):not(.influencer-page) .ls-decision-visual{border:1px solid #454547;border-radius:12px}
