/* Shared by the public site and WordPress editor. */
:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { margin: 0; }
* { box-sizing: border-box; }
a { text-underline-offset: .25em; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid #dc9278; outline-offset: 5px; }
img { max-width: 100%; height: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > :where(header, footer) { padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right); }
.threshold-header, .threshold-footer { max-width: 1320px; margin-inline: auto; }
.threshold-header { padding-block: 2rem; border-bottom: 2px solid #59615e; gap: 2rem; }
.threshold-header .wp-block-site-title { margin: 0; }
.threshold-identity-note { margin-top: .5rem; font-size: .625rem; letter-spacing: .045em; color: #b4bfbd; }
.threshold-header .wp-block-navigation { gap: 1.7rem; }
.threshold-eyebrow { font-size: .625rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #dc9278; }
.threshold-hero { padding-block: clamp(2.75rem, 5vw, 4.5rem); gap: clamp(2rem, 6vw, 6rem); align-items: center !important; }
.threshold-hero h1 { font-weight: 800; letter-spacing: -.065em; line-height: 1; margin-block: 1.3rem 1.5rem; }
.threshold-hero h1 em { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; letter-spacing: -.04em; color: #dc9278; }
.threshold-lede { max-width: 36rem; color: #b4bfbd; font-size: .9375rem; }
.threshold-hero .wp-block-image { margin: 0; }
.threshold-hero .wp-block-image img { width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.threshold-hero figcaption { text-align: left; margin-top: .85rem; }
.threshold-link { font-size: .8125rem; font-weight: 600; }
.threshold-section { padding-block: 1.5rem 3rem; }
.threshold-section-heading { padding-top: 1.5rem; border-top: 2px solid #59615e; margin-bottom: 1.8rem; gap: 1rem; }
.threshold-section-heading h2 { margin: 0; }
.threshold-photo-grid { gap: 1.75rem; }
.threshold-photo-grid .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #101616; cursor: zoom-in; }
/* Core's zoom geometry can inherit a CSS thumbnail crop. Restore the artwork. */
.wp-lightbox-overlay.active .lightbox-image-container { width: calc(100vw - 48px); height: calc(100dvh - 100px); }
.wp-lightbox-overlay.active .wp-block-image img { min-width: 0; min-height: 0; width: auto !important; height: auto !important; max-width: 100%; max-height: 100%; aspect-ratio: auto !important; object-fit: contain !important; }
.threshold-photo-grid h3 { font-size: 1.45rem; font-weight: 600; }
.threshold-photo-grid h3 a { text-decoration: none; }
.threshold-photo-grid h3 a:hover { text-decoration: underline; }
.threshold-photo-grid p:not(.threshold-eyebrow) { font-size: .8125rem; color: #b4bfbd; }
.threshold-lenses { border-top: 1px solid #59615e; padding-block: 1.75rem 3rem; gap: 1.75rem; }
.threshold-lenses h3 { font-size: 1.05rem; }
.threshold-lenses p { font-size: .8125rem; color: #b4bfbd; }
.threshold-about { background: #243030; padding-block: 3rem; }
.threshold-about .wp-block-columns { gap: 4rem; }
.threshold-footer { border-top: 1px solid #59615e; padding-block: 2rem; font-size: .8125rem; gap: 1.5rem; }
.threshold-footer p { margin: 0; }
.threshold-main { padding-block: clamp(2.5rem, 6vw, 5rem); min-height: 55vh; }
.threshold-posts .wp-block-post { border-top: 1px solid #59615e; padding-top: 1.5rem; }
.threshold-posts .wp-block-post-title { font-size: clamp(1.5rem, 2.3vw, 2rem); }
.threshold-posts .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: contain; background: #101616; }
.wp-block-post-content { overflow-wrap: anywhere; }
.wp-block-post-content :where(pre, table) { max-width: 100%; overflow-x: auto; }
.wp-block-post-content iframe { max-width: 100%; }
:where(input:not([type=checkbox]):not([type=radio]):not([type=submit]), textarea, select) { background: #243030; color: #f0eee6; border: 1px solid #59615e; padding: .7rem; font: inherit; max-width: 100%; }
:where(button, input[type=submit]) { font: inherit; }
.wpcf7-form label { display: block; }
.wpcf7-form-control-wrap :where(input, textarea) { width: 100%; }
.wpcf7-not-valid-tip { color: #ffaf98; }
.wp-block-navigation__responsive-container.is-menu-open { background: #161d1e !important; color: #f0eee6 !important; padding: 2rem; }
@media (max-width: 781px) {
  .threshold-hero { gap: 2.5rem; }
  .threshold-hero h1 { font-size: clamp(3.5rem, 12vw, 5rem); }
  .threshold-hero .wp-block-image { max-width: 36rem; margin-inline: auto; }
  .threshold-about .wp-block-columns { gap: 1.5rem; }
  .threshold-photo-grid { gap: 2.5rem; }
  .threshold-posts .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .threshold-header { gap: 1rem; }
  .threshold-header .wp-block-site-title { font-size: 1.3rem; }
  .threshold-identity-note { max-width: 16rem; }
  .threshold-section-heading { align-items: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


/* Keep the opening strong while exposing real content in a desktop viewport. */
@media (min-width: 782px) {
  .threshold-header { padding-block: 1rem; }
  .threshold-hero { padding-block: 1.25rem 1.5rem; }
  .threshold-hero h1 { font-size: clamp(3.75rem, 5.5vw, 5rem); margin-block: .65rem .85rem; }
  .threshold-hero .wp-block-image img { max-height: 340px; }
}
