/* A compact, section-led home page using the established Legal Point palette. */
.home-page { --section-space: clamp(2rem, 4vw, 3rem); }
.home-page main > .section {
  width: 100%;
  padding-inline: max(1.25rem, calc((100% - 1100px) / 2));
  border-top: 1px solid var(--line);
}
.home-page .section-heading { gap: 1.5rem 2.5rem; margin-bottom: 1.5rem; }
.home-page #stala-obsluga { background: #eef2ed; }
.home-page #stala-obsluga .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-page #stala-obsluga .hero-actions { margin-top: 1.25rem; }
.home-page .service-card { padding: 1.4rem; }
.home-page .service-card p:last-child { margin-bottom: 0; }
.home-page .services-section { background: var(--paper); }
.home-page .dark-section { background: var(--green); }
.home-page .quick-grid > a { min-height: 0; padding: 1.4rem; }
.home-page .quick-grid p { margin-bottom: 1rem; }
.home-page .quick-grid strong { padding-top: .5rem; }
.home-page .process-section { display: block; background: #fff; }
.home-page .process-section .section-kicker { margin-bottom: .8rem; }
.home-page .process-content { display: block; }
.home-page .process-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 2.5rem; }
.home-page .process-intro p { margin: 0; }
.home-page .process-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.75rem; }
.home-page .process-list li { display: block; padding: 1.15rem 0 0; border-top: 2px solid #b3c4b6; border-bottom: 0; }
.home-page .process-list > li > span { display: inline-block; margin-bottom: .6rem; }
.home-page .process-list h3 { margin-bottom: .6rem; }
.home-page .cooperation-models { background: #f4f0e6; }
.home-page .models-grid article { padding: 1.4rem; background: rgba(255,255,255,.55); }
.home-page .models-grid p { margin-bottom: 0; }
.home-page .about-section { background: #e5ede6; border-block: 1px solid #ccd8cf; }
.home-page .about-inner { max-width: 1140px; grid-template-columns: minmax(15rem,.75fr) minmax(0,1.25fr); align-items: start; gap: 2.5rem; }
.home-page .portrait-card { justify-self: center; width: min(100%, 21rem); box-shadow: .65rem .65rem 0 #cfdbcf; }
.home-page .about-copy > p:last-of-type { margin-bottom: .75rem; }
.home-page .industries-section { grid-template-columns: minmax(11rem,.45fr) minmax(0,1.55fr); align-items: center; background: #fff; }
.home-page .industry-list { margin-top: 1rem; }
.home-page .resources-section { background: #f4f0e6; }
.home-page .resources-section .section-heading { margin-bottom: 0; align-items: center; }
.home-page .resources-section .section-heading > div:last-child > p:last-child { margin-bottom: 0; font-size: var(--text-small); }
.home-page .faq-section { background: #fff; }
.home-page .faq-inner { display: block; }
.home-page .faq-heading { text-align: center; margin-bottom: 1.5rem; }
.home-page .faq-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2rem; border-top: 0; }
.home-page .faq-list details { border-top: 1px solid var(--line); border-bottom: 0; }
.home-page .faq-list details p { padding-bottom: 1rem; }

/* Main inquiry stays primary; paid booking is a quiet option alongside it. */
.home-page .home-contact { background: #edf2ed; }
.home-page .home-contact-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.35fr); gap: 2.5rem; align-items: stretch; }
.home-contact .contact-intro { display: flex; flex-direction: column; min-width: 0; }
.home-contact .contact-intro > p { font-size: var(--text-body); }
.home-contact .contact-intro > .home-contact-note,
.home-contact .contact-intro > .contact-location { font-size: var(--text-small); line-height: 1.55; }
.home-contact .contact-intro > .contact-location { margin-bottom: 1.25rem; }
.home-contact .contact-details { margin: .35rem 0 1rem; }
.home-contact .contact-details a { font-size: 1.25rem; }
.home-contact-form { display: flex; min-width: 0; padding: 1.5rem; background: #fff; border: 1px solid #d2ddd2; }
.home-contact-form > .contact-fields { flex: 1; min-width: 0; }
.home-contact-form .contact-fields-row { gap: .85rem; }
.home-contact-form .contact-extra-field { margin-bottom: .85rem; }
.home-contact-form .contact-message-field textarea { min-height: 7rem; }
.home-contact .home-booking { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid #b5c7b8; scroll-margin-top: 7rem; }
.home-booking h3 { margin: 0 0 .5rem; font-size: var(--text-h3); line-height: 1.35; }
.home-booking p { margin: 0 0 .65rem; font-size: var(--text-small); }
.home-booking .booking-price { color: var(--green); }
.home-booking .booking-actions { display: flex; align-items: center; gap: .7rem 1rem; flex-wrap: wrap; }
.home-booking .booking-actions > a:not(.button) { font-size: var(--text-small); text-underline-offset: .2em; }
.home-booking .booking-actions .button { background: transparent; border-color: var(--green); }
.home-booking .booking-actions .button:hover { background: #dce7dc; }

@media (max-width: 1000px) {
  .home-page .home-contact-layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.2fr); gap: 1.5rem; }
  .home-contact-form { padding: 1.15rem; }
  .home-contact-form .contact-fields-row { grid-template-columns: 1fr; gap: .75rem; }
  .home-page .about-inner { gap: 2rem; }
}
@media (max-width: 760px) {
  .home-page .section-heading,
  .home-page .process-intro,
  .home-page .process-list,
  .home-page #stala-obsluga .services-grid,
  .home-page .models-grid,
  .home-page .quick-grid,
  .home-page .about-inner,
  .home-page .industries-section,
  .home-page .faq-list,
  .home-page .home-contact-layout { grid-template-columns: 1fr; }
  .home-page .section-heading,
  .home-page .process-intro { gap: 1rem; }
  .home-page .process-list { gap: 1.25rem; }
  .home-page .about-inner { gap: 2rem; }
  .home-page .portrait-card { width: min(78%, 18rem); }
  .home-page .home-contact-layout { display: flex; flex-direction: column; gap: 1.5rem; }
  .home-contact .home-booking { margin-top: 1.25rem; }
  .home-contact-form { width: 100%; }
  .home-contact-form > .contact-fields { display: block; }
  .home-contact-form .contact-fields-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 440px) {
  .home-contact-form .contact-fields-row { grid-template-columns: 1fr; }
  .home-booking .booking-actions .button { width: 100%; }
}
