/* Čitljiviji tekst uz postojeći raspored i vizualni identitet. */
:root { --muted: #41565e; }
body { font-family: "Segoe UI", Arial, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.75; }
h1, h2, h3 { font-family: Manrope, "Segoe UI", Arial, sans-serif; font-weight: 600; }
h1 { line-height: 1.12; }
h2, h3 { line-height: 1.25; }
main p:not(.eyebrow):not(.price-main), main li { font-size: 1rem; line-height: 1.75; }
html { font-size: 17px; }
.eyebrow, .hero .eyebrow, .card-copy .eyebrow, .contact-grid .eyebrow, .quote-box .eyebrow,
.price-card > .eyebrow, .cta .eyebrow, .footer .eyebrow, .photo-tag, .image-corner-label,
.contact-small > span { font-size: .71rem; font-weight: 700; letter-spacing: .08em; }
.card-copy .eyebrow, .price-card > .eyebrow, .footer .eyebrow { color: #425d53; }
.header nav > a:not(.btn) { font-size: .94rem; font-weight: 600; }
.btn, .header .btn, .text-link, .hero .text-link, .contact-grid .text-link,
.company-panel .text-link { font-size: .88rem; font-weight: 600; }
.service-extra a, .space-links a, summary, .legal-aside > a, .contact-small > a { font-size: 1rem; }
.breadcrumbs { font-size: .82rem; }
.hero-note, .photo-caption { font-size: .88rem; line-height: 1.7; }
.photo-caption strong { font-size: 1rem; }
.trust-strip > div, .trust-strip strong { font-size: .88rem; }
.step { font-size: .88rem; color: #426a59; }
.form-grid label { font-size: .88rem; font-weight: 600; }
input, select, textarea { font-family: inherit; font-size: 1rem; min-height: 50px; line-height: 1.5; }
select { height: auto; }
input::placeholder, textarea::placeholder { font-size: .88rem; color: #586970; }
.quote-box > a:not(.btn), .price-unit, .price-card .price-vat,
.price-card .price-details, .pricing-notice strong { font-size: .88rem; }
.price-card .price-vat { color: #286445; }
.policy-meta { font-size: .88rem !important; }
.company-facts dt, .company-facts dd, .legal-facts dt, .legal-facts dd,
.cookie-facts dt, .cookie-facts dd { font-size: .94rem; line-height: 1.7; }
.company-facts dt, .legal-facts dt { font-weight: 600; }
.company-facts > div { grid-template-columns: 112px minmax(0, 1fr); gap: 20px; }
.legal-facts > div { grid-template-columns: 190px minmax(0, 1fr); }
.company-facts dd { overflow-wrap: anywhere; }
.client-card h3 { font-size: 1rem; line-height: 1.4; }
.footer-top p { font-size: .94rem; line-height: 1.75; }
.footer h2 { font-family: "Segoe UI", Arial, sans-serif; font-size: 1rem; font-weight: 700; }
.footer-top > div:not(:first-child) > a { font-size: .94rem; margin-bottom: 14px; }
.footer-top .footer-contact { font-size: 1.25rem !important; }
.footer-company { font-size: .88rem !important; line-height: 1.8 !important; }
.footer-top > div:not(:first-child) > .footer-impressum { font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { font-size: .82rem; line-height: 1.7; flex-wrap: wrap; }
.footer-bottom > div { gap: 14px 24px; }
.topbar { font-size: .71rem; letter-spacing: .04em; }
.topbar a { font-size: .76rem; white-space: nowrap; }
.topbar .container { min-height: 36px; height: auto; gap: 16px; padding-top: 6px; padding-bottom: 6px; }
.hero-actions { flex-wrap: wrap; }

@media (max-width: 1050px) {
  .header { height: 82px; }
  .menu-toggle { display: block; position: relative; background: none; border: 0; padding: 10px; width: 108px; height: 48px; }
  .menu-toggle span { position: absolute; left: 0; top: 12px; font-size: .88rem; }
  .menu-toggle i { display: block; position: absolute; right: 0; top: 17px; width: 24px; height: 2px; background: var(--ink); transition: transform .2s; }
  .menu-toggle i:last-child { top: 27px; }
  .menu-toggle[aria-expanded=true] i { transform: translateY(5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] i:last-child { transform: translateY(-5px) rotate(-45deg); }
  .header nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; padding: 18px 25px 25px; border-bottom: 1px solid var(--line); box-shadow: 0 10px 25px #12323815; }
  .header nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  .header nav > a:not(.btn) { font-size: 1rem; padding: 12px 0; }
  .header nav > a[aria-current=page]:after { display: none; }
  .header nav .btn { font-size: .94rem; margin-top: 10px; padding: 15px 20px; }
  .legal-facts > div { grid-template-columns: 1fr; gap: 6px; }
  .footer-top { gap: 36px; }
}
@media (max-width: 700px) {
  .header { height: 76px; }
  .header .brand-logo { width: 178px; }
  .nav-wrap { gap: 12px; }
  .menu-toggle { width: 94px; flex-shrink: 0; }
  .menu-toggle span { font-size: .82rem; }
  .topbar { font-size: .65rem; }
  .topbar a { font-size: .71rem; }
  .topbar .container > span { max-width: 58%; line-height: 1.4; }
  .hero-actions .btn, .hero-actions .text-link { font-size: .88rem; }
  .hero-actions { gap: 18px; }
  .trust-strip { grid-template-columns: 1fr; gap: 0; padding: 8px 0; }
  .trust-strip > div { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-strip > div:last-child { border-bottom: 0; }
  .trust-strip svg { width: 23px; height: 23px; margin: 0; }
  .photo-caption { font-size: .82rem; }
  .photo-caption strong { font-size: .94rem; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; }
  .footer-top > div:first-child { grid-column: auto; }
  .footer h2 { margin-bottom: 16px; }
  .footer-bottom { gap: 18px; }
  .footer-bottom > div { gap: 12px 20px; }
  .company-facts > div { grid-template-columns: 1fr; gap: 4px; }
  .client-card h3 { font-size: .88rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
