/* ============================================================
   plate — photographer: no hero, a silent gapless square mosaic.
   ============================================================ */
body.t-plate.ws-body { --bg: #ffffff; --fg: #6b6b6b; --heading: #111111; --text: #6b6b6b; --muted: #9a9a9a; }
body.t-plate .ws-nav { background: #ffffff; border-bottom: 0; }
body.t-plate .ws-nav-inner { height: 88px; }
body.t-plate .ws-brand { text-transform: uppercase; letter-spacing: 0.34em; font-weight: 600; font-size: 12px; }
body.t-plate .ws-nav-links a { text-transform: uppercase; letter-spacing: 0.2em; font-size: 10px; font-weight: 600; opacity: 0.6; }
body.t-plate .ws-nav-links a:hover, body.t-plate .ws-nav-links a.on { opacity: 1; color: #111111; }
body.t-plate .ws-section { padding: 0; background: transparent; }
body.t-plate main > .ws-section:first-child { padding-top: 0; }
body.t-plate .ws-gallery .ws-container { max-width: 100%; padding: 0; }
body.t-plate .ws-gallery-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0; }
body.t-plate .ws-gallery-item img { border-radius: 0; aspect-ratio: 1; filter: grayscale(1); }
body.t-plate .ws-story { padding: 96px 0; }
body.t-plate .ws-story-media img { border-radius: 0; filter: grayscale(1); }
body.t-plate .ws-story-copy h2 { text-transform: uppercase; letter-spacing: 0.24em; font-size: 13px; font-weight: 700; }
body.t-plate .ws-contact { padding: 20px 0 96px; }
body.t-plate .ws-h2 { text-transform: uppercase; letter-spacing: 0.24em; font-weight: 700; font-size: 13px; text-align: left; }
body.t-plate .ws-sub { text-align: left; margin-left: 0; }
body.t-plate.ws-body .btn.brand { border-radius: 0; text-transform: uppercase; letter-spacing: 0.2em; font-size: 10.5px; font-weight: 700; background: #111111; color: #ffffff; border: 0; box-shadow: none; }
body.t-plate .ws-field input, body.t-plate .ws-field textarea { border-radius: 0; }

/* plate — night. The toggle in the site's own menu flips to this; the preference is
   stored per site, so it never reaches the dashboard or another template. */
html[data-theme="dark"] body.t-plate.ws-body { --bg: #0e0e0e; --fg: #adadad; --heading: #f2f2f2; --text: #adadad; --muted: #8a8a8a; }
html[data-theme="dark"] body.t-plate .ws-nav { background: color-mix(in srgb, #0e0e0e 92%, transparent); border-bottom-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-section { border-top-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-story-copy p,
html[data-theme="dark"] body.t-plate .ws-feature p,
html[data-theme="dark"] body.t-plate .ws-faq-item p,
html[data-theme="dark"] body.t-plate .ws-richtext p { color: #adadad; }
html[data-theme="dark"] body.t-plate .ws-quote { background: #171717; border-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-quote blockquote { color: #adadad; }
html[data-theme="dark"] body.t-plate .ws-plan { background: #171717; border-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-faq-list, html[data-theme="dark"] body.t-plate .ws-faq-item { border-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-field input,
html[data-theme="dark"] body.t-plate .ws-field textarea,
html[data-theme="dark"] body.t-plate .ws-field select { background: #171717; border-color: #242424; color: #f2f2f2; }
html[data-theme="dark"] body.t-plate .ws-footer { border-top-color: #242424; }
html[data-theme="dark"] body.t-plate .ws-cta { background: #000000; }
html[data-theme="dark"] body.t-plate .ws-gallery-cap strong { color: #f2f2f2; }
html[data-theme="dark"] body.t-plate .ws-side { background: #0e0e0e; border-right-color: #242424; }
