/* Shared reading and navigation improvements, scoped to existing components. */
:root{--site-header-height:4.5rem}
html{scroll-padding-block-start:calc(var(--site-header-height) + 1rem)}
main [id]{scroll-margin-block-start:1rem}
.section-heading h2[id]{scroll-margin-block-start:4rem}
.page-shortcuts{background:var(--surface);border-bottom:1px solid var(--line);padding:1rem 0}
.page-shortcuts>.container{display:flex;align-items:center;gap:1.25rem}
.page-shortcuts strong{font-size:.8rem;color:var(--gold-dark);white-space:nowrap}
.page-shortcut-links{display:flex;gap:.45rem;flex-wrap:wrap}
.page-shortcut-links a{display:flex;align-items:center;min-height:2.65rem;padding:.4rem .85rem;border:1px solid var(--line);border-radius:2rem;color:var(--ink-soft);font-size:.85rem;text-decoration:none;background:var(--surface)}
.page-shortcut-links a:hover,.page-shortcut-links a:focus-visible{color:var(--navy);border-color:var(--gold);background:var(--paper)}
.page-hero{padding-block:clamp(2.25rem,5vw,4rem)}
.page-hero h1{max-width:23ch;line-height:1.22;text-wrap:balance}
.page-hero .lead{max-width:48rem;line-height:1.85}
.page-hero .button-row:empty{display:none}
.page-hero-figure{box-shadow:none}
.section-heading{max-width:53rem}
.section-heading h2{text-wrap:balance}
.section-heading .lead{max-width:48rem}
.cards{align-items:stretch}
.card{border-radius:.85rem}
.client-experience{padding-block:2.5rem;background:var(--surface)}
.client-experience .section-heading{margin-bottom:1.5rem}
.client-experience .eyebrow{margin-bottom:.4rem;font-size:.75rem}
.client-experience .eyebrow::before{display:none}
.client-experience h2{max-width:none;width:100%;font-family:var(--font);font-size:clamp(1.4rem,2.5vw,1.8rem);line-height:1.4;margin:0}
.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.client-logo{min-height:0;grid-template-rows:5.5rem auto;gap:.65rem;padding:.65rem .65rem .9rem;border-radius:.75rem;background:#fff;border:1px solid var(--line)}
.client-logo-art{width:100%;height:5.5rem;display:flex;align-items:center;justify-content:center;padding:.7rem;border-radius:.4rem}
.client-logo-dark .client-logo-art{background:var(--navy)}
.client-logos img{max-height:4.1rem;max-width:100%;width:auto;height:auto;object-fit:contain}
.client-logo>span{font-size:.8rem;font-weight:600;text-align:center;color:var(--ink-soft)}
@media(min-width:640px){.client-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.client-logos{grid-template-columns:repeat(6,minmax(0,1fr))}}
.process-step h3,.session-flow strong{line-height:1.5}
.faq{max-width:54rem}
.faq details{margin-bottom:.65rem;padding:0 1.15rem;background:var(--surface);border-radius:.7rem}
.faq summary{padding-block:.85rem;min-height:3.65rem;line-height:1.65;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{flex:0 0 1.3rem;text-align:center}
.faq details[open]{border-color:var(--gold)}
.faq details p{line-height:1.9;max-width:48rem;margin-top:0;padding-bottom:1rem}
.legal-content{font-size:1.02rem;line-height:1.95}
.legal-content h2{font-size:clamp(1.25rem,2.6vw,1.7rem);padding-top:1.4rem;border-top:1px solid var(--line);margin-top:2rem}
.project-toolbar{display:flex;gap:1rem;justify-content:space-between;align-items:end;margin-bottom:1.5rem}
.project-toolbar[hidden],.project-more[hidden],#project-grid .card[hidden]{display:none}
.project-toolbar label{font-size:.85rem;font-weight:700;flex:0 1 25rem}
.project-toolbar input{display:block;width:100%;margin-top:.45rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:.5rem;color:var(--ink);background:var(--surface);font:inherit;font-size:1rem;min-height:3rem}
.project-toolbar p{font-size:.88rem;color:var(--ink-soft);margin:0 0 .75rem}
.project-more{display:flex;margin:1.75rem auto 0}
#project-grid .card{min-height:0}
#project-grid .card p{line-height:1.85;font-size:.95rem}
.contact-options{gap:.7rem}
.contact-option{padding:1rem 1.15rem;border-radius:.65rem}
.contact-option strong{overflow-wrap:anywhere}
.contact-prep{padding:1.15rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper)}
.form-card{border-radius:1rem;box-shadow:none}
.form-card .field-error:empty{display:none}
.form-card .field:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.form-card .field-group{margin-bottom:1rem}
.form-card .field-help{line-height:1.6}
.form-card .privacy-note{line-height:1.7}
.back-to-top{position:fixed;inset-inline-end:1.25rem;bottom:1.25rem;z-index:35;display:flex;align-items:center;gap:.4rem;padding:.65rem 1rem;min-height:2.75rem;border:1px solid var(--line);border-radius:2rem;background:var(--surface);color:var(--navy);font-size:.85rem;font-weight:700;text-decoration:none;box-shadow:0 3px 14px #07162b12}
.back-to-top[hidden],body.menu-open .back-to-top{display:none}
.back-to-top:hover{border-color:var(--gold)}
.page-shortcuts a:focus-visible,.project-toolbar input:focus-visible,.back-to-top:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(min-width:64rem){
  .contact-layout{align-items:start}
  .form-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
  .form-card>*{grid-column:1/-1}
  .form-card>.field-group:has(input[name="name"]),.form-card>.field-group:has(input[name="company"]),.form-card>.field-group:has(input[name="email"]),.form-card>.field-group:has(input[name="phone"]){grid-column:auto}
  .form-card>button{justify-self:start}
}
@media(max-width:680px){
  .page-shortcuts>.container{display:block}
  .page-shortcuts strong{display:block;margin-bottom:.65rem}
  .page-shortcut-links{gap:.4rem}
  .page-shortcut-links a{font-size:.8rem;padding:.4rem .7rem}
  .page-hero{padding-block:1.75rem 2rem}
  .page-hero h1{font-size:clamp(2rem,7.7vw,2.7rem);max-width:100%}
  .page-hero .lead{font-size:1rem;margin-block:1rem 1.2rem;line-height:1.8}
  .page-hero .breadcrumbs{margin-bottom:1rem}
  .page-hero-grid-with-figure{gap:1.5rem}
  .page-hero-figure img{aspect-ratio:16/9;max-height:13rem}
  .section{padding-block:2.5rem}
  .section-heading{margin-bottom:1.5rem}
  .section h2{font-size:clamp(1.5rem,6vw,2rem);line-height:1.45}
  .section .lead{font-size:1rem;line-height:1.85}
  .button-row{gap:.65rem}
  .button-row .button{font-size:.94rem;white-space:normal;text-align:center}
  .project-toolbar{display:block}
  .project-toolbar p{margin-top:.75rem}
  .contact-layout{gap:2rem}
  .contact-jumps .button{width:100%}
  .form-card{padding:1.25rem}
  .form-card>button{width:100%}
  .back-to-top{inset-inline-end:.75rem;bottom:.75rem;padding:.6rem .8rem}
  .footer-main{padding-block:2.5rem;gap:2rem}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
