:root {
  color-scheme: light dark;
  --paper: #f2f1eb;
  --ink: #232a24;
  --muted: #5b645b;
  --line: #cdd2c6;
  --accent: #48613c;
  --panel: #e7e9de;
  --glow: #cbd6b3;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #141714;
    --ink: #eff1e7;
    --muted: #a4afa0;
    --line: #394336;
    --accent: #c3dc9b;
    --panel: #1c241a;
    --glow: #384a2b;
  }
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.page { width: min(1360px, calc(100% - 112px)); min-height: 100svh; margin: auto; display: flex; flex-direction: column; }
.frame-label, .frame-ratio { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; letter-spacing: 0.06em; }
main { flex: 1; display: grid; align-items: center; }
.intro { position: relative; padding: 80px 0 96px; }
.intro-copy { position: relative; z-index: 1; }
h1 { margin: 0; max-width: 64%; font-size: clamp(44px, 5.8vw, 84px); line-height: 1.02; letter-spacing: -0.065em; font-weight: 500; }
.amp { display: block; margin: 8px 0; color: var(--accent); font-family: Georgia, serif; font-style: italic; font-weight: 400; }
.secondary { display: block; }
.service-copy { max-width: min(64%, 440px); margin-top: 36px; }
.service-copy h2 { margin: 0 0 12px; font-size: 14px; font-weight: 500; letter-spacing: 0.01em; }
.service-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.contact-link { display: inline-block; margin-top: 24px; font-size: 14px; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.contact-link:hover { color: var(--accent); }
.contact-link span { margin-left: 8px; }
.viewfinder { position: absolute; width: 30%; aspect-ratio: 16 / 9; top: 29%; right: 0; overflow: hidden; border: 1px solid var(--line); background: radial-gradient(ellipse at 65% 50%, var(--glow), var(--panel) 70%); }
.film-plane { position: absolute; inset: 15%; border: 1px solid var(--line); transform: rotate(-18deg); }
.lens { position: absolute; width: 58%; aspect-ratio: 1; border: 1px solid var(--accent); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 0.4; }
.lens-inner { width: 40%; }
.crosshair { position: absolute; inset: 50% auto auto 50%; width: 18px; height: 18px; transform: translate(-50%, -50%); }
.crosshair::before, .crosshair::after { content: ""; position: absolute; background: var(--accent); }
.crosshair::before { width: 18px; height: 1px; top: 8px; }
.crosshair::after { width: 1px; height: 18px; left: 8px; }
.frame-label, .frame-ratio { position: absolute; bottom: 12px; color: var(--muted); font-size: 9px; }
.frame-label { left: 14px; }
.frame-ratio { right: 14px; }
.site-footer { padding: 18px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.6; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 3; padding: 12px 20px; background: var(--ink); color: var(--paper); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 800px) {
  .page { width: calc(100% - 48px); }
  .intro { padding: 48px 0; }
  h1 { max-width: 100%; font-size: clamp(36px, 7.5vw, 64px); }
  .service-copy { max-width: 440px; margin-top: 28px; }
  .viewfinder { position: relative; top: auto; width: 100%; max-width: 440px; margin: 36px 0 0 auto; }
  .site-footer { padding: 20px 0; }
}
@media (prefers-contrast: more) {
  :root { --muted: var(--ink); --line: var(--ink); }
}
