/* ABI Capital: typographic safeguards, preproduction, 2026-10-28.
   Preserve existing type scale, serif display headings, colours and composition. */
:root{--abi-font-ui:Raleway,Arial,sans-serif;--abi-field-text:1rem;--abi-label-text:.9375rem}
body{font-family:var(--abi-font-ui)}
button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
main :is(h1,h2,h3,h4,h5,h6),.reading :is(h1,h2,h3,h4,h5,h6){min-width:0;max-width:100%;height:auto;max-height:none;overflow:visible;overflow-wrap:anywhere;white-space:normal;text-overflow:clip;-webkit-line-clamp:unset}
main :is(p,li,blockquote,figcaption),.footer a,.footernav a{overflow-wrap:anywhere}
.hero-inner,.hero-content,.cardbody,.property-info,.contactgrid>*,.formbox,.portal-grid>*,.reading,.dialoghead>*{min-width:0}
.title,.card h3,.property-info h3,.price,.spec span,.gallerytitle{overflow-wrap:anywhere}
.gallerytitle{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
.dialoghead{gap:1rem}
.dialoghead h2{flex:1;min-width:0;overflow-wrap:anywhere}
.dialoghead button{flex-shrink:0}
.fields legend,.fields label,.formbox label,.portal label{max-width:100%;overflow-wrap:anywhere}
.fields label,.formbox label,.portal label{font-size:var(--abi-label-text);line-height:1.5}
.fields fieldset,.formbox fieldset,.portal fieldset{min-width:0}
.fields input,.fields select,.fields textarea,.formbox input,.formbox select,.formbox textarea,.portal input,.portal select,.portal textarea{max-width:100%;box-sizing:border-box}
.formbox textarea,.portal textarea{resize:vertical}
.pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.tools{flex-wrap:wrap}
.tools select{min-width:0}
.nav .brand,.nav .location{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.fields input,.fields select,.fields textarea,.formbox input,.formbox select,.formbox textarea,.portal input,.portal select,.portal textarea{font-size:var(--abi-field-text)}}
@media(max-width:380px){.fields .pair{grid-template-columns:minmax(0,1fr)}}
