/* Restrained customer-facing polish; original colours, mark and content remain. */
:root { --shadow: 0 12px 34px rgba(21,21,21,.09); }
body { font-family: "Helvetica Neue", Arial, sans-serif; }
.migration-frame { background: var(--paper); }
.migration-home, .migration-network, .migration-calculator { padding-top: 0; padding-bottom: 0; }
.migration-frame h1, .migration-frame h2, .migration-frame h3, .migration-frame h4 {
  /* Anton lacks Greek glyphs: explicitly avoid an accidental serif fallback. */
  font-family: Anton, "Arial Narrow", Arial, sans-serif;
  font-weight: 800; letter-spacing: -.025em;
}
.migration-frame h1 { font-size: clamp(42px, 5.4vw, 78px); line-height: 1.06; max-width: 15ch; }
.migration-frame h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.13; }
.migration-frame h3 { line-height: 1.16; }
.migration-frame .topbar { background: rgba(247,242,232,.97); }
.migration-frame .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 680px; }
.migration-frame .hero-copy { padding: clamp(32px,4.5vw,64px); gap: 24px; }
.migration-frame .hero-media { min-height: 620px; overflow: hidden; }
.migration-frame .hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.migration-frame .hero-status { box-shadow: var(--shadow); }
.migration-frame .section { padding-top: clamp(44px,5.5vw,80px); padding-bottom: clamp(44px,5.5vw,80px); }
.migration-frame .section-head { gap: 24px; }
.migration-frame .logo-slot { background: #fff; }
.migration-frame .logo-slot img { object-fit: contain; }
.migration-frame .network-photo { overflow: hidden; }
.migration-frame .button { transition: transform .15s ease, box-shadow .15s ease; }
.migration-frame .button:active { transform: translate(2px,2px); box-shadow: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #2456a6; outline-offset: 4px;
}
.skip-link { position: fixed; z-index: 100; left: 16px; top: 8px; padding: 12px 20px; background: #151515; color: #fff; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.contact-section { background: var(--paper); padding-top: 64px; padding-bottom: 64px; border-top: 1px solid var(--line); }
#contact-form legend { font-size: 28px; font-weight: 700; margin-bottom: 20px; }
#contact-form input, #contact-form textarea { background: #fff; border: 1px solid var(--line); border-radius: 6px; }
#contact-form button { border-radius: 8px; background: #151515; color: #fff; box-shadow: 4px 4px 0 var(--yellow); font-weight: 700; }
@media (max-width: 1000px) {
  .migration-frame .hero { grid-template-columns: 1fr; min-height: auto; }
  .migration-frame .hero-media { min-height: 480px; border-left: 0; }
}
@media (max-width: 767px) {
  .migration-frame { padding-left: 0; padding-right: 0; }
  .migration-frame .topbar { padding: 20px; }
  .migration-frame .hero-copy { padding: 32px 24px; }
  .migration-frame h1 { font-size: clamp(38px,10vw,60px); }
  .migration-frame .hero-media { min-height: 460px; }
  .migration-frame .section { padding-left: 24px; padding-right: 24px; }
  .migration-frame .tool-hero { padding-top: 40px; }
  .migration-frame .hero-actions { gap: 14px; }
  .contact-section { padding: 48px 24px; }
  .contact-name-row { grid-template-columns: 1fr; gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  .skip-link { display: none; }
}
