Basmayor Law — Business, Property, Estate & Family Counsel
Private review controls — not part of the website

Naga City · Makati City

Business · Property · Estate · Family Counsel

For matters requiring precision, discretion, and resolve.

Clients work directly with counsel, with advice grounded in the facts, the law, and the practical consequences.

Consultations are by prior appointment. Meeting arrangements are confirmed by the office.

Areas of counsel

The practice advises and represents clients across seven areas, from planning and transactions to disputes in court.

01

Litigation & Dispute Resolution

Civil, commercial, property, corporate, estate, and family disputes in court and arbitration, as well as negotiation and pre-litigation work.

02

Property Practice

Property acquisitions, sales, and transfers, including registration and tax-declaration work, as well as disputes involving possession, leases, and foreclosure.

03

Estate Planning & Succession

Estate planning and structuring, the settlement and extrajudicial settlement of estates, and succession arrangements for individuals and families.

04

Corporate & Commercial

Corporate housekeeping and governance, board and stockholder documentation, contract review, corporate acquisitions of property, and commercial and transaction documents.

05

Family Law

Nullity of marriage, separation of property, and adoption, with related family and succession matters, handled with discretion and regard for the interests of spouses and children.

06

Arbitration & Cross-Border

International arbitration experience, including representation before the Badan Arbitrase Nasional Indonesia, and cross-border matters.

07

Policy & Legal Research

Legal and policy research, regulatory mapping, comparative-law review, and research memoranda for institutions, businesses, and private clients.

The full practice index
More than ten years of litigation experience, with advice grounded in careful analysis and practical judgment.

Admitted 2015

Philippine Bar

LL.M., CTEP

Postgraduate & certification

Naga · Makati

By appointment

Careful legal work. Clear advice.

Approach

01

Rigor. Each matter is prepared with close attention to the facts, the record, and the applicable law.

02

Integrity. Advice is candid and independent, including what remains uncertain and what the law may realistically achieve.

03

Care. Clients deal directly with counsel, and each matter is handled with attention to their objectives and circumstances.

Read the approach

Counsel

Atty. Michelle Villa-Real Basmayor, LL.M., CTEP

Founder & Managing Counsel

Atty. Michelle Villa-Real Basmayor, LL.M., CTEP, Founder and Managing Counsel of Basmayor Law.

Atty. Michelle Villa-Real Basmayor, LL.M., CTEP

Founder & Managing Counsel

Offices

Naga City — by appointment
Makati City — by appointment

With more than ten years of litigation experience, she represents clients in civil, commercial, property, corporate, estate, and family disputes, from courtroom advocacy and arbitration to negotiation and pre-litigation strategy.

Beyond the courtroom, she advises on contracts, corporate structuring and housekeeping, property acquisitions, title transfers, estate planning, and succession. Admitted to the Philippine Bar in 2015 after passing the 2014 Bar Examinations on her first take, she pairs disciplined advocacy with business-minded judgment.

Professional chronology

i

Manalo Law — Bonifacio Global City, Taguig

Began her career in Metro Manila.

ii

House of Representatives

Political Affairs Officer III.

iii

Corporate Secretary

For several Metro Manila corporations.

iv

SHAPE Asia

Policy Consultant: a regional collaborative-learning network advancing healthier food environments and food policy across Asia.

v

Basmayor Law

After a decade of practice in Metro Manila, she established Basmayor Law and now advises and represents clients in Makati City and Naga City.

Selected credentials

LL.M.

Master of Laws — International Business and Finance Law

Golden Gate University School of Law · San Francisco, USA — Highest Honors

CTEP

Chartered Trust and Estate Planner

Professional certification

J.D.

Juris Doctor

University of Nueva Caceres College of Law

B.A.

Bachelor of Arts in Political Science

University of the Philippines Diliman

Bar

Admitted to the Philippine Bar, 2015

Passed the 2014 Bar Examinations on the first take

Legal education

Atty. Basmayor teaches law and brings academic discipline into her legal practice. Her subjects have included:

Corporation Law Property Law Succession Special Proceedings Statutory Construction Administrative Law Election Law Law on Public Officers Clinical Legal Education AI and Law

Cross-border dispute work

International arbitration experience.

Her practice includes international arbitration experience, including representation before the Badan Arbitrase Nasional Indonesia (the BANI Arbitration Center), with Jakarta, Indonesia as seat of arbitration.

BANI Arbitration Center

Badan Arbitrase Nasional Indonesia

Jakarta, Indonesia

Seat of arbitration

These are the matters Basmayor Law handles.

01 Litigation & Dispute Resolution Open

Civil, commercial, property, corporate, estate, and family disputes in court and arbitration, as well as negotiation and pre-litigation work.

  • Trial and appellate advocacy
  • Pre-litigation assessment and demand
  • Negotiation and settlement
  • Arbitration, including cross-border matters
02 Property Practice Open

Property acquisitions, sales, and transfers, including registration and tax-declaration work, as well as disputes involving possession, leases, and foreclosure.

  • Acquisition and sale of titled property
  • Title transfers and tax declarations
  • Possession and lease disputes
  • Foreclosure matters
03 Estate Planning & Succession Open

Estate planning and structuring, the settlement and extrajudicial settlement of estates, and succession arrangements for individuals and families.

  • Estate planning and structuring
  • Settlement of estates
  • Extrajudicial settlement
  • Succession arrangements for families
04 Corporate & Commercial Open

Corporate housekeeping and governance, board and stockholder documentation, contract review, corporate acquisitions of property, and the coordination of commercial and transaction documents.

  • Corporate housekeeping and governance
  • Board and stockholder documentation
  • Contract review and drafting
  • Corporate acquisitions of property
05 Family Law Open

Nullity of marriage, separation of property, and adoption, with related family and succession matters, handled with discretion and regard for the interests of spouses and children.

  • Nullity of marriage
  • Separation of property
  • Adoption
  • Related family and succession matters
06 Arbitration & Cross-Border Open

International arbitration experience, including representation before the Badan Arbitrase Nasional Indonesia (the BANI Arbitration Center), with Jakarta, Indonesia as seat of arbitration.

  • Institutional arbitration proceedings
  • Cross-border commercial matters
  • Coordination with foreign counsel
07 Policy & Legal Research Open

Legal and policy research, regulatory mapping, comparative-law review, and research memoranda for institutions, businesses, and private clients.

  • Legal and policy research
  • Regulatory mapping
  • Comparative-law review
  • Research memoranda

How the work is actually done.

Approach

01

Rigor

Each matter is prepared with close attention to the facts, the record, and the applicable law.

02

Integrity

Advice is candid and independent, including what remains uncertain and what the law may realistically achieve.

03

Care

Clients deal directly with counsel, and each matter is handled with attention to their objectives and circumstances.

Insights

A legal journal

Notes on questions clients ask often, written for clients rather than for lawyers. Each is general legal information rather than advice on a particular matter.

Property practice

23 August 2026

Before a property sale: a document-readiness checklist

The documents worth assembling before a sale of titled property is negotiated, and the reconciliations that tend to decide whether a transfer proceeds smoothly.

Read insight

Corporate

23 August 2026

Corporate housekeeping before a major transaction

The corporate records and approvals a company is asked to produce once a transaction is in prospect, and why gaps are less costly to cure early than at signing.

Read insight

Estate & succession

23 August 2026

Estate-planning conversations families should begin early

The subjects families tend to postpone, and how a first conversation with counsel is usually structured so that later decisions are easier.

Read insight

General legal information only, not legal advice. Sources reviewed 23 August 2026.

Return to Insights

{{ insightCategory }} · 23 August 2026

{{ insightTitle }}

{{ insightStandfirst }}

Most property sales that fail do not fail on price. They fail on documents. Counsel for the buyer asks for a document the seller does not have, or finds two documents that do not agree, and a transaction that appeared settled stops for weeks while the discrepancy is traced. The work described here is ordinary preparation. It is easier to complete before a price is agreed than after.

This is a readiness checklist, not a statement of legal requirements. Properties differ, and what a particular Registry of Deeds, local government unit, or counterparty will ask for varies. Its purpose is to surface problems early.

Start with the title, not the price

The owner's duplicate certificate of title is a starting point. It is not evidence of the current state of the record. What matters is a recent certified true copy from the Registry of Deeds, together with the annotations appearing on it. Annotations are where mortgages, adverse claims, notices, liens, and court-related entries are recorded, and a copy taken years ago will not show anything entered since.

Read the annotations first. If the seller cannot account for one of them, that is the question to resolve before anything else, because the buyer will raise it.

Reconcile the paper with the ground

Four descriptions of the same property should agree and often do not: the technical description on the title, the approved survey or plan, the tax declaration held by the assessor, and the property as actually occupied and fenced. Mismatched areas, a tax declaration still in a former owner's name, a boundary that has shifted, and improvements that appear on the ground but not on paper are all common. Each takes time to cure.

  • Certified true copy of the title, with all annotations, obtained recently.
  • Tax declaration and current real property tax clearance from the local government unit.
  • Technical description, approved survey or plan, and a recent site inspection.
  • A note of who is in actual possession, and on what basis.

Confirm who can actually sell

Authority is where transactions most often stall. The registered owner's identity and civil status should be established, since the applicable property relations may require the consent of a spouse. Where an heir, an attorney-in-fact, a corporation, or an estate is selling, more is needed: a special power of attorney in proper form, a board resolution with a secretary's certificate, or the documents showing who may act for the estate. If the registered owner has died, the question of sale generally sits behind a question of settlement.

Documents executed abroad will usually require apostille or consularisation. That adds calendar time, which is easy to overlook when a closing date is being discussed.

Find the encumbrances before the buyer does

Beyond what is annotated, ask what exists in fact: an unregistered lease, a right of way long used, a tenant or caretaker, a boundary disagreement with a neighbour, unpaid association dues, or a pending case touching the property. None of these necessarily prevents a sale. Each affects what should be disclosed, how the property is priced, and what the seller is prepared to warrant. A disclosure made early is far easier to deal with than the same disclosure made at signing.

Read the deed as a whole

A deed of absolute sale is a short document in which every provision matters: the parties and their capacity, the property as described on the title, the consideration and the manner of payment, when possession passes, what the seller warrants, and which party bears each transaction cost. The allocation of costs and taxes between the parties is a matter of agreement and should be stated rather than assumed. Where payment is staged, provide for what happens if a stage is not met.

Map the transfer steps before signing

Signing is not the end of the process. A transfer proceeds through notarisation, the Bureau of Internal Revenue's ONETT process for one-time transactions and its electronic counterpart, the local treasurer and assessor, and finally the Registry of Deeds and the issuance of a new title and tax declaration. Each step has its own document set and its own queue. Set out the sequence, assign responsibility for each step, and agree which documents must be produced at each stage before the deed is signed.

Requirements and procedures are published by the agencies concerned and are revised from time to time. Confirm them at the time of filing rather than relying on how an earlier transaction was handled.

Key takeaway

Assemble and reconcile the documents before the price is agreed. Most delays in a property sale arise from a discrepancy that existed before negotiations began.

When counsel helps

Counsel is most useful early: reading the annotations, tracing an entry the seller cannot explain, testing authority where an agent, an heir, a corporation, or an estate is involved, and drafting the deed so that price, possession, warranties, and costs reflect what the parties actually agreed. Counsel is also needed where the reconciliation fails, for instance where the title and the ground do not agree, where an occupant asserts a right, or where an estate must be settled before a sale can proceed.

Sources

Sources reviewed 23 August 2026.

When a company prepares to sell shares, admit an investor, borrow against its assets, or enter a joint venture, the first request from the other side is not for a business plan. It is for the corporate records. Due diligence requests are broad as a matter of practice, and a company that can answer them promptly is in a better position than one that spends weeks reconstructing its own file.

Corporate housekeeping is cumulative work. Attended to in the ordinary course it is administrative. Attended to under a signing deadline it tends to become a point of negotiation on price.

Define the transaction, then the scope

A share sale, an asset sale, a capital raise, and a secured loan raise different questions about the same company. Before gathering documents, state what the transaction is, who the counterparty is, and what that party will need to be satisfied about. That statement sets the scope of the diligence exercise and keeps it from becoming an open-ended document search.

Assemble the file

The core set is predictable. In most companies it is held in several places at once: with the corporate secretary, the accountant, the operations office, and occasionally only in a former officer's email.

  • Articles of incorporation and by-laws, with all amendments as approved.
  • Filings with the Securities and Exchange Commission, including the General Information Sheet and audited financial statements for recent years.
  • Stock and transfer book, subscription and share records, and a capitalisation summary that reconciles to them.
  • Minutes and resolutions of the board and of the stockholders, with attendance and signatures complete.
  • Material contracts, leases, loan and security documents, and any agreement with a change-of-control or consent clause.
  • Permits, registrations, and tax records, together with the returns and receipts that evidence them.

Reconcile what the records say

The most common findings are not misconduct but drift. The registered address is an office the company vacated years ago. A director who resigned still appears as incumbent. The General Information Sheet, the stock and transfer book, and the stockholders' own understanding of the shareholdings do not agree. Beneficial ownership records were completed once and never updated. Each of these can be corrected. Each is difficult to explain in a diligence meeting.

Reconcile names, addresses, officers, shareholdings, and beneficial ownership across every source before the records are given to anyone outside the company.

Map the approvals the transaction needs

Authority to bind the company is determined by the Revised Corporation Code together with the company's own articles of incorporation and by-laws. Identify which decisions require board approval, which require stockholder approval, what notice and quorum the by-laws prescribe, and who is authorised to sign. Where the by-laws or a stockholders' agreement impose a higher threshold or a consent right, those provisions govern. Settling this before drafting avoids the late discovery that a document was executed by a person without authority.

Cure gaps before signing, and keep the record afterwards

Missing minutes should be reconstructed properly and accurately, never backdated. Filings that were not made should be brought current through the appropriate process. Where a gap cannot be cured in time, it should be disclosed and addressed in the transaction documents rather than left to be discovered. After closing, keep the approvals, executed documents, and closing deliverables together. The next transaction, or a regulator, will ask for them.

The systems and reportorial workflows of the Commission are revised from time to time, and filing channels change. Confirm the current requirements and platform with the Commission at the time of filing rather than relying on how an earlier filing was made.

Key takeaway

A company able to produce a reconciled corporate record on request keeps control of the timetable. Housekeeping attended to in the ordinary course is administration. Attended to at signing, it becomes leverage for the other side.

When counsel helps

Counsel assists in scoping the exercise to the transaction, reading the articles of incorporation and by-laws against the Revised Corporation Code to establish who must approve what, reconstructing and reconciling records without creating further difficulty, reviewing contracts for consent and change-of-control provisions, and preparing the board and stockholder documents a counterparty will examine closely. Where a gap cannot be cured, counsel advises on disclosure and on how the transaction documents should address it.

Sources

Sources reviewed 23 August 2026.

Estate planning is often postponed for the same reason it is needed. The discussion is uncomfortable, and families are reluctant to consider illness or death while everyone is well. The result is that the discussion takes place later, in grief, among people who may disagree and who no longer have the person who could have explained what was intended.

An early conversation is not principally about documents. It is about establishing what the family intends, what it owns, and who will decide, so that the documents prepared afterwards record something the family has already settled.

Begin with goals, not instruments

The first questions are practical ones. Who depends on the family financially, and for how long? Is there a business someone is expected to continue, and is that person willing? Is there a member who requires long-term care or protection? Which assets are intended to remain in the family? Who should act for the family if the person now deciding becomes unable to? The answers shape everything that follows. Choosing an instrument first tends to produce documents that no one in the family understands.

Make a complete inventory

Most families find their own gaps at the inventory stage. Assets are held in more places than anyone recalls, and liabilities are frequently left out.

  • Land and buildings, with the certificates of title and tax declarations actually located rather than assumed to exist.
  • Shares and interests in family or closely held corporations and partnerships.
  • Bank and investment accounts, insurance policies and their named beneficiaries, and retirement benefits.
  • Digital assets and access: email, domains, payment and business platforms, and where credentials are kept.
  • Loans, guarantees, and obligations owed by or to the family.

Settle the ownership questions early

Ownership is rarely as straightforward as a family assumes. Property may be titled in one name but acquired during the marriage, in which case the applicable property relations between the spouses will matter. A parcel may still be titled to a grandparent because an earlier estate was never settled. Shares may have been transferred informally and never recorded in the stock and transfer book. These are the matters that obstruct a later transfer, and they are considerably easier to address while the persons who know the history can still explain it.

Understand what the law reserves

Philippine succession law imposes limits. The Civil Code recognises compulsory heirs whose shares are protected, and it prescribes formalities that a will must satisfy to be valid. A plan that disregards either may produce a result contrary to what was intended. What a particular family may and may not do depends on its own circumstances, including who the heirs are, the property relations between the spouses, and what has already been given. That is a question for advice on the specific facts and not for a general note of this kind.

The reason to raise the subject early is straightforward. The constraints should be understood before commitments are made to family members.

Plan for liquidity, administration, and access

An estate substantial in land but short of cash creates pressure to sell at the least favourable time. Consider where the funds to meet taxes, debts, and the costs of administration will come from, and how long assets may be practically inaccessible while a settlement is in progress. Consider who will administer the estate and whether that person has the time and standing to do so. Ensure the documents can be found. A plan whose papers cannot be located is a plan that cannot be carried out.

Revisit after anything material changes

A plan reflects circumstances as they stand. Marriage, separation, a birth, a death, a serious illness, the sale or acquisition of a substantial asset, a change in a business, or a move abroad may each render part of it obsolete. Beneficiary designations are particularly easy to overlook. The plan should be reviewed periodically rather than treated as a document signed once.

Key takeaway

Begin with goals, a complete inventory, and the ownership questions, while the persons who know the history can still explain it. The documents come last, not first.

When counsel helps

Counsel assists in structuring the first conversation, identifying the questions of property relations and unsettled estates that most plans overlook, explaining what the law reserves for compulsory heirs in the family's own circumstances, advising on the formalities a will must satisfy, and preparing the documents so that they are effective when required. Where an earlier estate was never settled, that is generally the work to be done first.

Sources

Sources reviewed 23 August 2026.

This note is general legal information about Philippine practice. It is not legal advice, it does not create a lawyer-client relationship, and it may not reflect later legal, procedural, or administrative changes. For a matter of your own, please request an appointment.

Request a consultation.

Contact the office by email or telephone. After an initial review, the office will advise whether a consultation may be arranged.

Telephone

+63 917 805 7992

Offices

Naga City — by appointment
Makati City — by appointment

Consultations are by prior appointment. Meeting arrangements are confirmed by the office.

Before you write

Please provide only your name and contact details, the general nature of the matter, the names of relevant parties, and your preferred office. Do not send confidential documents, detailed facts, or time-sensitive information at this stage.

Requesting an appointment

The office reviews each request before confirming a consultation. If a meeting may be arranged, the office will send a private scheduling link or propose available times.

To request an appointment, contact the office:

intake@basmayorlaw.com

+63 917 805 7992

A request or scheduled meeting does not create a lawyer-client relationship. Engagement remains subject to conflicts clearance and the office's written acceptance.

Legal notices

Effective upon publication.

On this page

Error 404

This page could not be found.

The address may have changed, or the page may have been withdrawn. The sections below are current.

Basmayor Law

Counsel

Atty. Michelle Villa-Real Basmayor, LL.M., CTEP
Founder & Managing Counsel

Offices

Naga City — by appointment
Makati City — by appointment
Inquiries: intake@basmayorlaw.com
+63 917 805 7992

Consultations are by prior appointment. Meeting arrangements are confirmed by the office.

Attorney advertising / legal information disclaimer. Nothing on this site is legal advice, and no lawyer-client relationship is created by visiting it or by sending an enquiry. An engagement begins only after conflicts clearance and written acceptance. Prior results do not guarantee a similar outcome.

© 2026 Basmayor Law

Private designer notes — not part of the website

Launch candidate — changelog & blockers

Changelog — from Fable Refined

  • Logo. The Obsidian monogram is replaced by the official horizontal lockup — logo-ink.png on Porcelain, logo-white.png on Obsidian, mono-brass.png as the favicon. Scale raised to clamp(30px, 3.4cqw, 42px) in the header and 40px in the footer, with the tagline demoted to a 12px meta line beneath the mark and clear space held at or above monogram height. The mark is never redrawn, stretched, outlined, or shadowed.
  • Portrait. The approved photograph now appears once, on Counsel, in a 4:5 frame cropped by CSS to a three-quarter composition (source region ≈ x 24–47%, y 19–40%). The crop removes the name badge and most of the background; the file is unretouched and unaltered. Alt text: “Atty. Michelle Villa-Real Basmayor.”
  • Signage. The office signage artwork appears exactly once, on Consultation, after the appointment information, as a captioned documentary figure — “Basmayor Law office signage. Composite image, digitally edited.” It is not in the hero, is not repeated, and does not stand in for the logo.
  • Offices. Every instance now reads “Naga City — by appointment” and “Makati City — by appointment”, followed by “Consultations are by prior appointment. Meeting arrangements are confirmed by the office.” No street address, hours, walk-in, or staffed-premises implication anywhere. “Principal office”, “satellite office”, “affiliate”, and “permanent office” language does not appear anywhere in the file, including the chronology, footer, metadata, structured data, alt text, and these notes. The header lockup line reads “Attorney-at-Law · Naga City & Makati City · By appointment”.
  • Practice 07. “Policy & Legal Research” added to the numbered index and to the Home summary (now “Seven areas”), with a four-item scope list drawn only from the supplied description. No lobbying, influence, accreditation, or outcome is claimed.
  • Insights. The three supplied titles replace the placeholders, each with a neutral standfirst and a draft record view. Every card and detail carries “DRAFT — FOR COUNSEL REVIEW” and “Draft material. Not for reliance or distribution. Subject to legal and editorial verification.” No law, case, deadline, number, citation, client matter, or conclusion appears. “Forthcoming” is used throughout; “UNPUBLISHED” does not appear. Drafts are stated as excluded from indexing, sitemap, feeds, and Article structured data.
  • Legal. A new Legal notices view carries a full Privacy Notice, Terms of Use, Legal Information Disclaimer, and a Cookie section stating that no non-essential cookies are used — so no banner is shown. Public notices carry “Effective date: [TO BE CONFIRMED]”; the source copy is marked DRAFT — FOR COUNSEL REVIEW. No DPO, registration number, address, vendor, retention period, analytics provider, or transfer is invented.
  • Launch readiness. Added: document title and meta description, a skip link, semantic landmarks (header/nav/main/footer) with one h1 per view and ordered headings, canonical and Open Graph placeholders marked [DOMAIN-TO-BE-CONFIRMED], a verified-fact-only LegalService/Organization JSON-LD draft (no address, geo, hours, price, or rating), a 404 view with recovery links, site-wide noindex, nofollow while unpublished, and a brass-monogram favicon. Public-facing placeholder language is gone; the prototype toggle and these notes sit outside the site frame and are labelled private.
  • Unchanged. Design system, Spectral + Libre Franklin with Cambria/Georgia and Calibri/Arial fallbacks, exact palette, square matte surfaces, 1200px measure, 66ch body, four type sizes, one brass hairline per view, 240ms single entrance / 160ms colour / 220ms menu fade, reduced-motion removal, 44px targets, keyboard menu and disclosures, and the inert enquiry form. Preserved wording: “A private office for matters that require care.”, “Contents”, “Forthcoming”, “Careful legal work. Clear advice.”

Launch blockers — all open

Nothing here has been legally verified, published, deployed, or launched. This file is a private prototype; no form sends, no email is sent, and no analytics are connected.

  • 01 — Counsel approval of the Privacy Notice, Terms of Use, Legal Information Disclaimer, and Cookie statement, and of the attorney-advertising wording against the CPRA and IBP publicity rules. Effective dates to be set.
  • 02 — Counsel approval of the three published Insights (property document readiness, corporate housekeeping, early estate-planning conversations). Each is now complete, source-linked, and live on the site with an article-level general-information notice; each still needs counsel's substantive sign-off, and the source URLs should be re-checked at publication.
  • 03 — Verification of every public biographical claim and contact detail, including the name and post-nominals, role, education, experience, professional chronology, office locations, inquiry address, and telephone number. Professional registration identifiers are deliberately excluded from the public site.
  • 04 — Domain and canonical confirmation: the canonical and og:url tags were removed rather than left with a placeholder domain, At deployment, add the canonical and og:url for the confirmed domain and choose an Open Graph image. No sitemap or feed URL is invented here, and on the owner's instruction the site is now excluded from search results altogether, so a sitemap should not be added at all: see 04a below.
  • 04a — Search-engine exclusion at the server, required: the page now carries noindex, nofollow, noarchive, nosnippet, noimageindex for all crawlers, for Googlebot, and for Bingbot, and those directives cover every hash route because a hash fragment is not a separate document. Production hosting must also return an HTTP X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, noimageindex header, which covers requests that never parse the head and any non-HTML file served from the same host. Deliberately not added: a robots.txt Disallow rule, because a crawler blocked from fetching the page cannot read the noindex directive and the URL may still surface from external links. Note also that noindex is not access control. It asks compliant search engines not to list the page; anyone with the URL can still open it. If the address itself must stay private, the site needs password protection or another access restriction.
  • 05 — Official logo-lockup approval: header and footer sizes, clear space, tagline hierarchy, and favicon choice, plus confirmation that logo-ink.png and logo-white.png are the current approved files.
  • 06 — Privacy and cookie validation against the finished build: confirm that the production host sets no analytics or tracking cookies, that server logs are covered, and that the Data Privacy Act positions in the notice are correct before the “no cookies, no banner” statement goes live.
  • 07 — Signage: cleared. The owner has decided not to use the office signage image in the final website, so it is no longer rendered anywhere and no confirmation, disclosure wording, or rights clearance is needed for launch. The asset file remains in the project, unused, in case it is wanted later.
  • 08 — Portrait approval: the AI-generated placeholder has been replaced with the photograph supplied by the owner (assets/portrait-counsel-mvb.jpg). The source is 195 × 195, so it is shown in a square frame capped at 236px wide to stay crisp rather than enlarged. Confirm the crop and, for production, supply a higher-resolution photograph — ideally a purpose-shot head-and-shoulders portrait — so the frame can be larger.
  • 09 — Production accessibility and cross-browser testing: screen-reader pass, contrast audit at final colours, keyboard-only walkthrough, real-device testing at 320–1440px, and verification on current Safari, Chrome, Firefox, and Edge.
  • 10 — Production build items: self-host Spectral and Libre Franklin as WOFF2 with their SIL Open Font License files included and preload the two faces actually used (this prototype loads them from the design system's Google Fonts stylesheet); add robots.txt, and real server-side 404 handling for paths outside the hash router; supply an Open Graph image. A sitemap is deliberately not part of this list, since the site is now excluded from search results (see 04a). No enquiry endpoint is needed — the consultation panel is static contact information by design.
  • 12 — Image weight: the logo lockups are 5269×1737 PNGs. They are given intrinsic dimensions here, but production must serve compressed WebP or AVIF at sensible display sizes, or an SVG lockup if one exists, before launch. The 8.2 MB signage PNG is no longer referenced, so it no longer affects page weight.
  • 13 — Hash routing is a single-file prototype device. Routes are #home, #counsel, #practice, #approach, #insights, #insights/property-sale-readiness, #insights/corporate-housekeeping, #insights/estate-planning-early, #consultation, #legal, and #legal/privacy · terms · disclaimer · cookies; anything else renders the 404 view. A production build should serve real paths with server-side routing and per-page titles, canonicals, and Article structured data for the three insights.
  • 11 — Content decisions still open: whether the undated professional chronology should carry dates and whether to name teaching institutions.

Launch-readiness pass — 23 August 2026

  • Portrait — real photograph. The AI-generated placeholder is gone. Counsel now shows assets/portrait-counsel-mvb.jpg, the photograph supplied by the owner, unretouched: no change to face, skin, eyes, smile, hair, or clothing, and no beautification. The source is 195 × 195, so it is presented in a 1:1 frame capped at 236px wide — a restrained editorial size that stays crisp rather than an enlargement — with object-fit: cover at object-position: 50% 42% to centre the face. Intrinsic dimensions are declared, so no layout shift. Alt text names her in full with credentials and role. It appears on Counsel only.
  • Name as one unit. The primary display name is now “Atty. Michelle Villa-Real Basmayor, LL.M., CTEP” — in the Counsel h1 and again, prominently, beside the portrait, with “Founder & Managing Counsel” beneath. CTEP is correct (Chartered Trust and Estate Planner); the “CETP” spelling was a typo and appears nowhere. Professional registration identifiers are deliberately excluded from the public site for data minimization.
  • Signage. Now a single large office-presence feature on Consultation under an “The office” label: 64% of the content width on desktop, full width on mobile, cropped 3:2 with object-position: 50% 45%. Caption reads “Naga City office · Visits by prior appointment”, with the composite-image disclosure beneath. It is attributed to Naga City only, never to Makati, and it is not used as a logo or on Home.
  • Insights — three complete articles. The journal index now carries category, title, standfirst, “23 August 2026”, and “Read insight”. Each article has an introduction, section headings, a Key takeaway, a “When counsel helps” section, a source list linking only to the official URLs supplied, “Sources reviewed 23 August 2026”, and an article-level notice that it is general legal information, not advice, and may not reflect later changes. External links carry target="_blank" rel="noopener noreferrer". No case, circular, rate, deadline, quotation, statistic, or holding is asserted anywhere; tax rates and estate-tax amnesty are deliberately not discussed. All “Draft”, “Forthcoming”, “for counsel review”, “not for reliance”, and “View draft record” wording is removed, and the drafts-excluded-from-indexing lines with it.
  • Routing. Every href="#" placeholder is gone. Navigation now uses stable hash routes driven by a hashchange router, so browser back and forward work and a route can be opened directly: #home, #counsel, #practice, #approach, #insights, #insights/<slug>, #consultation, #legal, and #legal/privacy · terms · disclaimer · cookies (which scroll to the named notice). Unknown routes render the 404 view. On each route change focus moves to <main> so keyboard and screen-reader users land in the new view. Scroll is written to the real scroller — in this embedded preview that is document.body, not documentElement — so route changes reset to the top and legal deep links land on the requested notice; the anchor lookup retries across a few animation frames because the section may not be committed to the DOM when the route first applies. The offset is measured from the sticky header's live height plus 16px rather than a fixed value, because the header grows when the tagline wraps at narrow widths — so each notice's heading clears the header at every viewport. The skip link is excluded from routing and simply focuses <main> without touching the hash, so it no longer falls through to the 404 view. Legal section ids were renamed legal-* so they no longer collide with route names.
  • Metadata. The site-wide noindex, nofollow was removed at that stage, and has since been reinstated and broadened on the owner's instruction (see 04a). The placeholder canonical and og:url were deleted rather than filled with an invented domain; Twitter card tags were added alongside the existing Open Graph tags. The LegalService structured data is unchanged and still carries only verified facts — no address, hours, rating, price, or social profile.

Placeholder & staging-copy cleanup

  • Review chrome is now gated. The “Private review controls — not part of the website” bar, with its Desktop / Mobile and Designer notes controls, renders only when the URL carries ?review=1 (any review parameter is accepted). Without it the bar is not rendered at all — so it is absent from the accessibility tree, leaves no reserved space, and the ordinary public header sits at the top of the viewport. In public mode the frame is always the full-width desktop layout and these private notes cannot be opened; append ?review=1 to restore both.
  • Footer. The colophon now reads exactly “© 2026 BASMAYOR LAW”; “· Launch candidate” removed. The internal file name and these notes still say Launch Candidate, by instruction.
  • Public disclaimer. The internal instruction “— verify local requirements” was removed from the footer disclaimer. The substantive text from “Nothing on this site is legal advice…” onward is unchanged, and no claim of legal verification is made anywhere.
  • Legal-notice status line — still requires approval. The visible line on the Privacy Notice, Terms of Use, Legal Information Disclaimer, and Cookies views now reads exactly “Effective upon publication.”, replacing “Draft — for counsel review. Effective date: [TO BE CONFIRMED].” The substantive text of all four notices is unchanged. All four notices remain draft material subject to counsel approval before publication — the public wording no longer says so, so blockers 01 and 04 below now carry that entire safeguard.
  • Consultation panel. The faux disabled enquiry controls were removed entirely — the three inputs, the “Send — disabled” button, the “Not connected” label, and the “This form is not connected…” sentence are gone, along with the inert flag they used. In their place is a static appointment panel headed “Requesting an appointment” (h2, so heading order is unchanged) carrying only verified details: the appointment sentence, “To request an appointment, contact the office:”, the office email and telephone as plain selectable text, and the confidentiality caution. There is no form element, no input, no button, no endpoint, no mailto, and no submission path of any kind. The “Before you write” guidance beside it is unchanged.

Owner-approved brand & Home copy revision

  • Logo treatment — official artwork, scaled, not rebuilt. The artwork was measured before changing anything: logo-ink.png is 5269 × 1737 and its ink already fills 99.2% of the frame width and 97.7% of its height, so there is no excess transparent whitespace to crop — a CSS crop would cut into the mark itself. The internal composition is monogram at x 20–884 (full height), a 320px optical gap, then the wordmark at x 1240–5248 occupying the middle band of the height. The lockup is therefore used whole and unaltered, scaled by height to clamp(54px, 7.4cqw, 76px) with width auto: about 230 × 76px visible on desktop and 164 × 54px at 320–390px. No separate official wordmark asset exists (only the monogram, mono-brass.png), so composing the lockup from parts would have meant setting the wordmark in type — that would replace the official artwork, so it was not done. Monogram geometry and brass, and the Obsidian wordmark, are exactly as supplied.
  • Home hero copy. The h1 is now exactly “For matters requiring precision, discretion, and resolve.” (single h1 retained; measure trimmed 26ch → 24ch and text-wrap: balance kept, so it breaks in two or three balanced lines with no orphan). The supporting paragraph is now exactly “Clients work directly with counsel, with advice grounded in the facts, the law, and the practical consequences.” The appointment sentence below it is unchanged.
  • Principles trio — one open question. The Home principles list is now the approved trio in its existing numbered structure and typography: 01 Rigor · 02 Discretion · 03 Integrity. Each keeps a sentence already approved in this design rather than new wording — Rigor takes the checked-against-the-record sentence, Discretion the personal-and-in-confidence sentence, Integrity the plain-terms and no-outcome-promised sentence; the former “Preparation” row was removed from Home. The Approach view now carries the same trio, on instruction: its former four entries (Accuracy, Preparation, Clarity, Client care) were consolidated into 01 Rigor, 02 Discretion, 03 Integrity using the owner's supplied wording, with the substance of Preparation folded into Rigor and of Client care into Discretion. The h1 “How the work is actually done.” and the numbered grid, rules, and typography are unchanged; only the closing row's bottom rule moved from the fourth entry to the third. The three principle titles remain h2, so heading order is unchanged.

Office signage withdrawn

  • Removed from the website entirely. On the owner's decision the signage image is no longer rendered on any route. Removed from Counsel: the img in chronology entry v, with its three-tier responsive width, its margin: clamp(24px, 3cqw, 36px) top spacing, and its grid alignment. Removed from the logic class: the signageWidth, signageLeft, and signageRight render values, which were the only rules that sized or aligned it. The earlier Home band and the earlier Consultation figure — wrapper, spacer, 3:2 crop box, kicker, and caption — were already gone; nothing signage-specific remains in the markup or the logic. No replacement image, caption, slogan, divider, card, or placeholder was added, and no reserved space is left: the origin paragraph is the last element in its chronology entry, so the entry's existing 28px rhythm closes the gap on its own. assets/office-signage.png is retained in the project, unused. The notes above describing its former placements are kept as a record of the decision. Launch blockers 07 and 12 updated accordingly.

Two corrections — one needs an owner decision

  • Brass count on Home — decision required. The signage brief asked for “the brass rule language already in the design system”, which conflicts with the standing instruction “exactly one brass instance per view: the 88 × 1px hairline anchored to the primary heading” — the same rule that had a brass header divider reverted to Limestone earlier. Adding a brass kicker rule put two brass instances on Home. The conflict should not be resolved silently, so the safer reading was applied: the signage kicker rule is now 1px Limestone, matching the figcaption rule directly beneath it, and the hero hairline remains Home's single brass accent. If brass is wanted on the signage kicker instead, the hero hairline would have to go to Limestone to keep the count at one — say which is preferred.
  • Plain route changes reset to the top again. Fixing the anchor path had left the non-anchor path scrolling from a pre-commit animation frame, so entering a view from a scrolled position kept the old offset — arriving mid-page, or at the very bottom of a shorter view. A _pendingTop flag is now set in applyRoute for every route without an anchor and consumed post-commit in componentDidUpdate (the frame-based write is kept as a fallback and clears the same flag, so the reset happens once). Both the anchor and the top-of-page paths now run after React has committed the new view.
  • Legal notices reordered to match their index. The four sections stood in the source as Disclaimer, Privacy, Cookies, Terms while the “On this page” index promised Privacy, Terms, Disclaimer, Cookies. The sections were moved into the index's order — the conventional sequence — rather than reordering the index. Each block was relocated whole, so no notice text, heading, id, or link changed, and the deep links continue to resolve.
  • Legal deep links now scroll. Anchor scrolling was driven from a single animation frame after the route's state change, so the lookup ran before the legal branch had committed and the retry budget then expired into its scroll-to-top fallback — leaving the requested notice thousands of pixels below the fold. The pending anchor is now consumed in componentDidUpdate, the moment the target element actually exists in the committed tree, with the frame-based retry kept as a fallback on a much longer budget. Both paths subtract the sticky header's measured height, so the heading lands below the header rather than under it.

Home signage demoted to a marginal detail

  • Final placement — Counsel, not Home. The signage was removed from Home entirely: its wrapper div, padding, 1200px inner column, and width/alignment rules are gone, replaced by a single clamp(48–88px) spacer so the close of “Read the approach” meets the Obsidian footer on the design system's own spacing, with no blank Porcelain field, replacement text, rule, or caption. The older Consultation instance from the earlier office-presence turn was also removed — its section, the “The office” heading, the Limestone top rule, the 3:2 cropping wrapper, the figure, and the two-line “Naga City office · Visits by prior appointment / Office signage. Composite image, digitally edited.” caption, replaced by a clamp(48–96px) spacer. That instance was cropped by object-fit: cover into a 3:2 box against the asset's 1.792 ratio, and it carried a second, different alt string for the same image. The signage now appears exactly once, on Counsel, directly after the firm-origin paragraph in chronology entry v, where it reads as a secondary editorial image supporting that narrative. Widths: min(48%, 460px) at 1000px and up, min(60%, 400px) from 640–999px, both flush to the entry's left grid edge; 94% centred below 640px. Rendered 460px desktop, 355px at 768px, 249px at 390px, 194px at 320px, with clamp(24–36px) of space above. Intrinsic 2752 × 1536 and height: auto preserve the ratio; natural colour; no caption, kicker, frame, border, shadow, radius, filter, opacity, overlay, background panel, animation, or parallax. Alt text unchanged.
  • Feature framing removed. The “The office” kicker, its 88 × 1px rule, the “Basmayor Law · Office signage” caption, and the figure/figcaption structure are gone, along with the section element and its top rule — so the image no longer registers as a section, card, banner, or captioned plate. Vertical spacing was cut from clamp(56–112px) top margin plus clamp(40–72px)/clamp(48–88px) padding to clamp(28–48px)/clamp(20–32px), which is ordinary interior spacing rather than a feature interval. No new rule was introduced, brass or otherwise, so Home still carries exactly one brass instance: the hero hairline.
  • Design-reviewed scale. Three tiers off the same measured width the header already uses, so the review frame's 390px mobile is treated as mobile: at 1000px and up min(39%, 420px) right-aligned to the content grid's right edge; from 640 to 999px min(44%, 340px), right-aligned to the same edge; below 640px 88% and centred. Rendered widths: 420px desktop (35% of the 1200px column, the cap binding), 297px at 768px, 301px at 390px, and 239px at 320px. Vertical spacing clamp(36–44px) above and clamp(28–36px) below. Intrinsic 2752 × 1536 with height: auto preserves the ratio with no crop or stretch, and a width that can never exceed its column cannot overflow. Natural colour retained; no kicker, caption, brass rule, frame, card, border, shadow, radius, filter, opacity, overlay, background panel, animation, or parallax. Alt text unchanged: “Basmayor Law office signage.” Still Home only, immediately before the footer.

Home signage band, and two routing fixes

  • Signage on Home. The existing assets/office-signage.png is reused as-is, with no second copy and no regeneration, recolouring, or sharpening. It sits in its own full-width band as the last element of the Home route, above the global footer and after the Approach summary, opened by a 1px Limestone rule. It is now an asymmetrical editorial block rather than a banner: a figure on the content grid holding an uppercase “The office” kicker with an 88 × 1px rule, the photograph at width: 68% of the content column, and a figcaption reading “Basmayor Law · Office signage” above a 1px Limestone rule, set in the same 12px Libre Franklin label style used elsewhere. The remaining ~32% is left as deliberate Porcelain negative space. min-width: min(100%, 420px) makes the image fill the content width on phones and tablets while holding 68% from roughly 620px up, so it never shrinks into a stamp. width plus height: auto with the intrinsic 2752 × 1536 declared means the full ratio is preserved with no crop or stretch. No border, card, shadow, overlay, slogan, animation, or filter. Alt text: “Basmayor Law office signage.” Because the band sits inside the atHome branch it renders on Home only, and the Consultation instance is unchanged.
  • Practice to Counsel route change. Navigating from the tallest route could leave the previous view mounted under the new URL. The scroll and focus work ran inside the setState callback, so on a heavy swap it could execute against the outgoing tree, and scrollToAnchor's retry loop could still be running from an earlier route. Scroll and focus now run in a requestAnimationFrame after the state is set, and each anchor retry loop carries a token so a stale loop from a previous route abandons itself instead of fighting the new one.
  • Practice entry 01 now really opens. The first disclosure was authored <details open>, but a valueless boolean attribute does not survive the template compile, so every entry rendered closed and the source stated an intent the page never honoured. It is now open="{{ firstOpen }}" against a true value, so entry 01 is expanded on arrival as intended. The other six are unaffected and all seven still toggle normally.

Counsel chronology, final entry

  • One paragraph, one label. The last entry of the Professional chronology on Counsel now reads “After a decade of practice in Metro Manila, she established Basmayor Law and now advises and represents clients in Makati City and Naga City.” Its label was “Basmayor Law — City of Naga”, which the new sentence contradicts, since the entry now names both cities. On the instruction to keep the heading “Basmayor Law”, the label is now exactly that, which also removes an em dash. The sentence appears nowhere else. Dates, credentials, the earlier chronology entries, the offices panel above it, and the appointment wording elsewhere are untouched.

Search-engine exclusion

  • Three directives, once each. The head now carries noindex, nofollow, noarchive, nosnippet, noimageindex under robots, googlebot, and bingbot. Each appears exactly once and no index or follow directive appears anywhere, so nothing conflicts. Because a hash fragment is not a separate document, one head governs Home and every route, including the three article routes and the legal notices. Nothing visible changed: no copy, layout, route, structured data, notice, contact detail, or footer element was touched.
  • Two earlier notes corrected, and the sitemap item withdrawn. Blocker 04 and one changelog entry both said the site-wide noindex had been removed, which was true at the time and is now wrong; both now point to blocker 04a. The deployment list previously called for a sitemap: that has been withdrawn, since publishing a sitemap for a site meant to stay out of search results works against the instruction. The robots.txt item stays, because robots.txt is where the X-Robots-Tag policy and crawl-delay conventions are documented, but it must not contain a Disallow rule for this site.

Copy refinements and footer logo

  • Four copy changes, seven locations. Three practice descriptions are duplicated between the Home summary list and the full Practice index, so each was changed in both places: Property (2), Litigation & Dispute Resolution (2, the Practice copy also dropping its redundant “Representation in” opener so the two now match exactly), and Policy & Legal Research (2, removing only the word “clear”). The Insights index intro was changed once. The seven practice-area cards, their scope lists, the Practice intro, the hero support sentence, the Rigor / Integrity / Care copy, and the Corporate description are untouched.
  • Footer logo distortion. The cause was the interaction of the global img { max-width: 100% } reset with a height-driven footer logo. The image was set to height: 40px; width: auto, and its column is a shrinkable flex item, so when the footer row competed for space the reset clamped the width while the fixed height held, squashing the lockup horizontally. It is now width-driven: width: 168px; max-width: 100%; height: auto, giving roughly 168 × 55px. With height auto the intrinsic 5269 × 1737 ratio is recalculated whenever max-width reduces the width, so the same reset can no longer distort it. Its column also carries flex: 0 1 auto; min-width: 168px so it does not shrink below the lockup in the first place. No crop, no recolour, no replacement, and the header logo is untouched.

Approach principles updated

  • Two locations, now aligned. The principles are stated twice: as a numbered summary on Home and in full on the Approach route. Both now read 01 Rigor, 02 Integrity, 03 Care. On Home, entry 02 became Integrity with its approved line and entry 03 became Care; the former Discretion summary was removed. On Approach, entry 02 became Integrity carrying its existing paragraph unchanged, and entry 03 became Care with a new paragraph. There is no third copy and no data source behind either: both are template markup in one file, so they cannot drift apart the way the Insights standfirsts did.
  • What Care says. The expanded paragraph reads: “Clients deal directly with counsel, and each matter is handled with attention to their objectives and circumstances.” The final sentence carries over the confidentiality point that Discretion previously made on the Approach page, so nothing was lost in the substitution. No em dash, no claim of uniquely tailored service, and no promise of any outcome.
  • “Discretion” elsewhere. The word survives in three appropriate places and was deliberately left alone: the Home headline “For matters requiring precision, discretion, and resolve.”, and the Family Law description on both Home and Practice, where matters are “handled with discretion”. Only the Approach principle heading and its supporting paragraph were replaced. The initials of the three principles are never shown or referred to anywhere on the site.

Inquiry address changed

  • Eight replacements, no remaining occurrence. The public address is now intake@basmayorlaw.com in five visible places: the Consultation contact list, the “Requesting an appointment” panel, the Privacy Notice contact paragraph, the Terms of Use questions paragraph, and the footer. It was also updated in the LegalService structured data and in two of these notes. The former address appears nowhere in the file, including the notes: one note quoted the old inert-form description verbatim and has been reworded to describe it instead.
  • Mailto links added. The address was plain text everywhere before this change, so the five visible occurrences are now anchors to mailto:intake@basmayorlaw.com, underlined in Black Cherry on Porcelain and in Limestone in the footer. Nothing sends automatically; a mailto only opens the reader's own mail client.
  • One judgement call on the “Inquiries” label. Two places present the address with a label. In the footer it now reads “Inquiries: intake@basmayorlaw.com” on its own line. In the Consultation contact list the label was already a separate heading reading “Email”, so that heading was changed to “Inquiries” rather than printing the word twice. The three prose occurrences keep their existing sentences and show the address alone. Say the word if you would rather the Consultation heading stayed “Email”.

Editorial pass — Philippine lawyer voice

  • “Preventive” removed. Zero occurrences of “preventive counsel” or “preventive strategy” remain in the rendered site or the article data. Three places carried it: Home “Areas of counsel” dropped the phrase at that time, and now reads “The practice advises and represents clients across seven areas, from planning and transactions to disputes in court.”; the Home blockquote now reads “More than ten years of litigation experience, with advice grounded in careful analysis and practical judgment.”; and the Counsel biography now closes “she pairs disciplined advocacy with business-minded judgment.”
  • Articles rewritten for voice. All three were revised paragraph by paragraph. Rhetorical openers were replaced with declarative statements (“Most property sales that fail do not fail on price. They fail on documents.”); the promotional framing in the corporate article (“negotiates from a stronger position”, “it becomes a price adjustment”, “leverage for the other side”) was narrowed to statements of fact about timing and cost; the estate article no longer refers to “the relative merits of children” or to a plan “nobody can execute”. Terms of art were made specific: “marital property regime” became “the applicable property relations between the spouses”, “general information sheet” became “General Information Sheet”, “shareholders' agreement” became “stockholders' agreement”, “a lawyer is most useful” became “counsel is most useful”, “the Code” became “the Revised Corporation Code”, and “registry” became “the Registry of Deeds”. Source labels dropped their em dashes (“Republic Act No. 11232, the Revised Corporation Code of the Philippines”).
  • Positions narrowed, not corrected. Two sentences were too categorical and were qualified rather than rewritten: “the registered owner's identity and civil status must be established” became “should be established, since the applicable property relations may require the consent of a spouse”, and “the sale question sits behind a settlement question” became “generally sits behind a question of settlement”. “Philippine succession law is not a blank page” became “Philippine succession law imposes limits”, with “may produce a result contrary to what was intended”. No legal proposition, citation, date, source link, disclaimer, heading, or route was added or removed.
  • Em dash audit. Public em dashes reduced from 28 to 15, and none remains in article prose, in the three index cards, or in the article data in the logic class. That last region needed a separate check: the article standfirsts and category labels exist twice, once in the template card and once as INSIGHTS[n] in the logic class, and the logic class sits below these notes in the file, so a positional audit reads it as private. The corporate standfirst had been corrected in the card only, leaving the article page showing the older wording with an em dash; both copies now read “once a transaction is in prospect, and why gaps are less costly to cure early than at signing.” The estate category was likewise “Estate and succession” in the data against “Estate & succession” on the card; both now use the ampersand. The property standfirst and both remaining categories were checked and already matched. The 15 retained: three page and social titles (“Basmayor Law — Business, Property, Estate & Family Counsel”), the logo link's accessible name (“Basmayor Law — home”), six office labels across Counsel, Consultation, and the footer (“Naga City — by appointment”, “Makati City — by appointment”, the owner-approved wording), four chronology and credential labels (“Manalo Law — Bonifacio Global City, Taguig”, “Basmayor Law — City of Naga”, “Master of Laws — International Business and Finance Law”, “Golden Gate University School of Law · San Francisco, USA — Highest Honors”), and this review bar's own label. Each is a label separator rather than sentence punctuation. Removed in prose in favour of commas, colons, parentheses, or full stops: the practice descriptions, the Insights standfirst, the corporate card excerpt, the BANI arbitration sentence, the privacy “if an engagement follows” aside, the email-security sentence, and the SHAPE Asia line.

Brand descriptor cleanup

  • Header descriptor. Now exactly “NAGA CITY · MAKATI CITY”. Dropping “Attorney-at-Law” removed about 150px of tracked text, so the responsive machinery built for the longer string is no longer needed: the two breakpoint variants and the descWide / descMid render values were deleted, leaving one static line. The two place names keep their white-space: nowrap groups, so neither can split and no separator can begin or end a line. At 320px the line measures roughly 150px inside a 272px content width, so it holds on one line at every tested width without a threshold to tune.
  • Footer descriptor. “Attorney-at-Law · Philippines” removed with no replacement. Its 12px column gap went with it, so the reversed lockup now sits alone in its brand column, flush to the column's baseline alignment with no residual gap. The logo's 168px width, intrinsic 5269 × 1737, and aspect ratio are untouched. The footer retains counsel's name, post-nominals, role, and office locations while omitting professional registration identifiers.

Header descriptor — line breaking

  • Wording. The descriptor now reads “ATTORNEY-AT-LAW · NAGA CITY · MAKATI CITY · BY APPOINTMENT” — the ampersand is gone and all four groups are separated consistently by the same middot.
  • Breaks are authored, not reflowed. Automatic wrapping cannot satisfy the brief: binding each separator to the group before it strands a middot at a line end, and binding it to the group after strands one at a line start. So the descriptor renders as authored lines chosen by width, with no separator at a line edge and no break inside a group. white-space: nowrap is applied to each semantic group individually, never to a whole composed line: locking a whole line's width means enlarged text cannot reflow and is silently clipped by the page's overflow-x: hidden, which fails WCAG 1.4.4 at 200% text size. Group-level nowrap produces exactly the same arrangement at 100% and reflows instead of truncating when type grows. Each separator travels with the group that follows it, so if reflow does occur under heavy zoom the middot leads a line rather than being orphaned at the end of one. “By appointment” was later removed from the header on the owner's instruction, so the descriptor now reads “Attorney-at-Law · Naga City · Makati City” and needs only two arrangements instead of three: one line at 300px or more of available width, and two lines below that. The threshold moved from 440px to 300px because the line lost about 133px of text, which means 390px now shows one line where it previously showed two; 320px still shows two. The former three-line variant and its 440px threshold are gone. “By appointment” is untouched everywhere else, including the Home statistics block, the Counsel offices panel, Consultation, and the footer. The variant is chosen from the descriptor element's own measured width, not from a window-width guess. Window width proved unreliable at both ends — it selected two lines at exactly 768px, and at 320px it selected the two-line variant, whose second line then reflowed on its own and stranded a middot at the head of the wrapped line. Measuring the element removes the guess: the three arrangements need about 423px, 291px, and 164px of text width, so the thresholds are 440px and 300px of available width, which resolve exactly to one line at 768px (676px available), two at 390px (342px), and three at 320px (272px). Between 300 and 440px of available width it is “ATTORNEY-AT-LAW” then “NAGA CITY · MAKATI CITY · BY APPOINTMENT”; below 360px the second line splits again into “NAGA CITY · MAKATI CITY” and “BY APPOINTMENT”, because the full line measures roughly 289px against 272px of content width at 320px and reducing the type to fit would break the shared typography rule.
  • One position change, deliberate. The descriptor previously existed twice — once inside the brand column on desktop and once beneath the row on mobile. There is now a single element beneath the logo/Menu row at every width, so all lines share exactly one type specification (Libre Franklin, 11.5px, 0.08em, line-height 1.6, ink-muted, uppercase). Keeping the desktop copy in the brand column would have forced that column to about 422px to hold the line unbroken, which pushed the primary nav below the lockup again at 1000–1100px — the stacking defect fixed earlier. On desktop the descriptor therefore sits one row lower than before; nothing else about the header changed.

Header refinement — header only

  • Composition. The brand area is now its own column (official lockup above the appointment line) and the row is optically centred rather than bottom-aligned, so the navigation no longer hangs off the tagline's baseline. Vertical padding tightened from 28/18px to clamp(16–24)/clamp(12–16), removing the slack around the image asset. The lockup is now sized by widthclamp(178px, 52cqw, 279px) with height: auto and max-width: 100% — rather than by height. Sizing by height meant the rendered width was a derived value the layout could not constrain, which is what let the left edge of the lockup fall outside the viewport at a real 390px width; a width clamp cannot overflow its column. The visible size is unchanged on desktop (279px wide, the same as before) and resolves to about 202px at 390px and 178px at 320px, so the lockup, its 24px gap, and the 44 × 44 Menu control fit inside the header's 24px inset at every width. No negative margin, translate, or offset was involved, and nothing is masked with overflow: hidden — the header is explicitly overflow: visible. Previously this was clamp(62px, 17.5cqw, 92px) tall — about 279 × 92px visible on desktop, 206 × 68px at 390px, and 188 × 62px at 320px, all width:auto with the 5269 × 1737 aspect ratio and intrinsic dimensions intact. To hold the header height disciplined at that size, the row padding was trimmed to clamp(14–20px) top / clamp(10–14px) bottom and the row gap to 24px; at 320px the lockup and the 44 × 44 Menu control occupy 244px of a 272px content width, so neither collides, clips, nor touches the viewport edge. Earlier steps in this scaling were clamp(32–46px) and clamp(46–68px), so the “BASMAYOR LAW” wordmark inside the artwork — which occupies only the middle ~28% of the image height — reads at a legible cap height instead of smudging; still modest inside the 1200px column. The official artwork, its brass monogram, and its Obsidian wordmark are untouched — no recolour, crop, trace, or redraw.
  • Appointment line. Kept verbatim and demoted to secondary brand information: 11.5px, capped at 46ch on desktop and 28ch on mobile with text-wrap: balance, so it wraps to two balanced lines at 320–390px instead of stretching as a competing headline. On mobile it now sits beneath the row, left-aligned to the lockup, so the top row stays a single compact line.
  • Current-page state. Primary navigation previously had none. Each link now carries aria-current="page" when active plus a 1px currentColor rule under the label — no animation, and not colour alone. The Consultation link's permanent underline was removed so the current-page rule is the only underline showing at rest and the signal stays unambiguous; Consultation is still distinguished by its Black Cherry colour. Links keep their 44px minimum height, visible focus, and 160ms colour feedback. The nav gap tightened to 22px and the desktop tagline measure to 30ch, and the mobile-collapse threshold moved from 900px to 1000px, so no viewport width leaves the nav stacked below the brand block instead of aligned right.
  • Mobile Menu control. The boxed 92px button is now a restrained underlined text control at 44 × 44 minimum, with aria-expanded, aria-controls, and Escape-to-close preserved unchanged.
  • Header divider. The header's bottom rule is a 1px Limestone hairline. It was briefly set in Antique Brass, then restored to Limestone on instruction: the header is sticky, so a brass rule would have put a second brass element on screen alongside each view's 88px heading hairline. Brass therefore remains exactly one instance per view, as the binding rule requires.

Final QA pass — changes made

  • Enquiry form semantics. The three faux fields are now real disabled input / textarea controls with explicit label for associations, and the send affordance is a real disabled button. All four referenced one description, telling the reader the form was not connected and directing them to write to the office instead, so the inert state was announced rather than implied by colour. That block has since been replaced by the static appointment panel, and the inquiry address has since changed to intake@basmayorlaw.com. Still no form element, no endpoint, no submission.
  • Legal notices navigation. Given a visible “On this page” heading, so the four links read as in-page jumps rather than tabs with a hidden current state. No tab ARIA is asserted, and each destination is an ordinary section heading reachable and exitable by keyboard.
  • Escape key. Escape now closes the mobile menu and these notes, so neither can trap keyboard focus.
  • Counsel portrait is a temporary AI-generated placeholder. The image now shown on Counsel (assets/portrait-placeholder-mvb.png, 1122 × 1402) is an AI-generated placeholder derived from a photograph supplied by the owner. It is not a photograph of record. It must be replaced with an approved photograph, or expressly approved for use in writing by counsel, before production. Its source ratio is already 4:5, so it is displayed with object-fit: cover at object-position: 50% 22% — a natural head-and-shoulders framing with no stretching, no extreme zoom, and no clipping of hair or chin. Intrinsic dimensions are declared to prevent layout shift. Alt text: “Portrait of Atty. Michelle Basmayor.” It appears on Counsel only.
  • Images. Intrinsic width and height added to the portrait, signage, and both logo lockups, with aspect-ratio on the signage figure, to prevent layout shift. Signage and footer logo are lazy-loaded (below the fold); the header logo and portrait load eagerly. All decode asynchronously.
  • Contrast. Mushroom Taupe measured 2.76:1 as 12px text on Warm Porcelain. All meta text on light grounds now uses --ink-muted (#6f675d on #F4F0E8 = 4.88:1): eyebrow labels, the header tagline, numbered index digits, chronology numerals, credential labels, “Open” and “Forthcoming” labels, captions, and form labels. Mushroom Taupe is retained for hairline rules and for meta text on Obsidian and Cherry, where it already passed, via a single --dark-meta alias so the two cases stay separable.
  • Touch targets. The nine footer navigation links measured 14px tall at 390px; they are now 44px inline-flex rows with a 2px gap. The six desktop primary-nav links were 30px and are now 44px. No other spacing changed.

Private review tools

The bar above the page is review chrome and is not part of the website. Use it to switch between the desktop and 390px mobile layouts and to open these notes. The 404 view can be previewed here.

Inspiration sources — principles only

  • Radix Themes (MIT) — spacing rhythm, state clarity, one consistent focus treatment. Square corners kept.
  • shadcn/ui (MIT) — accessible disclosure and menu conventions, restrained grouping. No dashboard density.
  • Motion (MIT) — easing discipline only, implemented in native CSS. No animation library is loaded.
  • Once UI Core (MIT) — editorial rhythm and responsive sequencing. Magic Portfolio not used.