/* Shared navigation and the expanded Garage Neustart offer. */
.main-nav { gap: 18px; align-items: center; }
.nav-services { position: relative; align-self: center; }
.nav-services summary { display: flex; align-items: center; gap: 6px; min-height: 40px; cursor: pointer; list-style: none; }
.nav-services summary::-webkit-details-marker { display: none; }
.nav-services summary::marker { content: ""; }
.nav-chevron { display: inline-block; line-height: 1; }
.nav-services[open] .nav-chevron { transform: rotate(180deg); }
.nav-services-active summary { text-decoration: underline; text-decoration-color: var(--copper); text-underline-offset: 5px; }
.nav-services-list { position: absolute; top: 100%; left: 0; z-index: 1100; width: min(290px,calc(100vw - 32px)); margin: 0; padding: 8px; list-style: none; background: var(--ivory); border: 1px solid var(--line); border-top: 3px solid var(--copper); border-radius: 4px; box-shadow: 0 8px 24px rgba(32,44,48,.15); }
.main-nav .nav-services-list a { display: flex; align-items: center; min-height: 46px; padding: 10px 12px; line-height: 1.4; white-space: normal; }
.main-nav .nav-services-list a:hover { background: var(--page-wall); text-decoration: none; }
.nav-services summary:focus-visible, .nav-services-list a:focus-visible { outline: 2px solid var(--graphite); outline-offset: 3px; }
.main-nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--copper); text-underline-offset: 5px; }
.header-inner { min-width: 0; }
.home-topic-label { margin-bottom: 8px; }
.contact-form #enquiry-topic { margin-bottom: 22px; }
.contact-form .form-privacy, .contact-form .service-form-note { text-align: left; }
.company-fields[hidden] { display: none; }
.position-process, .position-about { padding: 56px 0; }
.position-process > h2, .position-about h2 { font-size: clamp(32px,3.6vw,42px); }
.position-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 28px 0; padding: 0; list-style: none; }
.position-steps li { padding: 22px 24px; border-top: 4px solid var(--copper); background: var(--ivory); }
.position-steps h3 { font-size: 27px; margin-bottom: 14px; }
.position-steps p:last-child { margin-bottom: 0; }
.position-actions { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.position-about { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; border-top: 1px solid var(--line); }
.position-about .eyebrow { margin-bottom: 14px; }
.position-about p { color: var(--steel); }
.position-about p:last-child { margin-bottom: 0; }
.about-home-link { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-top: 12px; margin-bottom: 44px; padding-top: 24px; border-top: 1px solid var(--line); }
.about-home-link p { margin: 0; color: var(--steel); font-size: 15px; }
.about-partner-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
.about-partner { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--line); border-top: 4px solid var(--copper); background: var(--ivory); }
.about-partner .eyebrow { margin-bottom: 14px; font-size: 13px; }
.about-partner h3 { margin-bottom: 18px; font-size: 34px; }
.about-partner > a { margin-top: auto; }
.about-languages { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 22px 0; }
.about-languages li { padding: 6px 14px; border: 1px solid var(--line); border-radius: 4px; font-size: 14px; background: var(--page-wall); }
.about-contact .button { max-width: 100%; padding-block: 13px; line-height: 1.4; text-align: center; }
.about-contact p.about-legal-note { margin: 24px 0 0; font-size: 13px; }
@media (max-width: 700px) { .about-partner-grid { grid-template-columns: 1fr; } .about-partner { padding: 24px; } }
.position-page section { margin: 36px 0; }
.position-page .position-steps { margin-top: 28px; }
.position-page .content-section h2 { margin-bottom: 20px; }
.position-page .content-section { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.position-callout { padding: 28px; border-left: 4px solid var(--copper); background: var(--ivory); }
.position-callout p:last-child { margin-bottom: 0; }
.faq-group-title { margin: 38px 0 14px; font-size: 32px; }
.faq-page .faq-intro { display: block; }
.faq-page .faq-intro p { max-width: none; }
.faq-page .faq-list, .faq-page .faq-answer, .selling-guide .selling-faq { max-width: none; }
.faq-shortcuts { display: flex; gap: 12px 24px; flex-wrap: wrap; margin: 24px 0 32px; }
.faq-shortcuts a, .position-actions > a:not(.button) { text-underline-offset: 4px; text-decoration-color: var(--copper); }
.selling-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
.selling-option a { text-decoration-color: var(--copper); text-underline-offset: 4px; }
.site-footer { gap: 14px 22px; flex-wrap: wrap; }
.site-footer .footer-operator { flex-basis: 100%; }
@media (min-width: 1101px) { .header-inner { gap: 18px; } .main-nav { gap: 17px; } }
@media (max-width: 1100px) { .main-nav { gap: 12px 24px; } }
@media (max-width: 800px) { .position-steps { grid-template-columns: 1fr; } .position-about { grid-template-columns: 1fr; gap: 20px; } .selling-options { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
  .main-nav { flex-wrap: wrap; white-space: normal; gap: 10px 20px; overflow-x: visible; }
  .main-nav a { min-height: 34px; display: inline-flex; align-items: center; }
  .position-process, .position-about { padding-block: 36px; }
  .position-steps li { padding: 20px; }
  .position-actions { align-items: flex-start; flex-direction: column; }
  .position-callout { padding: 22px; }
  .faq-group-title { font-size: 28px; }
}
