/* Northlight (portraits and headshots): a dark studio, big editorial type, photos edge to edge. */
:root { --bg: #111111; --fg: #f2efe9; --muted: #a39e95; --line: #2a2a2a; --card: #1b1b1b;
  --font-display: "Fraunces", Georgia, serif; --font-body: "Inter", -apple-system, Arial, sans-serif;
  --btn-bg: var(--accent); --btn-fg: #111; }
.t-northlight .s-hero h1 { font-weight: 700; letter-spacing: -.04em; font-size: clamp(48px, 7.6vw, 112px); }
.t-northlight .s-hero[data-hero="split"] .s-hero-copy { padding-inline: var(--gutter) clamp(24px, 4vw, 64px); margin-left: max(0px, calc((100vw - var(--wrap)) / 2 - var(--gutter))); }
.t-northlight .s-h2 { font-weight: 700; letter-spacing: -.03em; }
.t-northlight .s-grid { gap: 4px; } .t-northlight .s-grid img { aspect-ratio: 3 / 4; }
.t-northlight .s-grid figure:first-child { grid-column: span 2; grid-row: span 2; } .t-northlight .s-grid figure:first-child img { height: 100%; aspect-ratio: auto; }
.t-northlight .s-card { border: 1px solid var(--line); background: transparent; }
.t-northlight .s-price { font-family: var(--font-display); font-size: 28px; color: var(--accent); }
.t-northlight .s-eyebrow { color: var(--accent); opacity: 1; }
.t-northlight .s-form input, .t-northlight .s-form textarea { background: var(--card); }
.t-northlight .s-header { background: color-mix(in srgb, var(--bg) 88%, transparent); }
@media (max-width: 760px) { .t-northlight .s-grid figure:first-child { grid-column: span 2; grid-row: auto; } }
