Extract apartment listing details from this HTML. URL: {url} Respond ONLY with valid JSON, no markdown, no explanation. { "address": "full street address including unit number", "hood": "neighborhood exactly as stated on the page — do not infer or guess. If explicitly named use that, otherwise use the smallest named SF neighborhood from the address only (e.g. Pacific Heights, not Lower Pacific Heights or Polk Gulch)", "price": "monthly rent as string e.g. $2,395/mo — look for Rent:, $/mo, per month, rent price", "beds": "bedrooms and bathrooms e.g. 2bd / 1ba — look for bed, bath, BR, BA, studio, loft", "url": "{url}", "description": "the full verbatim written description from the listing if one exists (Welcome to..., About this home, Description section etc). Preserve it exactly as written.", "notes": "3-4 sentences covering: square footage, pet policy, parking, laundry, lease terms, available date, open house dates, any fees. Separate from the description.", "feat_light": 1 or 0, "feat_hw": 1 or 0, "feat_dw": 1 or 0, "feat_ferry": 0, "feat_access": 1 or 0, "feat_outdoor": 1 or 0, "feat_tub": 1 or 0, "feat_gas": 1 or 0, "photos": ["list of full https:// image URLs for listing photos. Look specifically in the __NEXT_DATA__ JSON script tag for photo URLs containing zillowstatic.com or similar CDN domains. Also check img src attributes. Return up to 20 photo URLs."] } Feature detection: - feat_light: windows, light, bright, sunny, bay window, abundant natural light - feat_hw: hardwood, wood floors, oak, parquet - feat_dw: dishwasher - feat_ferry: always 0 - feat_access: ground floor, first floor, elevator, lift, no stairs - feat_outdoor: balcony, patio, deck, garden, yard, terrace, roof - feat_tub: bathtub, soaking tub, shower-bathtub combo - feat_gas: gas stove, gas range, gas oven If a field cannot be determined, use empty string for text fields and 0 for feature flags. HTML: {html}