:root {
  --pj-ink: #122d49;
  --pj-body: #465260;
  --pj-gold-dark: #766018;
}
.pj-skip { position: absolute; left: 16px; top: -100px; z-index: 9999; padding: 12px 18px; background: white; color: var(--pj-ink); }
.pj-skip:focus { top: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #1771aa; outline-offset: 4px; }
.pj-detail h2 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin-bottom: 20px; color: var(--pj-ink); }
.pj-detail p { max-width: 78ch; font-size: 17px; line-height: 1.75; color: var(--pj-body); margin-bottom: 18px; }
.pj-detail a:not(.btn) { color: var(--pj-ink); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.pj-availability, .pj-form-note { font-size: 15px; line-height: 1.6; color: #465260; margin: 20px 0; max-width: 68ch; }
.pj-form-status:not(:empty) { padding: 18px; margin-top: 20px; font-size: 16px; line-height: 1.6; border-radius: 4px; }
.pj-form-error { color: #8b2020; background: #fff1ef; }
.pj-form-success { color: #175234; background: #eef8f0; }
.pj-form-notice { color: var(--pj-ink); background: #edf3f8; }
button:disabled { cursor: default; opacity: .75; }
.section-label, .service-link { color: var(--pj-gold-dark); }
.usp-bar span, footer p, footer span, footer a { opacity: 1; }
footer p, footer span, footer a { color: #dfe6ef; }
.footer-brand p, .footer-col a, .footer-col ul li a, .footer-bottom, .footer-bottom span, .footer-bottom a, .footer-contact, .footer-contact a { color: #dfe6ef; }
.usp-text span { color: #16324c; }
.cta-band p { color: #dfe6ef; }
.cta-phone span { color: #e2c060; }
.financing-partners:has(> .partner-card:only-child) { grid-template-columns: minmax(0, 700px); justify-content: center; }
.fade-up, .fade-up-2, .fade-up-3 { animation: none; opacity: 1; transform: none; }
.hero-sub { color: #465260; font-weight: 400; }
.hero-badge { line-height: 1.5; }
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(2rem, 9vw, 3rem); line-height: 1.12; }
  .hero-btns .btn { min-height: 48px; }
  .pj-detail p { font-size: 16px; }
  .contact-grid input, .contact-grid textarea, .contact-grid select { font-size: 16px; }
  .team-grid[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .team-card { min-width: 0; overflow-wrap: anywhere; }
  .nav-toggle { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
