
/* Form-factor release v2: content reflows; viewport height never dictates legibility. */
html{ -webkit-text-size-adjust:100%; }
*,*::before,*::after{box-sizing:border-box}
:where(main,section,article,header,footer,nav,div,figure){min-inline-size:0}
:where(h1,h2,h3,p,li){overflow-wrap:break-word}
:where(h1,h2,h3){text-wrap:balance}
:where(img,video){max-inline-size:100%}
:where(input,select,textarea){font-size:1rem;max-inline-size:100%}
:where(button,.button,.btn){max-inline-size:100%;white-space:normal;min-block-size:44px}
:where(dialog,[role="dialog"]){max-inline-size:calc(100vw - 2rem);max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain}
@media(max-width:600px){:where(input,select,textarea){font-size: max(16px,1rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:601px) and (max-width:900px){.services-grid{grid-template-columns:minmax(0,1fr);gap:28px}.services-grid article{border-right:0;border-bottom:1px solid #888;padding:0 0 24px}.services p{max-width:60ch}}
@media(max-width:600px){.site-header{align-items:center;gap:10px;padding-block:16px}.site-header nav{gap:4px 16px;flex-wrap:wrap}.site-header nav a{min-height:44px}.experience{font-size:clamp(2.5rem,9.5vw,4rem);line-height:1.08}.home-hero .intro,.intro{font-size:1.125rem;line-height:1.55}.principles article{grid-template-columns:36px minmax(0,1fr);gap:16px}.principles article>div{padding-left:16px}.legal-hero h1{font-size:clamp(2.25rem,9vw,3.375rem)}.conversation{font-size:1.25rem;min-height:52px}.footer-line{white-space:normal}}
