/* One warm paper palette across pages and seasonal themes. */
:root {
    --paper: #f7f5ef;
    --surface: #f7f5ef;
    --black: #35372f;
    --ink-soft: #66685e;
    --border: #d9d7cc;
    --clay: #6d765f;
}

body[data-theme] {
    --season-bg: var(--paper);
    --season-surface: var(--paper);
    --season-text: var(--black);
    --season-accent: #59634d;
    background: var(--paper);
    color: var(--black);
}

body .home-page,
body .portfolio-page,
body .contact-page,
body .book-page,
body main section:not(.nl-hero):not(.image-hero):not(.service-video):not(.story-cta),
body .reel-frame,
body .contact-form-card,
body .book-panel,
body .book-summary,
body .booking-calendar {
    background: var(--paper);
    color: var(--black);
}

body .seasonal-background::before { display: none; }

body .site-header,
body .site-header.is-scrolled,
body .site-header:has(.primary-nav.is-open) {
    background: var(--paper);
    color: var(--black);
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
}

body .site-header {
    inset: 0 0 auto;
    padding: 14px clamp(22px, 5vw, 78px);
}

body .seasonal-announcement + .seasonal-environment + .site-header { top: var(--announcement-offset, 30px); }
body .seasonal-announcement {
    background: var(--paper);
    color: var(--black);
    border-bottom: 1px solid var(--border);
}

body .site-logo { background: transparent; }
body .primary-nav a:not(.button) { font-weight: 500; letter-spacing: .1em; }
body .button,
body .outline-pill,
body .pf-focus-button {
    border-radius: 0;
    font-weight: 500;
    letter-spacing: .12em;
}

body .site-header .button {
    background: transparent;
    color: var(--black);
    border: 1px solid var(--black);
}

.home-page .nl-intro-block {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
    justify-items: center;
    border: 0;
}
.home-page .nl-intro-block h2 { max-width: 22ch; line-height: 1.2; }
.home-page .featured-work,
.home-page .photo-process,
.home-page .kind-words { border-bottom: 1px solid var(--border); }
.home-page .contact-frame > div { padding: 0; border: 0; }
.home-page .contact-frame p { font-weight: 500; line-height: 1.8; }
.home-page .contact-frame small { color: var(--ink-soft); }
.home-page .photo-collage { gap: 16px; }
.home-page .kind-words blockquote { font-style: italic; }

body :is(.featured-work, .pf-story, .cta-band, .seasonal-campaign) .light-link,
body .cta-copy p:not(.eyebrow),
body .seasonal-copy > p:not(.eyebrow),
body .pf-roll header > p:last-child,
body .cta-band .cta-details span,
body .cta-band .cta-details strong,
body .cta-band .cta-image figcaption,
body .cta-band .eyebrow,
body .halloween-film .nl-kicker,
body .halloween-film .fall-film-copy > p:not(.nl-kicker),
body .halloween-film figcaption {
    color: var(--ink-soft);
}
body :is(.cta-band, .seasonal-campaign) .button.light {
    background: var(--black);
    color: var(--paper);
}
body :is(.cta-band, .seasonal-campaign) .button.ghost-light {
    color: var(--black);
    border-color: var(--black);
}
body .seasonal-card li { background: var(--paper); color: var(--black); }
body .cta-band .cta-details { border-color: var(--border); }
body .cta-band .cta-details li { border-color: var(--border); }
body .pf-cta h2 { line-height: 1.15; }
body .pf-cta > img { transform: none; }

body .site-footer,
body .mobile-sticky {
    background: var(--paper);
    color: var(--black);
    border-top: 1px solid var(--border);
}
body .site-footer nav a,
body .site-footer nav a:hover,
body .site-footer .fine-print,
body .site-footer :is(.site-icon, .brand-icon) { color: var(--ink-soft); }
body .site-footer .fine-print,
body .site-footer > nav[aria-label="Social"] { border-color: var(--border); }

@media (max-width: 1100px) {
    body .primary-nav { background: var(--paper); }
    body.menu-open .site-header { background: var(--paper); }
}
@media (max-width: 560px) {
    body .site-header { padding: 10px 22px; }
    .home-page .photo-collage { gap: 8px; }
}
