/*
 * NAYUTA SITE / Calligraphy Decorations.
 * CSS masks read pre-reviewed SVG *paths*, never user-supplied SVG/HTML.
 * All selectors are dormant without the per-section SSR data attribute.
 *
 * Art is presentation only: pointer-events:none / aria-hidden, never a
 * functional layer. Existing hero grids, navigation, forms, listing cards,
 * membership gates, and tenant-owned text retain their normal document flow.
 */
[data-ny-calligraphy-host="true"] {
  position:relative;
  isolation:isolate;
}
[data-ny-calligraphy-host="true"]:not(.hero-copy-block) {
  overflow-x:clip;
}
/* The hero copy wrapper is also a real containing block. Script flourishes
 * extending past the right edge must not create a document-wide scrollbar. */
.hero-copy-block[data-ny-calligraphy-host="true"] {
  overflow-x:clip!important;
}
[data-ny-calligraphy-host="true"] > .ny-calligraphy-art {
  position:absolute!important;
  display:block!important;
  pointer-events:none!important;
  user-select:none;
  z-index:1;
  box-sizing:border-box;
  top:var(--ny-script-mob-y,0px);
  right:var(--ny-script-mob-x,0px);
  left:auto;
  width:min(var(--ny-script-mob-width,240px),calc(100% + 40px));
  height:auto;
  aspect-ratio:2.4 / 1;
  opacity:var(--ny-script-opacity,.53);
  background:var(--ny-script-color,#B8A28D);
  -webkit-mask-image:var(--ny-script-svg);
  mask-image:var(--ny-script-svg);
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  transform:rotate(var(--ny-script-rotation,-8deg));
  transform-origin:center;
}
[data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="top-left"] {
  left:var(--ny-script-mob-x,0px);right:auto;
}
[data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="bottom-right"] {
  top:auto;bottom:var(--ny-script-mob-y,0px);
}
[data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="bottom-left"] {
  top:auto;right:auto;left:var(--ny-script-mob-x,0px);
  bottom:var(--ny-script-mob-y,0px);
}
[data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="center"] {
  top:50%;left:50%;right:auto;bottom:auto;
  transform:translate(-50%,-50%) rotate(var(--ny-script-rotation,-8deg));
}
/* Content stays above the decorative mask; other sections are unchanged. */
[data-ny-calligraphy-host="true"]:not(.hero-copy-block) >
  :not(.ny-calligraphy-art):not(.ny-calligraphy-contact-scrim) {
  position:relative;
  z-index:3;
}
.hero-copy-block[data-ny-calligraphy-host="true"] > .ny-calligraphy-art {
  z-index:0;
}
.hero-copy-block[data-ny-calligraphy-host="true"] >
  :not(.ny-calligraphy-art) {
  position:relative;
  z-index:1;
}
@media(min-width:761px) {
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art {
    top:var(--ny-script-desk-y,0px);
    right:var(--ny-script-desk-x,0px);
    width:min(var(--ny-script-desk-width,350px),calc(100% + 40px));
  }
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="top-left"] {
    left:var(--ny-script-desk-x,0px);right:auto;
  }
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="bottom-left"] {
    left:var(--ny-script-desk-x,0px);
    bottom:var(--ny-script-desk-y,0px);
    top:auto;right:auto;
  }
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="bottom-right"] {
    top:auto;bottom:var(--ny-script-desk-y,0px);
  }
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art[data-calligraphy-placement="center"] {
    top:50%;left:50%;right:auto;bottom:auto;
  }
}
@media(max-width:350px) {
  [data-ny-calligraphy-host="true"] > .ny-calligraphy-art {
    width:min(calc(var(--ny-script-mob-width,240px) * .8),95%);
  }
}
/* Only the intentionally photographic Contact treatment gets a scrim. */
:is(#contact,.page-cta)[data-ny-contact-photo="true"] {
  background:#263536!important;
  color:#F6F6F0!important;
  isolation:isolate;
  overflow:hidden;
}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .contact-photo {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  z-index:0!important;
  opacity:1!important;
  aspect-ratio:auto!important;
  grid-column:1/-1!important;
}

:is(#contact,.page-cta)[data-ny-contact-image] > .contact-photo {opacity:0!important}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .ny-calligraphy-contact-custom-photo {
  position:absolute!important;inset:0!important;
  display:block!important;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  pointer-events:none;
  z-index:0!important;
}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .contact-photo img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .ny-calligraphy-contact-scrim {
  position:absolute!important;
  inset:0;
  z-index:1!important;
  background:rgba(18,31,32,var(--ny-contact-mask,.65));
  pointer-events:none;
}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .ny-calligraphy-art {
  z-index:2!important;
}
:is(#contact,.page-cta)[data-ny-contact-photo="true"] > .contact-layout {
  position:relative!important;
  z-index:3!important;
  grid-column:1/-1!important;
  width:100%;
}
html[data-site-design] main#main :is(#contact,.page-cta)[data-ny-contact-photo="true"]
 :is(h2,.contact-phone,.contact-preview-note,.contact-phone-note,.contact-intro > p,.contact-telephone > p,.contact-hours) {
  color:#FAFAF6!important;
}
html[data-site-design] main#main :is(#contact,.page-cta)[data-ny-contact-photo="true"] .contact-option {
  color:#293B38!important;
  background:#FAFAF6!important;
  border-color:#FAFAF6!important;
}
html[data-site-design] main#main :is(#contact,.page-cta)[data-ny-contact-photo="true"] .contact-option-secondary {
  color:#FAFAF6!important;
  background:transparent!important;
  border-color:rgba(255,255,255,.78)!important;
}
html[data-site-design] main#main :is(#contact,.page-cta)[data-ny-contact-photo="true"] :is(a,button):focus-visible {
  outline:3px solid #FAFAF6!important;
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  .ny-calligraphy-art { transition:none!important;animation:none!important; }
}

/* The same photographic Contact surface on internal Minimal pages. */
html[data-site-design="minimal-corporate"] main#main .page-cta[data-ny-contact-photo="true"]::before {background:none!important}
html[data-site-design="minimal-corporate"] main#main .page-cta[data-ny-contact-photo="true"] > :not(.ny-calligraphy-art,.ny-calligraphy-contact-scrim,.ny-calligraphy-contact-custom-photo) {position:relative;z-index:3}
html[data-site-design="minimal-corporate"] main#main .page-cta[data-ny-contact-photo="true"] :is(h2,p) {color:#FAFAF6!important}
html[data-site-design="minimal-corporate"] main#main .page-cta[data-ny-contact-photo="true"] .page-button {color:#293B38!important;background:#FAFAF6!important;border-color:#FAFAF6!important;border-radius:0}
html[data-site-design="minimal-corporate"] main#main .page-cta[data-ny-contact-photo="true"] :is(.page-button-secondary,.page-button-outline) {color:#FAFAF6!important;background:transparent!important;border-color:rgba(255,255,255,.78)!important}
