/* Family adaptive foundation — 22 October 2026. Brand-specific composition follows. */
html { -webkit-text-size-adjust:100%; scroll-padding-block-start:6rem; }
*,*::before,*::after { box-sizing:border-box; }
:where(main,section,article,header,footer,nav,div,figure) { min-inline-size:0; }
:where(h1,h2,h3) { text-wrap:balance; overflow-wrap:break-word; }
:where(p,li,dd) { overflow-wrap:break-word; }
:where(input,select,textarea) { font-size:1rem; max-inline-size:100%; }
:where(button,.button,.btn,.cx-action,.nav-cta) { max-inline-size:100%; white-space:normal; min-block-size:44px; line-height:1.3; }
:where(button,summary,[role="button"]) { touch-action:manipulation; }
:where(dialog,[role="dialog"]) { max-inline-size:calc(100vw - 2rem); max-block-size:calc(100dvh - 2rem); overflow:auto; overscroll-behavior:contain; }
:where(nav a,footer nav a) { min-block-size:44px; align-content:center; }
:where(.arrow,.cx-link-arrow,.cta-arrow) { display:inline-block; text-decoration:none; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid currentColor; outline-offset:4px; }
@media(max-height:500px) and (orientation:landscape) { :where(.topbar,.site-header,.cx-nav) { position:relative; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.site-header{height:auto;min-height:104px;padding-block:16px}.site-header nav{flex-wrap:wrap;gap:8px 28px} .button{border-radius:8px}.footer nav{flex-wrap:wrap}.eyebrow{font-size:.8125rem;letter-spacing:.16em}
@media(max-width:760px){.site-header{flex-wrap:wrap;min-height:82px;gap:6px 20px}.site-header nav{gap:4px 20px}.site-header nav a{font-size:.9375rem}.experience{white-space:normal;font-size:clamp(2.5rem,9.8vw,5rem)}.wrap{width:calc(100% - 40px)}.contact-choices>a:last-child span:first-child{white-space:normal;font-size:1rem;overflow-wrap:anywhere}.about-intro h1>span:first-child{white-space:normal}.eyebrow{font-size:.75rem}.conversation{white-space:normal}.footer nav a{font-size:.8125rem}.footer-line{font-size:.8125rem}}
