/* Separate documents remain unchanged. Compact mobile navigation is a disclosure, not a single-page router. */
/* Base styles load directly before this sheet in every document. */

body[data-page="index.html"]{display:flex;flex-direction:column;min-height:100svh}
body[data-page="index.html"]>main{flex:1}
.home-proof{font-size:1rem;line-height:1.6;margin:24px 0 0;max-width:48ch}
.home-footer{padding-block:18px}
.home-footer .footer-main{display:block}
.home-footer .footer-links{display:flex;flex-wrap:wrap;gap:8px 16px}
.home-footer .footer-links a{border:0;background:transparent;padding-inline:0;justify-content:flex-start}
.home-footer .footer-bottom{margin-top:10px;padding-top:12px}

@media screen and (max-width:900px){
  /* Navigation remains usable in the document flow if JavaScript is unavailable. */
  html:not(.menu-ready) .site-header{position:relative}
  .site-header .nav-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:80px;padding-block:10px}
  .site-header .brand img{width:68px}
  .site-header .brandtext{display:none}
  .site-header .menu-toggle{display:none}
  .site-header .navlinks,.site-header.unstick .navlinks{display:grid;position:static;grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;width:100%;gap:4px;max-height:none;overflow:visible;padding:8px 0;border:0;background:transparent;font-size:1rem;line-height:1.5}
  .site-header .navlinks>a{display:flex;justify-content:flex-start;align-items:center;text-align:left;min-width:0;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:6px}
  .site-header .navlinks>a[aria-current="page"]:not(.button){background:var(--cream);text-underline-offset:5px}
  .site-header .navlinks>a.primary{border-color:var(--charcoal)}
  .menu-ready .site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-height:44px;min-width:76px;padding:8px 14px;background:var(--cream);border-color:var(--olive)}
  .menu-ready .site-header .navlinks{display:none;position:absolute;top:100%;left:0;right:0;flex-basis:auto;max-height:calc(100dvh - var(--nav-h) - 16px);overflow:auto;padding:12px 20px 20px;border-bottom:1px solid var(--olive);background:var(--manila-wash)}
  .menu-ready .site-header .navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  body[data-page="index.html"] .hero{padding-block:32px 36px;gap:0}
  body[data-page="index.html"] .hero .lede{margin-bottom:24px}
  .home-footer{padding-block:12px;background:var(--manila-wash)}
  .home-footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .home-footer .footer-main{order:2}
  .home-footer .footer-links{display:flex;width:auto}
  .home-footer .footer-links a{font-size:1rem;line-height:1.5;padding:8px 0;min-height:44px}
  .home-footer .footer-bottom{order:1;flex-direction:row;align-items:center;margin:0;padding:0;border:0}
}
@media screen and (max-width:650px){
  body[data-page="index.html"] .hero h1{margin-bottom:20px}
  body[data-page="index.html"] .actions{display:grid;grid-template-columns:1fr;gap:8px}
  body[data-page="index.html"] .actions .button.primary{min-height:48px;padding:12px 16px}
  body[data-page="index.html"] .actions .button:not(.primary){justify-self:start;justify-content:flex-start;min-height:44px;padding:4px 0;border:0;border-radius:0;background:transparent;text-decoration:underline;text-underline-offset:4px}
}

/* Accessibility refinement: readable text, less visual weight, resilient reflow. */
html{font-size:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{line-height:1.65}
.nav-wrap{flex-wrap:wrap}
.navlinks{flex-wrap:wrap;max-width:100%}
main [id]{scroll-margin-top:12px}
main,section,article,aside,form,.section-intro,.hero-copy,.home-people-copy{min-width:0}
.button,.text-link,.home-founder-link,.service-guide-link,.breadcrumbs a,summary{min-height:44px}
.button,.filter,.menu-toggle,input,select,textarea{max-width:100%}
input,select,textarea{min-width:0}
input::placeholder,textarea::placeholder{color:var(--charcoal);opacity:1}
input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed}
.offer-hook{font-weight:400}
:where(a,button,input,select,textarea,summary){scroll-margin-block:12px}
.site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));max-width:28rem;width:100%}
.site-footer .footer-links a{min-height:44px;border:0;background:transparent;justify-content:flex-start;text-align:left;padding:8px 4px}
.optional-context{margin:24px 0;padding:16px 0;border-block:1px solid var(--olive)}
.optional-context>summary{cursor:pointer;font-size:1.125rem;font-weight:600;line-height:1.5;padding:8px 32px 8px 0}
.optional-context[open]>summary{margin-bottom:20px}
.optional-context .maturity-grid{margin-top:8px}
.optional-context p{max-width:65ch}
.faq-group-heading{font-size:1.25rem;font-weight:600;line-height:1.4;margin:32px 0 12px}
.faq-group-heading:first-child{margin-top:16px}
html body[data-page] .service-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:12px;max-width:54rem}
html body[data-page] .filter{font-size:1rem;min-height:48px;white-space:normal;border-radius:7px;padding:10px 12px}
html body[data-page] .filter[aria-pressed=true]{font-weight:600}
html body[data-page] .filter-status{max-width:65ch}
@media screen and (max-width:900px){
 /* The open menu stays in flow; it cannot cover the text or keyboard focus. */
 html body .site-header{position:relative}
 html.menu-ready body .site-header .navlinks.open{position:static;flex-basis:100%;width:100%;max-height:none;overflow:visible;padding:8px 0 12px;border:0}
 html{scroll-padding-top:12px}
 html body[data-page] .site-header .nav-wrap{flex-wrap:wrap}
 html body[data-page] .section-intro h1,html body[data-page] .detail-intro-block h1{font-size:2rem;line-height:1.25;font-weight:700;max-width:24ch}
 html body[data-page] .hero h1{font-size:2.25rem;line-height:1.25;font-weight:700}
 html body[data-page] h2{font-size:1.625rem;line-height:1.35;font-weight:600}
 html body[data-page] h3,html body[data-page] h4{font-size:1.25rem;line-height:1.4;font-weight:600}
 html body[data-page] .founder-card h3{font-size:1.625rem}
 html body[data-page] .faq-group-heading{font-size:1.25rem}
 html body[data-page] .lede,html body[data-page] .detail-intro{font-size:1.1875rem;line-height:1.65;font-weight:400}
 html body[data-page] .offer,html body[data-page] .founder-card,html body[data-page] .detail-summary{padding:22px 20px}
 html body[data-page] .offer-grid,html body[data-page] .founder-grid,html body[data-page] .contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 html body[data-page] .footer-main{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
 html body[data-page] .home-footer>.wrap{flex-wrap:wrap}
 html body[data-page] .home-footer .footer-links{width:auto;max-width:none}
 html body[data-page] .home-footer .footer-links a{padding:8px 0}
 html body[data-page] .fee-confirm{font-size:1.375rem;line-height:1.45;font-weight:600}
 html body[data-page] .scope-boundary{padding:20px}
 html body[data-page] .detail-grid{grid-template-columns:minmax(0,1fr)}
}
@media screen and (max-width:360px){
 html body[data-page] .hero h1{font-size:2.1875rem}
 html body[data-page] .wrap{width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.optional-context>*{display:block!important}.optional-context>summary{list-style:none}}


/* Plain-language service labels: retain the service names and scope. */
.service-descriptor{font-size:1rem;font-weight:500;line-height:1.5;margin-top:-8px;margin-bottom:16px}

/* Phone navigation keeps the contact route visible and preserves separate pages. */
.header-contact { display: none; }
@media screen and (max-width: 900px) {
  html body[data-page] .site-header .nav-wrap { gap: 10px; min-height: 88px; padding-block: 10px; }
  .site-header .brand img { width: 80px; }
  .header-contact { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-left: auto; padding: 8px 12px; border: 1px solid var(--charcoal); border-radius: 7px; background: var(--blush); color: var(--charcoal); font-size: 1rem; font-weight: 500; line-height: 1.5; text-decoration: none; }
  .header-contact:hover { background: var(--sunrise-wash); }
  .menu-ready .site-header .menu-toggle { margin-left: 0; min-width: 68px; padding-inline: 10px; }
  html body[data-page] .home-footer > .wrap { display: block; }
  html body[data-page] .home-footer .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; width: 100%; }
  html body[data-page] .home-footer .footer-bottom { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--olive); }
}
@media screen and (max-width: 360px) {
  html body[data-page] .site-header .nav-wrap { gap: 8px; }
  .header-contact { padding-inline: 10px; }
}
