/* Page navigation follows one uninterrupted document with native anchor links. */
html:has(body[data-flow=true]){
  --flow-header-height:0px;
  scroll-padding-top:calc(var(--flow-header-height) + 20px);
}
body[data-flow=true] > main{padding-top:0}
body[data-flow=true] .flow-section{position:relative;min-width:0;scroll-margin-top:0}
body[data-flow=true] .flow-section [id]{scroll-margin-top:0}
body[data-flow=true] .site-header nav>a[aria-current=location]{color:#77c7ff}

/* Embedded page titles retain their hierarchy without adding extra h1 elements. */
body[data-flow=true] .page-intro .flow-page-title{
  max-width:1100px;
  font-size:clamp(48px,6vw,88px);
  line-height:1.1;
  letter-spacing:-.05em;
}
body[data-flow=true] .page-intro .flow-page-title span{color:var(--accent)}
body[data-flow=true] .contact-hero{padding:64px 0;border-bottom:0}
body[data-flow=true] .contact-hero .contact-hero-copy .flow-page-title{
  font-size:clamp(52px,5.6vw,84px);
  line-height:1.08;
  letter-spacing:-.055em;
  color:var(--ink);
}
@media(max-width:900px){
  html:has(body[data-flow=true]){--flow-header-height:0px}
  body[data-flow=true] .page-intro .flow-page-title{font-size:62px}
  body[data-flow=true] .contact-hero{padding:48px 0}
}
@media(max-width:650px){
  html:has(body[data-flow=true]){--flow-header-height:0px}
  body[data-flow=true] .page-intro .flow-page-title{font-size:clamp(37px,9.4vw,57px);line-height:1.14}
  body[data-flow=true] .contact-hero .contact-hero-copy .flow-page-title{font-size:clamp(40px,10vw,56px);line-height:1.08}
}
@media(prefers-reduced-motion:reduce){
  html:has(body[data-flow=true]){scroll-behavior:auto}
}
