/* Layout for the requested new routes, navigation and FAQ. Existing brand tokens,
   fonts, effects and the complete 02 section remain in their original stylesheets. */
.services-menu { position: relative; }
.services-menu > summary { cursor: pointer; list-style: none; }
.services-menu > summary::-webkit-details-marker { display: none; }
.services-menu > summary::after { content: "⌄"; margin-left: 8px; }
.services-menu__links { position: absolute; top: calc(100% + 18px); left: -20px; min-width: 210px; display: flex; flex-direction: column; gap: 18px; padding: 22px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.mobile-booking { display: none; }
/* Longer approved copy must fit without cropping it behind the hero's signal. */
[data-launch-page="home"] .hero__content { padding-bottom: 100px; }
/* Homepage-only copy stack; retain the existing fonts, colors and 3D scene. */
[data-launch-page="home"] .hero__title { max-width: min(720px, 58%); font-size: clamp(53px, 6.5vw, 107px); line-height: .98; letter-spacing: -.025em; }
[data-launch-page="home"] .hero__lower { display: flex; flex-direction: column; align-items: flex-start; width: min(560px, 58%); margin: 28px 0 0; gap: 0; }
[data-launch-page="home"] .hero__lede { max-width: 560px; }
[data-launch-page="home"] .hero__actions { margin-top: 36px; flex-direction: column; align-items: flex-start; }
[data-launch-page="home"] .hero__proof { max-width: 560px; margin: 24px 0 0; color: rgba(255, 255, 255, .6); line-height: 1.7; }
/* Reserve room for the existing decorative console below the longer service copy. */
[data-launch-page="home"] .capability-card--agents { padding-bottom: 160px; }
.launch-breadcrumb { display: flex; gap: 14px; margin-bottom: 32px; font-size: 12px; }
.launch-service-hero .hero__title { max-width: 1100px; }
.launch-service-hero .hero__lower { margin-left: 0; width: min(100%, 980px); }
.launch-section__copy { align-self: center; max-width: 650px; font-size: 20px; }
.launch-section__copy ul { padding-left: 24px; }
.launch-section__copy li { padding-block: 12px; }
.launch-process h3 { margin: 26px 0 10px; font-size: 25px; letter-spacing: -.04em; }
.launch-process .section-heading h2 { max-width: 850px; }
.launch-process .section-index { margin-bottom: 22px; }
.launch-process .outcome p { max-width: 340px; margin-right: 24px; }
.launch-founder-title { margin: 70px 0 40px; font-family: Georgia, serif; font-size: clamp(44px, 5.7vw, 84px); line-height: 1.03; letter-spacing: -.045em; font-weight: 400; }
.launch-faqs { border-top: 1px solid var(--line); margin-bottom: 32px; }
.launch-faq { padding: 26px 0; border-bottom: 1px solid var(--line); }
.launch-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; }
.launch-faq summary::-webkit-details-marker { display: none; }
.launch-faq h3 { margin: 0; font-size: clamp(20px, 2.4vw, 30px); letter-spacing: -.04em; }
.launch-faq summary > span { font-size: 28px; }
.launch-faq p { max-width: 850px; font-size: 18px; line-height: 1.6; }
.launch-related { display: flex; flex-wrap: wrap; gap: 24px 40px; }
.launch-final .contact__intro { max-width: 900px; }
.launch-final .contact__content { display: block; }
.footer__bottom > span:last-child { max-width: 600px; }
.launch-video-fallback { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
@media (max-width: 1000px) {
  .services-menu__links { position: static; margin-top: 18px; padding: 16px; gap: 16px; text-align: center; }
  .mobile-booking { display: block; max-width: 80vw; text-align: center; }
}
/* The existing portrait moves below the copy at this breakpoint. */
@media (max-width: 760px) {
  [data-launch-page="home"] .hero__title { max-width: 100%; }
  [data-launch-page="home"] .hero__lower { width: 100%; }
}
@media (max-width: 650px) {
  .launch-related { flex-direction: column; }
  .launch-section__copy { font-size: 18px; }
  .launch-service-hero .hero__content { padding-bottom: 100px; }
  .launch-breadcrumb { margin-bottom: 24px; }
  [data-launch-page="home"] .hero__content { padding-bottom: 30px; }
  [data-launch-page="home"] .hero__title { max-width: 100%; font-size: clamp(42px, 11.8vw, 58px); }
  [data-launch-page="home"] .hero__actions { width: 100%; align-items: stretch; }
  [data-launch-page="home"] .hero__actions .button { width: 100%; justify-content: space-between; }
}
