/* Mike Johnson Photo + Video — global styles. Page layouts live inline in src/pages/*.html. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F7F5F1; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
img, video { max-width: 100%; }
img[width] { height: auto; }
a { color: #1B2A4A; }
a:hover { color: #2F4A7F; }
:focus-visible { outline: 3px solid #2F4A7F; outline-offset: 3px; }
.skip { position: absolute; left: -9999px; top: 8px; background: #1B2A4A; color: #FFF; padding: 10px 16px; border-radius: 6px; z-index: 100; }
.skip:focus { left: 8px; }
.hp { position: absolute; left: -9999px; }
details summary { list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: "+"; float: right; font-weight: 400; color: #5A6172; }
details[open] summary::after { content: "–"; }
.menu-btn { display: none; }
.form-status { grid-column: 1 / -1; margin: 0; font-weight: 600; }
.form-status.ok { color: #1E6B3A; }
.form-status.err { color: #A3261D; }

/* Video lightbox */
.vbox { position: fixed; inset: 0; background: rgba(10, 14, 24, 0.88); display: none; align-items: center; justify-content: center; z-index: 200; padding: 24px; }
.vbox.open { display: flex; }
.vbox-inner { width: min(1100px, 100%); aspect-ratio: 16 / 9; position: relative; }
.vbox iframe { width: 100%; height: 100%; border: 0; border-radius: 8px; background: #000; }
.vbox-close { position: absolute; top: -44px; right: 0; background: none; border: 0; color: #FFF; font-size: 32px; cursor: pointer; line-height: 1; }

/* Tablet */
@media (max-width: 1024px) {
  [style*="repeat(4, minmax(0, 1fr))"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  h1 { font-size: clamp(36px, 6vw, 52px) !important; }
}

/* Phone */
@media (max-width: 760px) {
  header { padding: 18px 20px 14px !important; gap: 10px !important; }
  header > a span:first-child { font-size: 26px !important; }
  .menu-btn { display: inline-block; background: #1B2A4A; color: #FFF; border: 0; border-radius: 999px; padding: 10px 22px; font: 600 15px Inter, sans-serif; cursor: pointer; }
  #main-nav { display: none !important; }
  #main-nav.open { display: flex !important; flex-direction: column; gap: 14px !important; padding: 8px 0 4px; }
  section[style*="padding"], article[style*="padding"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding: 88px"], [style*="padding: 80px"], [style*="padding: 72px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  [style*="padding: 0 48px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="minmax(420px"], [style*="minmax(360px"], [style*="minmax(320px"], [style*="minmax(300px"], [style*="minmax(280px"], [style*="minmax(260px"], [style*="minmax(240px"] { grid-template-columns: 1fr !important; }
  [style*="minmax(220px"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [style*="repeat(4, minmax(0, 1fr))"], [style*="repeat(3, minmax(0, 1fr))"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [style*="flex: 1 1 520px"], [style*="flex: 1 1 560px"], [style*="flex: 999 1"], [style*="flex: 1.3 1"], [style*="flex: 1.4 1"], [style*="flex: 1 1 440px"], [style*="flex: 1 1 420px"], [style*="flex: 1 1 360px"], [style*="flex: 1 1 340px"], [style*="flex: 1 1 320px"] { flex-basis: 100% !important; }
  [style*="height: 760px"] { height: 560px !important; }
  [style*="height: 620px"], [style*="height: 640px"] { height: auto !important; min-height: 520px; }
  img[style*="height: 640px"], img[style*="height: 620px"] { height: 340px !important; min-height: 0; }
  section[style*="height: 620px"] > img, section[style*="height: 640px"] > img { position: absolute; inset: 0; height: 100% !important; }
  section[style*="height: 620px"] > div, section[style*="height: 640px"] > div { position: relative !important; min-height: 520px; padding: 40px 0; background: rgba(27, 42, 74, 0.72) !important; }
  [style*="justify-content: flex-end"] { justify-content: flex-start !important; }
  [style*="padding: 56px 64px"], [style*="padding: 64px 56px"], [style*="padding: 56px 56px"] { padding: 36px 20px !important; }
  [style*="padding: 48px"] { padding: 28px 20px !important; }
  [style*="padding: 40px"] { padding: 24px !important; }
  [style*="padding: 44px"] { padding: 24px !important; }
  h1 { font-size: clamp(32px, 9vw, 44px) !important; }
  h2[style*="font-size: 52px"], h2[style*="font-size: 50px"], h2[style*="font-size: 44px"] { font-size: 32px !important; }
  h2[style*="font-size: 40px"], h2[style*="font-size: 38px"] { font-size: 30px !important; }
  [style*="font-size: 48px"] { font-size: 36px !important; }
  [style*="max-width: 460px"], [style*="max-width: 400px"] { max-width: 100% !important; }
  table { font-size: 15px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
