/*
 * Yugoday design quality pass
 * Preserve the navy / ivory / saffron identity; improve readability, focus
 * visibility, tap targets and small-screen resilience without altering logos.
 */
:root {
  --ux-text: #203245;
  --ux-muted: #4e5d6b;
  --ux-border: #d8d3c9;
  --ux-focus: #A64D17;
  --ux-radius: 6px;
}
body { color: var(--ux-text); font-size: 16px; line-height: 1.7; }
p { max-width: 70ch; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--ux-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #FFFEFA; border-radius: 3px;
}
.site-header { border-bottom-color: var(--ux-border); }
.site-header .brand { flex-shrink: 0; min-width: 0; }
.site-header .brand picture, .site-header .brand picture img { display: block; }
.site-header .brand picture img { width: min(210px, 48vw); height: auto; object-fit: contain; }
.nav > a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.nav .nav-cta { padding-inline: 17px; }
.button {
  min-height: 44px; padding: 13px 18px; font-size: 14px; line-height: 1.35;
  border-radius: var(--ux-radius);
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.button-dark:hover { background: #2d455b; }
.button-light:hover { background: #f1dfc5; }
.text-link, .service-card > a, .blog-card-foot a { min-height: 44px; display: inline-flex; align-items: center; }
.hero-intro, .section-intro > p, .approach-heading > p, .about-copy > p, .contact-inner > div > p {
  color: var(--ux-muted); font-size: 16px; line-height: 1.75;
}
.hero h1 { letter-spacing: -.045em; line-height: 1.08; }
.service-card { min-width: 0; border-color: var(--ux-border); border-radius: 0; }
.service-card h3, .service-card > h2 { line-height: 1.25; overflow-wrap: anywhere; }
.service-card > p, .service-card li { color: var(--ux-muted); font-size: 14px; line-height: 1.65; }
.service-card > a { font-size: 13px; gap: 12px; }
.service-card:focus-within { outline: 2px solid var(--ux-focus); outline-offset: -3px; }
.proof-inner span { font-size: 13px; }
.proof-inner b { white-space: nowrap; }
.eyebrow { line-height: 1.5; }
.contact input, .contact select, .contact textarea, .enquiry-form input, .enquiry-form select, .enquiry-form textarea {
  min-height: 44px; font-size: 16px;
}
.contact textarea, .enquiry-form textarea { min-height: 112px; }
.contact label, .enquiry-form label { font-size: 14px; }
.menu-toggle { min-width: 44px; min-height: 44px; border-radius: var(--ux-radius); cursor: pointer; }
@media (max-width: 767px) {
  .site-header .brand picture img { width: min(210px, calc(100vw - 100px)); }
  .nav { padding: 12px 18px 20px; }
  .nav > a { min-height: 48px; font-size: 16px; }
  .nav .nav-cta { justify-content: space-between; }
  .hero h1 { font-size: clamp(2.65rem, 10.5vw, 4.25rem); letter-spacing: -.045em; overflow-wrap: anywhere; }
  .hero-intro, .section-intro > p, .approach-heading > p, .about-copy > p, .contact-inner > div > p { font-size: 16px; }
  .hero-actions { align-items: stretch; }
  .hero-actions .button { justify-content: space-between; }
  .hero-actions .text-link { min-height: 44px; }
  .service-card { padding: 20px 16px; }
  .service-card > p, .service-card li { font-size: 14px; }
  .proof-inner span { line-height: 1.4; }
  .footer nav { flex-wrap: wrap; gap: 4px 16px; }
  .footer nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
}
@media (max-width: 390px) {
  .hero h1 { font-size: clamp(2.5rem, 11vw, 3.25rem); }
  .proof-inner > div { align-items: flex-start; flex-direction: column; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .service-card:hover { transform: none; }
}
