/* Local runtime fixes: preserve the downloaded layout without hosted scripts. */
:root { --heading-font-font-family: Arial, Helvetica, sans-serif; --body-font-font-family: Arial, Helvetica, sans-serif; --meta-font-font-family: 'Courier New', monospace; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.section-background img { width:100%; height:100%; object-fit:cover; }
.sqsrte-scaled-text-container { width:100%; }
.sqsrte-scaled-text { display:block; }
.sqsrte-scaled-text h1 { font-weight:800; letter-spacing:-.07em; line-height:1; text-transform:uppercase; }
.static-contact { padding:1rem 0; }
.static-contact a { overflow-wrap:anywhere; }
.static-contact .sqs-block-button-element { display:inline-block; padding:1em 1.4em; background:white; color:black; font-size:1rem; }
.image-preview { max-width:95vw; max-height:95vh; padding:2rem; border:0; background:#111; color:white; }
.image-preview::backdrop { background:#000d; }
.image-preview img { display:block; max-width:85vw; max-height:78vh; object-fit:contain; }
.image-preview button { display:block; margin-left:auto; margin-bottom:1rem; background:white; color:black; padding:.5rem 1rem; cursor:pointer; }
@media (max-width:767px) {
 .header--menu-open .header-menu { opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }
 .header--menu-open { overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} }
.sqsrte-scaled-text { position:static !important; left:auto !important; width:100% !important; }
body, p { font-family:'Courier New',monospace; }
h1,h2,h3,h4,.header-title-text,.header-nav-item,a.sqs-button-element--primary,.sqs-block-button-element,.header-actions-action--cta { font-family:Arial,Helvetica,sans-serif; }
.header-title-text a { font-family:Arial,Helvetica,sans-serif; font-weight:800; letter-spacing:-.06em; }
.header-actions-action--cta a { font-family:Arial,Helvetica,sans-serif !important; }
.sqsrte-scaled-text h1 { white-space:nowrap !important; overflow-wrap:normal !important; word-break:normal !important; }

/* Stretched shapes carry the following section's colour behind the image. */
.sqs-shape-block-container[data-stretched-to-fill] > svg.sqs-shape {
  width:100%; height:100%; overflow:visible;
}
.sqs-shape-block-container.hidden-stretch-block { display:flex !important; }

/* The gallery remains usable without JavaScript; JS reproduces shortest-column packing. */
.gallery-masonry-wrapper { position:relative; }
.gallery-masonry-item { margin:0; }
.gallery-masonry:not(.local-masonry-ready) .gallery-masonry-wrapper {
  columns:2; column-gap:7.5%;
}
.gallery-masonry:not(.local-masonry-ready) .gallery-masonry-item {
  break-inside:avoid; margin-bottom:7.5%;
}
.gallery-masonry-item img { width:100%; height:auto; }
.gallery-masonry.local-masonry-ready .gallery-masonry-item { position:absolute; }
.gallery-masonry-item-wrapper, .gallery-masonry-item:not([data-show]) .gallery-masonry-item-wrapper { opacity:1; }

/* Fade only content, never the positioning transform of a masonry item. */
.local-motion .local-reveal {
  opacity:0 !important;
  transition:opacity .9s ease var(--reveal-delay,0s);
}
.local-motion .local-reveal.is-visible { opacity:1 !important; }

.header.local-header-scrolled .header-background { opacity:1 !important; }
.header.local-header-scrolled { background-color:var(--local-header-background,#000); }
.header { transition:background-color .18s ease,color .18s ease; }

@media (min-width:768px) {
  #footer-sections > .page-section { min-height:calc(29.1vw + 27px); }
}
@media (max-width:767px) {
  .gallery-masonry:not(.local-masonry-ready) .gallery-masonry-wrapper { columns:2; column-gap:2%; }
  .gallery-masonry:not(.local-masonry-ready) .gallery-masonry-item { margin-bottom:8vw; }
}
@media (prefers-reduced-motion:reduce) {
  .local-motion .local-reveal { opacity:1 !important; transition:none !important; }
}

/* Join full-bleed backgrounds without contrasting subpixel seams. These pages
   use straight section boundaries; Squarespace's unused divider stroke must not paint. */
.page-section { background-color:var(--siteBackgroundColor); }
.page-section > .section-border {
  top:calc(-1px - var(--previous-section-divider-offset, 0px));
  bottom:-1px;
}
.has-section-divider > .section-border { clip-path:none !important; transform:none; }
.section-divider-svg-stroke { display:none !important; }
.sqs-shape-block-container[data-stretched-to-fill] > svg.sqs-shape {
  height:calc(100% + 2px); margin-top:-1px;
}
.sqs-shape-rectangle > rect { shape-rendering:crispEdges; stroke:none !important; }

/* The last light section must not paint a fractional row over the black footer. */
#footer-sections { position:relative; background:#000; }
#footer-sections::before {
  content:""; position:absolute; inset:-2px 0 auto; height:4px;
  background:#000; pointer-events:none; z-index:100;
}
#siteWrapper { background:#000; }

/* CTA labels stay on one line, including buttons in narrow Fluid Engine cells. */
a.sqs-block-button-element,
a[class*="sqs-button-element--"],
.header-menu-cta a,
.image-preview button {
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  min-width:max-content;
  box-sizing:border-box;
}
@media (max-width:767px) {
  .static-contact .sqs-block-button-element { font-size:clamp(.75rem,3.6vw,1rem); }
}
/* Keep the preceding section's stacked shapes below the footer's seam cover. */
main#page { isolation:isolate; }
#footer-sections { z-index:1; }
main#page { z-index:0; }

/* Keep the about-page CTA attached to the biography instead of a distant grid row. */
.fe-block-d37a19193f1120ae89e6 .minust-read-more { margin-top:24px !important; }
@media (min-width:768px) {
  .fe-block-d37a19193f1120ae89e6 { grid-area:12/2/24/11; }
}

/* Continue the about hero photo across the grey transition, as on the other pages. */
@media (min-width:768px) {
  .page-section .fe-block-59c981e33b8f3f648f0d { grid-row-end:29; }
}
