/*
 * Fluid, content-first responsive layout.
 * At narrower widths editorial blocks are sized by their available space,
 * rather than treating an entire phone as a scaled-down desktop screenshot.
 * This sheet comes after the earlier styles to resolve their conflicts.
 * Desktop saved editor typography/position values remain unchanged.
 */

/* Shared Connect footer. This is appended after the original children in
   markup so that prior Site Designer element IDs stay stable. */
body.cx-unified-chrome .footer {
  display:block!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(40px,5vw,72px) 0 clamp(26px,3vw,42px)!important;
}
body.cx-unified-chrome .footer .footer-inner {
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(1100px,calc(100% - 36px))!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  gap:clamp(16px,2vw,28px)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
body.cx-unified-chrome .footer .footer-connect {
  order:-1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0 auto clamp(16px,2vw,30px);
  padding:0 0 clamp(26px,3vw,42px);
  border-bottom:1px solid rgba(178,162,200,.2);
  text-align:center;
}
body.cx-unified-chrome .footer-connect .footer-connect-eyebrow {
  margin:0 0 8px;
  font:600 clamp(10px,.85vw,13px)/1.4 var(--sans);
  letter-spacing:.17em;
  color:#c7b3de!important;
  text-transform:uppercase;
}
body.cx-unified-chrome .footer-connect .footer-connect-title {
  margin:0;
  max-width:100%;
  font:400 clamp(32px,4vw,58px)/1.13 var(--serif);
  letter-spacing:.045em;
  color:#f1e6f5;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer-connect .footer-connect-description {
  margin:clamp(12px,1.5vw,19px) 0 0;
  font:400 clamp(16px,1.75vw,21px)/1.5 var(--serif);
  color:#e2d8ea;
  max-width:720px;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials {
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  justify-items:center;
  align-items:start;
  justify-content:center;
  width:min(100%,680px);
  max-width:100%;
  gap:clamp(12px,2vw,24px);
  margin:clamp(21px,3vw,35px) auto 0!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .connect-social-link {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  max-width:105px!important;
  min-width:0!important;
  padding:0!important;
  font-family:var(--sans);
  font-size:clamp(10px,1vw,12px)!important;
  letter-spacing:.03em!important;
  color:#e7deee!important;
  text-decoration:none;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon {
  display:grid!important;
  place-items:center!important;
  width:clamp(43px,5.2vw,60px)!important;
  height:clamp(43px,5.2vw,60px)!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon img {
  width:clamp(27px,3.4vw,41px)!important;
  height:clamp(27px,3.4vw,41px)!important;
  max-width:100%!important;
  object-fit:contain!important;
}
body.cx-unified-chrome .footer-connect .footer-connect-socials .social-label {
  display:block!important;
  font:600 clamp(10px,.85vw,12px)/1.35 var(--sans)!important;
  text-align:center!important;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer .footer-brand,
body.cx-unified-chrome .footer .footer-center,
body.cx-unified-chrome .footer .footer-inner > small {
  position:relative;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.cx-unified-chrome .footer .footer-brand {
  order:0;
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(8px,2vw,16px);
  font-size:clamp(15px,2vw,24px);
  line-height:1.3;
  overflow-wrap:anywhere;
}
body.cx-unified-chrome .footer .footer-center {
  order:1;
  display:block!important;
  max-width:min(100%,760px)!important;
  font-size:clamp(11px,1.35vw,16px)!important;
  line-height:1.65!important;
  white-space:normal!important;
  overflow-wrap:break-word;
}
body.cx-unified-chrome .footer .footer-inner > small {
  order:2;
  display:block!important;
  font-size:clamp(11px,1.15vw,14px)!important;
  line-height:1.6!important;
  white-space:normal!important;
}
body.cx-unified-chrome .footer .studio-footer-link {
  display:inline-block!important;
  position:static!important;
  max-width:100%;
  margin:0 0 0 .75em!important;
  vertical-align:baseline;
  white-space:normal;
  font-size:inherit!important;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:.17em;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Any unbounded media naturally shrinks within its own section. */
body.cx-public-page main :is(img,svg,video,canvas,picture,iframe) {
  max-inline-size:100%;
}
body.cx-public-page main :is(.shell,.home-featured-stack,.home-section-grid,.writing-info,
  .writing-grid,.art-archive-grid,.detail-copy,.commission-page-grid,
  .home-about-grid,.whispers-layout,.whispers-gallery) {
  min-inline-size:0;
}
body.cx-public-page main :is(.writing-card,.art-archive-row,.gallery-grid .art-card) {
  box-sizing:border-box;
  max-inline-size:100%;
}

/* Tablet and phone: no saved desktop offsets, fixed-width media traps,
   clamped hero text or text escaping the borders of featured cards. */
@media(max-width:900px) {
  body.cx-unified-chrome .site-header .head-inner {
    min-width:0!important;
    height:auto!important;
  }
  body.cx-unified-chrome .site-header .brand,
  body.cx-unified-chrome .site-header .brand > span:last-child,
  body.cx-unified-chrome .site-header .brand-name,
  body.cx-unified-chrome .site-header .brand-sub {
    max-width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    max-width:100%!important;
    overflow-wrap:break-word;
  }
  body.cx-public-page main .hero,
  body.cx-public-page main .hero-shell {
    height:auto!important;
  }
  body.cx-public-page main .hero .hero-title {
    box-sizing:border-box;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-overflow:clip!important;
  }
  body.cx-public-page main .hero .hero-title-main,
  body.cx-public-page main .hero .hero-title-sub {
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    line-height:1.13!important;
  }
  body.cx-public-page main .hero .hero-desc {
    display:block!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    max-height:none!important;
  }
  body.cx-public-page main .hero-copy {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding-inline:0!important;
  }
  body.cx-public-page main .hero .hero-bg-img {
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  body.cx-public-page main :is(
    .work-columns,.home-featured-stack,.home-section-grid,
    .home-commission-grid,.home-about-grid,.detail-grid,
    .about-page-grid,.commission-page-grid,.whispers-layout
  ) {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cx-public-page main .work-section .home-featured-writing .writing-card,
  body.cx-public-page main .writing-grid .writing-card,
  body.cx-public-page main .writing-list .writing-card,
  body.cx-public-page main .art-archive-row {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:start!important;
    overflow:hidden!important;
  }
  body.cx-public-page main .writing-info,
  body.cx-public-page main .art-archive-info {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.cx-public-page main .writing-info :is(h3,.card-summary,.card-summary p,.eyebrow),
  body.cx-public-page main .art-archive-info :is(h3,.art-archive-description,.eyebrow) {
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  body.cx-public-page main .writing-info .text-link,
  body.cx-public-page main .art-archive-info .art-archive-view {
    display:inline-flex!important;
    flex:0 0 auto!important;
    position:static!important;
    align-self:flex-start!important;
    margin-top:clamp(10px,2vw,16px)!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary,
  body.cx-public-page main .writing-grid .card-summary {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:4!important;
    line-clamp:4!important;
    overflow:hidden!important;
    max-height:7em!important;
    line-height:1.5!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary p,
  body.cx-public-page main .writing-grid .card-summary p {
    margin:0!important;
    line-height:1.5!important;
  }
  body.cx-public-page main .work-section .home-featured-stack {
    gap:clamp(45px,7vw,65px)!important;
  }
  body.cx-public-page main .work-section .section-heading {
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:clamp(9px,2vw,16px)!important;
  }
  body.cx-public-page main .work-section .section-heading h3,
  body.cx-public-page main .work-section .section-heading a {
    position:static!important;
    max-width:100%!important;
  }
  body.cx-public-page main .home-filmstrip,
  body.cx-public-page main .filmstrip-stage {
    max-width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:600px) {
  body.cx-unified-chrome .site-header .head-inner {
    width:calc(100% - 32px)!important;
    padding:clamp(18px,4.5vw,27px) 0 16px!important;
  }
  body.cx-unified-chrome .site-header .brand-name {
    max-width:100%!important;
    font-size:clamp(19px,5.45vw,26px)!important;
    letter-spacing:.065em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.cx-unified-chrome .site-header .brand-sub {
    margin-top:10px!important;
    font-size:clamp(10px,2.75vw,13px)!important;
    letter-spacing:.16em!important;
  }
  body.cx-unified-chrome .site-header .nav,
  body.cx-unified-chrome .site-header .nav.open {
    gap:0 clamp(8px,2.7vw,16px)!important;
    margin-top:clamp(17px,4vw,22px)!important;
  }
  body.cx-unified-chrome .site-header .nav a {
    font-size:clamp(10px,2.7vw,12px)!important;
    min-height:36px!important;
    padding:7px 1px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.25!important;
  }
  body.cx-public-page main .hero,
  body.cx-public-page main .hero-shell {
    min-height:clamp(365px,65svh,550px)!important;
  }
  body.cx-public-page main .hero-copy {
    padding-block:clamp(40px,8svh,70px)!important;
  }
  body.cx-public-page main .hero .hero-title {
    font-size:clamp(29px,8.6vw,41px)!important;
    line-height:1.12!important;
    letter-spacing:-.015em!important;
  }
  body.cx-public-page main .hero .hero-title-main,
  body.cx-public-page main .hero .hero-title-sub {
    font-size:inherit!important;
  }
  body.cx-public-page main .hero .little-rule {
    width:min(100%,280px)!important;
    margin-inline:auto!important;
  }
  body.cx-public-page main .writing-info h3 {
    font-size:clamp(20px,5.75vw,26px)!important;
    line-height:1.15!important;
  }
  body.cx-public-page main .writing-info .eyebrow,
  body.cx-public-page main .art-archive-info .eyebrow {
    font-size:clamp(9px,2.4vw,11px)!important;
    line-height:1.35!important;
    letter-spacing:.06em!important;
  }
  body.cx-public-page main .writing-info .card-summary,
  body.cx-public-page main .writing-info .card-summary p {
    font-size:clamp(13px,3.65vw,16px)!important;
    line-height:1.42!important;
  }
  body.cx-public-page main .home-featured-writing .card-summary,
  body.cx-public-page main .writing-grid .card-summary {
    -webkit-line-clamp:4!important;
    line-clamp:4!important;
    max-height:6.2em!important;
  }
  body.cx-public-page main .work-section .home-featured-writing .writing-card,
  body.cx-public-page main .writing-grid .writing-card,
  body.cx-public-page main .writing-list .writing-card,
  body.cx-public-page main .art-archive-row {
    grid-template-columns:clamp(86px,25vw,116px) minmax(0,1fr)!important;
    gap:clamp(10px,3vw,15px)!important;
    padding:clamp(10px,3vw,15px)!important;
  }
  body.cx-public-page main .work-section .home-featured-stack {
    gap:clamp(45px,11vw,60px)!important;
  }
  body.cx-unified-chrome .footer {
    padding:clamp(44px,10vw,65px) 0 32px!important;
  }
  body.cx-unified-chrome .footer .footer-inner {
    width:calc(100% - 34px)!important;
    gap:clamp(18px,4vw,26px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-title {
    font-size:clamp(29px,8.25vw,38px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-description {
    max-width:100%;
    font-size:clamp(15px,4.25vw,18px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:19px 10px!important;
    width:min(100%,355px)!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon {
    width:50px!important;
    height:50px!important;
  }
  body.cx-unified-chrome .footer-connect .footer-connect-socials .social-icon img {
    width:33px!important;
    height:33px!important;
  }
  body.cx-unified-chrome .footer .footer-brand {
    flex-wrap:wrap!important;
    font-size:clamp(15px,4vw,19px)!important;
    letter-spacing:.08em!important;
  }
  body.cx-unified-chrome .footer .footer-brand .brand-moon {
    font-size:clamp(33px,8vw,43px)!important;
  }
  body.cx-unified-chrome .footer .footer-center {
    font-size:clamp(11px,3vw,14px)!important;
    letter-spacing:.11em!important;
  }
  body.cx-unified-chrome .footer .footer-inner > small {
    font-size:clamp(11px,3vw,13px)!important;
  }
}
@media(max-width:355px) {
  body.cx-unified-chrome .site-header .brand-name {font-size:19px!important;letter-spacing:.03em!important}
  body.cx-unified-chrome .footer-connect .footer-connect-socials {gap:17px 5px!important}
}
