/* Small launch fixes shared across the existing layouts. */
body :focus-visible{outline:3px solid #052d2a!important;outline-offset:4px;box-shadow:0 0 0 7px #f6f0e5!important}
.launch-skip{position:fixed;z-index:250;left:16px;top:16px;padding:13px 18px;background:#f6f0e5;color:#052d2a;transform:translateY(-180%);font:500 16px/1.4 TydDisplay,Arial,sans-serif}
.launch-skip:focus{transform:none}
/* This heading receives programmatic focus after the intro; it is not a control.
   Preserve its screen-reader announcement without drawing a box around the copy. */
#live-title:focus{outline:none!important;box-shadow:none!important}
.page-nav{flex-wrap:wrap}
.page-nav a,.intro-nav nav button{min-height:34px;display:inline-flex;align-items:center}
.enquiry-form .enquiry-inspiration summary{min-height:34px}
/* Allow long headlines to reflow at high zoom without horizontal scrolling. */
@media(max-width:800px){.headline-line{white-space:normal}.directory{height:auto;min-height:100svh}.directory-grid>*{min-width:0}}
@media(max-width:400px){.inner-header,.directory header{flex-wrap:wrap;row-gap:15px}.page-nav{gap:12px}.enquiry-form .signature-cta{min-width:0;width:100%}.enquiry-form{min-width:0}.ph-chapters{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.about-motion .about-reveal{opacity:1!important;transform:none!important}}
/* Secondary form labels must retain normal-text contrast on the stone panel. */
.enquiry-form label span{color:#4d6056}
.help-situation{color:#d6d9c8}
/* At high zoom / short landscape heights, keep the chapter index from covering the reading area. */
@media(max-height:500px){.ph-index{position:relative;height:auto;min-height:0}.ph-chapter{scroll-margin-top:24px}}
