/* Informational pages share the same quiet surfaces and heading rhythm. */
main.up-page {
  --up-border: #e0e5eb;
  --up-muted: #626870;
  --up-soft: #f3f5f7;
  background: #fff;
}
main.up-page :is(.co-about-intro, .dp-calculator-intro, .sc-page-intro, .sc-reviews-page) {
  padding-top: 28px;
  background: #fff;
}
main.up-page h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-align: left !important;
}
main.up-page:is(.up-reviews, .up-works) h1 { text-align: center !important; }
main.up-page :is(.sc-section-heading, .sc-section-copy) { max-width: none; width: 100%; }
main.up-page .sc-section-heading { margin-bottom: 28px; }
main.up-page .sc-page-intro .sc-section-heading { margin-bottom: 0; }
main.up-page :is(.sc-page-intro, .dp-calculator-intro) { padding-bottom: 28px; }
main.up-page :is(.sc-review-card, .rr-map-source, .co-about-legal-details) {
  border-color: var(--up-border);
  border-radius: 14px;
  box-shadow: none;
}
/* Company overview: one content grid from the introduction to legal details. */
main.up-about .co-about-intro { padding: 40px 0; }
main.up-about .co-about-intro-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; }
main.up-about .co-about-copy { padding: 0; }
main.up-about .co-about-copy h1 { max-width: 620px; margin: 0 0 22px; line-height: 1.16; text-wrap: balance; }
main.up-about .co-about-lead { max-width: 570px; color: var(--up-muted); font-size: 18px; line-height: 1.65; }
main.up-about .co-about-actions { margin-top: 26px; }
main.up-about .co-about-actions a.btn-2 { padding: 13px 23px; border: 1px solid #37566d; border-radius: 10px; background: #37566d; color: #fff; box-shadow: none; }
main.up-about .co-about-photo { width: 100%; max-width: 480px; justify-self: end; }
main.up-about .co-about-photo img { width: 100%; height: auto; border-radius: 14px; object-fit: contain; }
main.up-about .co-about-facts-section { padding: 28px 0; background: var(--up-soft); }
main.up-about .co-about-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; border: 0; }
main.up-about .co-about-fact { padding: 0 28px; border: 0; border-left: 1px solid var(--up-border); }
main.up-about .co-about-fact:first-child { padding-left: 0; border-left: 0; }
main.up-about .co-about-fact:last-child { padding-right: 0; }
main.up-about .co-about-fact .count { margin: 0 0 10px; color: #37566d; font-size: 36px; font-weight: 600; line-height: 1.1; letter-spacing: -.025em; white-space: nowrap; }
main.up-about .co-about-fact p { max-width: none; color: var(--up-muted); font-size: 14px; line-height: 1.45; }
main.up-about section.co-about-certificates { padding: 44px 0; background: #fff; }
main.up-about .co-about-certificates-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
main.up-about .co-about-certificates-heading h2:not(:where(.production-h3)),
main.up-about .co-about-legal-heading h2:not(:where(.production-h3)) { margin: 0; font-size: 30px; line-height: 1.25; font-weight: 600; text-align: left; }
main.up-about .co-about-certificates-heading > a { margin: 0; }
main.up-about .co-about-text-link { color: #37566d; text-decoration: underline; text-decoration-color: #aebdc9; text-underline-offset: 5px; }
main.up-about .up-about-documents { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
main.up-about .up-about-document { display: flex; flex-direction: column; min-width: 0; padding: 14px; border: 1px solid var(--up-border); border-radius: 12px; background: #fff; color: #303135; text-decoration: none; }
main.up-about .up-about-document img { display: block; width: 100%; height: 224px; margin: 0 0 16px; object-fit: contain; }
main.up-about .up-about-document :is(h3,h2:where(.production-h3)) { margin: 0 0 6px; font-size: 18px; font-weight: 600; line-height: 1.3; text-align: left; }
main.up-about .up-about-document-caption { color: #526c81; font-size: 13px; line-height: 1.4; }
main.up-about .co-about-legal-section { padding: 34px 0 40px; background: var(--up-soft); }
main.up-about .co-about-legal-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 48px; align-items: start; }
main.up-about .co-about-legal-heading { width: auto; max-width: none; margin: 0; }
main.up-about .co-about-legal-heading .co-about-text-link { margin-top: 18px; }
main.up-about .co-about-legal-details { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
main.up-about .co-about-legal-row { grid-template-columns: minmax(100px, .65fr) minmax(0, 1.35fr); gap: 24px; padding: 14px 0; }
main.up-about .co-about-legal-row:first-child { padding-top: 0; }
main.up-about .co-about-legal-row:last-child { padding-bottom: 0; }
main.up-about :is(.up-about-document, .co-about-text-link, .co-about-actions a):focus-visible { outline: 3px solid #37566d; outline-offset: 4px; }
@media (hover: hover) {
  main.up-about .co-about-actions a.btn-2:hover { background: #294459; border-color: #294459; }
  main.up-about .up-about-document:hover { border-color: #96aaba; background: #f8fafb; }
}
@media (max-width: 991px) {
  main.up-about .co-about-intro-layout { gap: 28px; }
  main.up-about .co-about-lead { font-size: 16px; }
  main.up-about .co-about-fact { padding: 0 18px; }
  main.up-about .co-about-fact .count { font-size: 29px; }
  main.up-about .up-about-documents { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  main.up-about .co-about-legal-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 28px; }
  main.up-about .co-about-legal-row { grid-template-columns: minmax(0, 1fr); gap: 5px; }
}
@media (max-width: 767px) {
  main.up-about .co-about-intro { padding: 26px 0 30px; }
  main.up-about .co-about-intro-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  main.up-about .co-about-copy h1 { margin-bottom: 18px; }
  main.up-about .co-about-actions { margin-top: 22px; }
  main.up-about .co-about-photo { max-width: 480px; justify-self: start; }
  main.up-about .co-about-facts-section { padding: 24px 0; }
  main.up-about .co-about-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 0; }
  main.up-about .co-about-fact { padding: 0 20px; border: 0; }
  main.up-about .co-about-fact:nth-child(odd) { padding-left: 0; }
  main.up-about .co-about-fact:nth-child(even) { padding-right: 0; border-left: 1px solid var(--up-border); }
  main.up-about .co-about-fact .count { margin-bottom: 7px; font-size: 30px; }
  main.up-about .co-about-fact p { font-size: 13px; }
  main.up-about section.co-about-certificates { padding: 30px 0; }
  main.up-about .co-about-certificates-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
  main.up-about .co-about-certificates-heading h2:not(:where(.production-h3)),
  main.up-about .co-about-legal-heading h2:not(:where(.production-h3)) { font-size: 26px; }
  main.up-about .up-about-documents { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  main.up-about .up-about-document { padding: 11px; border-radius: 10px; }
  main.up-about .up-about-document img { height: auto; aspect-ratio: 268 / 369; margin-bottom: 12px; }
  main.up-about .up-about-document :is(h3,h2:where(.production-h3)) { font-size: 17px; }
  main.up-about .up-about-document-caption { font-size: 12px; }
  main.up-about .co-about-legal-section { padding: 28px 0 32px; }
  main.up-about .co-about-legal-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  main.up-about .co-about-legal-row { grid-template-columns: minmax(88px, .7fr) minmax(0, 1.3fr); gap: 16px; }
  main.up-about .co-about-legal-row dt { font-size: 14px; }
  main.up-about .co-about-legal-row dd { font-size: 15px; }
}

/* A result and a single next step; personal details are only in the shared modal. */
main.up-calculator .page-kalkulyator.dp-calculator-page section.dp-calculator-intro { background: #fff; }
main.up-calculator section.calculator { padding-top: 0; padding-bottom: 24px; background: #fff; }
main.up-calculator section.calculator #formCalculator.dp-calculator { border-color: var(--up-border); box-shadow: none; }
main.up-calculator section.calculator #formCalculator.dp-calculator .form-footer {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  border-color: var(--up-border);
  background: var(--up-soft);
}
main.up-calculator section.calculator #formCalculator.dp-calculator .form-footer .price-wrapper {
  grid-column: auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 0;
  border: 0;
}
main.up-calculator section.calculator #formCalculator.dp-calculator .price-wrapper .total { font-size: 14px; line-height: 1.4; }
main.up-calculator .up-calculator-note { max-width: 820px; margin: 16px 0 0; color: var(--up-muted); font-size: 14px; line-height: 1.6; text-align: left; }
main.up-calculator .dp-calculator-prices { padding: 0 0 48px; background: #fff; }
main.up-calculator .up-reference-details { border: 1px solid var(--up-border); border-radius: 14px; background: #fff; }
main.up-calculator .up-reference-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  color: var(--dp-ink, #303135);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
main.up-calculator .up-reference-details > summary::-webkit-details-marker { display: none; }
main.up-calculator .up-reference-details > summary::after { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 3px 0 0; }
main.up-calculator .up-reference-details[open] > summary::after { transform: rotate(225deg); margin-top: 4px; }
main.up-calculator .up-reference-details > summary:focus-visible { outline: 2px solid #4f82c0; outline-offset: 3px; border-radius: 14px; }
main.up-calculator .up-reference-content { padding: 0 24px 24px; }
main.up-calculator .up-reference-content :is(h3,h2:where(.production-h3)) { margin: 28px 0 18px; font-size: 22px; text-align: left; }
main.up-calculator .up-reference-content .dp-calculator-details-content { padding: 0; }
main.up-calculator .up-reference-content .dp-table-scroll { border-color: var(--up-border); }
@media (max-width: 767px) {
  main.up-page :is(.co-about-intro, .dp-calculator-intro, .sc-page-intro, .sc-reviews-page) { padding-top: 20px; }
  main.up-page :is(.sc-page-intro, .dp-calculator-intro) { padding-bottom: 24px; }
  main.up-calculator .up-reference-details > summary { padding: 18px 16px; font-size: 16px; }
  main.up-calculator .up-reference-content { padding: 0 12px 16px; }
  main.up-calculator .up-reference-content :is(h3,h2:where(.production-h3)) { font-size: 20px; }
  main.up-calculator .dp-calculator-prices { padding-bottom: 32px; }
}
@media (max-width: 599px) {
  main.up-calculator section.calculator #formCalculator.dp-calculator .form-footer { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
