/* Small usability refinements; original layout, palette and typography retained. */
section[id] { scroll-margin-top: 7rem; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}

.skip-link { position:fixed; top:0; left:1rem; transform:translateY(-150%); z-index:100; padding:1rem; background:#fff; color:#111; }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.mobile-menu { display:none; }
.results-scroll { overflow-x:auto; padding-bottom:1.5rem; overscroll-behavior-x:contain; scrollbar-color:#777 #151515; }
.results-scroll article { scroll-snap-align:start; }
main p.text-sm { font-size:1rem; }
footer { padding-bottom:7rem !important; }
@media(max-width:639px) {
  header nav { flex-wrap:wrap; gap:.5rem; border-radius:1.5rem !important; }
  header nav > a:last-of-type { padding:.65rem .85rem; }
  .mobile-menu { display:block; width:100%; border-top:1px solid #ffffff20; padding-top:.35rem; }
  .mobile-menu summary { cursor:pointer; padding:.45rem .25rem; font-size:.875rem; }
  .mobile-menu div { display:flex; flex-wrap:wrap; gap:.5rem 1rem; padding:.4rem .25rem .6rem; }
  .mobile-menu a { padding:.5rem 0; font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}

.contact-copy { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
.contact-copy button { border:1px solid #ffffff40; border-radius:2rem; padding:.75rem 1rem; cursor:pointer; font-size:.875rem; }
.contact-copy button:hover { background:#ffffff12; }
#copy-status { width:100%; user-select:text; overflow-wrap:anywhere; }

/* Final spacing, stable controls and readable mobile typography. */
html { scroll-behavior:smooth; }
body { -webkit-font-smoothing:antialiased; }
header nav { background:rgba(14,14,14,.94); }
main h1, main h2 { text-wrap:balance; }
main p { text-wrap:pretty; }
img { max-width:100%; }
header nav > a:first-child { flex-shrink:0; }
header nav > a:first-child img { width:96px; height:32px; object-fit:contain; }
header nav > a:last-of-type { white-space:nowrap; }
img[alt="Taj Osman, founder of YOTOMATE INFRA"] { aspect-ratio:1; object-fit:cover; }
.magnetic { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.magnetic:hover { box-shadow:0 0 0 1px #ffffff20; }
.results-scroll { scroll-snap-type:x proximity; }
.text-muted-foreground { color:#b6b6bd; }
@media(max-width:639px) {
  section[id] { scroll-margin-top:9.5rem; }
  main > section { padding-top:4.5rem; padding-bottom:4.5rem; }
  main > section:first-child { padding-top:12rem; padding-bottom:3.5rem; }
  main h1 { font-size:clamp(2.25rem,10.5vw,3.5rem); line-height:1.07; }
  main h2 { font-size:clamp(1.85rem,8vw,2.7rem); line-height:1.14; }
  #contact .magnetic { width:100%; }
  .results-scroll article { width:min(82vw,340px); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } }

.service-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin:2rem 0; font-size:1rem; }
.service-links a { text-decoration:underline; text-underline-offset:.3rem; }
.service-page { max-width:960px; margin:auto; padding:11rem 1.5rem 5rem; }
.service-page .eyebrow { font-size:.875rem; letter-spacing:.12em; color:#b6b6bd; }
.service-page h1 { font-size:clamp(2.4rem,5vw,4.5rem); line-height:1.08; letter-spacing:-.035em; margin:1.8rem 0; }
.service-page .intro { font-size:1.2rem; max-width:760px; }
.service-page p { font-size:1.05rem; line-height:1.85; color:#b6b6bd; }
.service-page section { margin:3.5rem 0; border-top:1px solid #ffffff25; padding-top:2rem; }
.service-page h2 { font-size:1.7rem; line-height:1.3; margin-bottom:1rem; }
.service-cta { display:inline-block; background:#f5f5f5; color:#111; padding:1rem 1.5rem; border-radius:2rem; margin-top:1.5rem; }
