/* CMS navigation and content bridge. Original visual rules retained. */
.residence-editorial .navLinks>ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.residence-editorial .navLinks li{position:relative;list-style:none}
.residence-editorial .navLinks ul ul{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:15px;background:#fbf8f2;color:#261d18;box-shadow:0 10px 30px #0002}
.residence-editorial .navLinks li:hover>ul,.residence-editorial .navLinks li:focus-within>ul{display:block}
.residence-editorial .navLinks ul ul a{display:block;padding:10px}
.residence-editorial .footer ul{list-style:none;margin:0;padding:0}
.residence-editorial .footer li{margin-bottom:8px}
.residence-editorial main>.hero .heroContent{padding-top:160px}
.residence-editorial .brand strong{font-size:14px;letter-spacing:2px}
.residence-editorial .hero .siteHeader{display:none}
.residence-editorial .pageHero [data-header]{display:none}
.residence-editorial .ss-search-trigger{display:inline-flex}
.residence-editorial .ss-search-results{max-width:1100px;margin:auto;padding:160px 24px 80px}
.residence-editorial .ss-contact{padding:30px}
.residence-editorial a:focus-visible,.residence-editorial button:focus-visible{outline:2px solid #b28c63;outline-offset:5px}
@media(max-width:850px){.residence-editorial .navLinks>ul{display:block}.residence-editorial .navLinks ul ul{position:static;box-shadow:none}.residence-editorial .navLinks li>a{display:block;padding:12px}.residence-editorial .navLinks li:focus-within>ul{display:block}}
@media(prefers-reduced-motion:reduce){.residence-editorial *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Pale navigation always uses espresso foreground, including hero/scroll states. */
.residence-editorial .siteHeader .nav{color:#261d18}
.residence-editorial .siteHeader .brand{color:inherit}
.residence-editorial .siteHeader .menuButton span,
.residence-editorial .siteHeader.menuOpen .menuButton span{background:#261d18}
.residence-editorial .siteHeader .navCta{border-color:rgba(38,29,24,.45)}
@media(max-width:850px){
 .residence-editorial .siteHeader .navLinks{color:#fbf8f2}
 .residence-editorial .siteHeader .navLinks ul ul{color:#261d18}
}

/* Empty media positions remain visible until tenant-owned R2 assets are selected. */
.residence-editorial img[data-media-pending]{background:#e5ded3;min-height:200px;object-fit:cover}
.residence-editorial video[data-media-pending]{background:#261d18}

/* Image-aware heading contrast. Saved Media Library backgrounds carry this marker.
   CSS applies immediately, without image sampling, CORS requests or JavaScript.
   Plain headings and the separate homepage hero retain their existing styling. */
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]){
 position:relative;isolation:isolate;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;
}
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""])::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(18,12,9,.78) 0%,rgba(18,12,9,.68) 65%,rgba(18,12,9,.62) 100%);
}
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]) .pageHeroInner{position:relative;z-index:1}
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]) .pageHeroInner h1,
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]) .pageHeroInner h1 em,
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]) .pageHeroInner p,
.residence-editorial .pageHero[data-ss-media-url]:not([data-ss-media-url=""]) .pageHeroInner a{
 color:#fff;opacity:1;text-shadow:0 2px 16px rgba(0,0,0,.22);
}

/* Original Residence Editorial glass header; opaque light state returns on scroll. */
.residence-editorial .siteHeader .nav{gap:24px}
.residence-editorial .siteHeader .brand{flex:0 1 auto;min-width:0;gap:13px}
.residence-editorial .siteHeader .brand strong{font-size:15px;letter-spacing:.26em;text-transform:uppercase;line-height:1.2}
.residence-editorial .siteHeader .brand small{font-size:7px;letter-spacing:.26em;text-transform:uppercase;line-height:1.2;margin-top:4px}
.residence-editorial .siteHeader .brandMark{flex-shrink:0}
.residence-editorial .siteHeader .navLinks{margin-left:auto;gap:26px}
.residence-editorial .siteHeader .navLinks>ul{gap:26px}
.residence-editorial .siteHeader .navLinks>ul>li>a{position:relative;white-space:nowrap}
.residence-editorial .siteHeader .navLinks>ul>li>a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:right .2s}
.residence-editorial .siteHeader .navLinks>ul>li>a:hover:after,
.residence-editorial .siteHeader .navLinks>ul>li>a[aria-current="page"]:after{right:0}
.residence-editorial .siteHeader .navCta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:14px 20px;border:1px solid currentColor;min-height:46px}
.residence-editorial .siteHeader.headerDark:not(.scrolled) .nav{background:rgba(27,18,14,.42);border-color:rgba(255,255,255,.35);color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.12)}
.residence-editorial .siteHeader.headerDark:not(.scrolled) .menuButton span{background:#fff}
.residence-editorial .siteHeader.headerDark:not(.scrolled) .navCta{border-color:rgba(255,255,255,.7)}
.residence-editorial .siteHeader .ss-search-trigger{color:inherit;flex-shrink:0}
@media(max-width:1100px){
 .residence-editorial .siteHeader .nav{gap:12px}
 .residence-editorial .siteHeader .menuButton{display:block;z-index:4;cursor:pointer;flex-shrink:0;margin-left:auto;min-width:44px;min-height:44px}
 .residence-editorial .siteHeader .navLinks{display:flex;position:fixed;top:102px;left:10px;right:10px;max-height:calc(100svh - 114px);overflow:auto;background:rgba(32,23,19,.98);color:#fff;padding:28px;flex-direction:column;align-items:stretch;gap:0;border-radius:3px;box-shadow:0 24px 60px rgba(20,12,9,.28);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s;margin-left:0}
 .residence-editorial .siteHeader .navLinks.open{opacity:1;visibility:visible;transform:translateY(0)}
 .residence-editorial .siteHeader .navLinks>ul{display:block}
 .residence-editorial .siteHeader .navLinks li>a{display:block;padding:14px 0;font-family:'Italiana',serif;font-size:25px;letter-spacing:0;border-bottom:1px solid #ffffff25}
 .residence-editorial .siteHeader .navLinks>ul>li>a:after{display:none}
 .residence-editorial .siteHeader .navLinks ul ul{position:static;box-shadow:none;background:#fbf8f2;color:#261d18}
 .residence-editorial .siteHeader .navLinks .navCta{margin-top:20px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.08em;border-color:#ffffff90;color:#fff}
 .residence-editorial .siteHeader .navLinks .ss-search-trigger{align-self:flex-end;color:#fff;margin-top:16px}
 .residence-editorial .siteHeader.menuOpen .menuButton span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .residence-editorial .siteHeader.menuOpen .menuButton span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}
@media(max-width:850px){.residence-editorial .siteHeader .navLinks{top:90px;max-height:calc(100svh - 102px)}}
@media(max-width:380px){.residence-editorial .siteHeader .brand strong{font-size:12px;letter-spacing:.16em}.residence-editorial .siteHeader .nav{padding-inline:12px}.residence-editorial .siteHeader .brand{gap:9px}}

/* Anchor the homepage eyebrow just beneath the fixed header, like the source. */
.residence-editorial main>.hero .heroContent{justify-content:flex-start;padding-top:112px}
@media(max-width:850px){.residence-editorial main>.hero .heroContent{padding-top:96px}}

/* Original editorial footer: live CMS values with no empty address column. */
.residence-editorial .footer{padding-top:64px}
.residence-editorial .footerTop{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.8fr) auto;align-items:center;gap:40px;padding-bottom:48px}
.residence-editorial .footerTop .footerStatement{margin:0;font-size:clamp(34px,3.8vw,58px);line-height:1.08;color:#f3e9df;overflow-wrap:anywhere}
.residence-editorial [data-footer-tagline]:empty{display:none}
.residence-editorial [data-footer-tagline]:not(:empty)+.footerStatementFallback{display:none}
.residence-editorial .footerBrand{min-width:0}
.residence-editorial .footerBrand>span:last-child{min-width:0}
.residence-editorial .footerBrand strong{font-size:15px;line-height:1.4;text-transform:uppercase;overflow-wrap:anywhere}
.residence-editorial .footerBrand small{font-size:7px;text-transform:uppercase;line-height:1.4}
.residence-editorial .footerBrand .brandMark{flex-shrink:0}
.residence-editorial .footerGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;padding:40px 0}
.residence-editorial .footerGrid>div{min-width:0}
.residence-editorial .footerAddress{white-space:pre-line;overflow-wrap:anywhere}
.residence-editorial .footerVisit:has(.footerAddress:empty){display:none}
.residence-editorial .footerContactRow:has(a:empty){display:none}
.residence-editorial .footerContactRow{margin:0 0 4px}
.residence-editorial .footerGrid a{font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:#ddd0c5}
.residence-editorial .footerGrid a:hover,.residence-editorial .footerGrid a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.residence-editorial .footerGrid li{margin-bottom:7px}
.residence-editorial .footerBottom{padding:22px 0;color:#b5a59a}
.residence-editorial .footer [hidden]{display:none!important}
@media(max-width:1000px){.residence-editorial .footerTop{grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:28px}.residence-editorial .footerTop>.button{grid-column:2;justify-self:end}}
@media(max-width:600px){.residence-editorial .footer{padding-top:42px}.residence-editorial .footerTop{grid-template-columns:1fr;gap:26px;padding-bottom:32px}.residence-editorial .footerTop>.button{grid-column:1;justify-self:end}.residence-editorial .footerGrid{grid-template-columns:1fr;gap:24px;padding:30px 0}.residence-editorial .footerStatement{max-width:100%}}

/* Visitor chat inherits the Residence theme palette. The panel stays white. */
.residence-editorial .ss-school-chat{
  --chat-brand:var(--ink,#261d18)!important;
  --chat-ink:var(--paper,#fbf8f2)!important;
  color:var(--ink,#261d18);
  font-family:inherit;
}
.residence-editorial .ss-school-chat .ss-chat-panel{
  background:#fff;
  border-color:#d9cbbd;
  border-color:color-mix(in srgb,var(--bronze,#aa7b50) 38%,#fff);
  box-shadow:0 20px 70px rgba(38,29,24,.22);
}
.residence-editorial .ss-school-chat .ss-chat-head,
.residence-editorial .ss-school-chat .ss-chat-launcher,
.residence-editorial .ss-school-chat .ss-chat-form button{
  background:var(--chat-brand);
  color:var(--chat-ink);
}
.residence-editorial .ss-school-chat .ss-chat-note{
  background:var(--paper,#fbf8f2);
  color:#75675a;
  border-color:#e6dbcf;
}
.residence-editorial .ss-school-chat .ss-chat-message{
  background:rgba(244,239,231,.94);
  background:color-mix(in srgb,var(--cream,#f4efe7) 94%,transparent);
  color:var(--ink,#261d18);
}
.residence-editorial .ss-school-chat .ss-chat-message.is-user{
  background:var(--ink,#261d18);
  color:var(--paper,#fbf8f2);
}
.residence-editorial .ss-school-chat .ss-chat-form{
  background:#fff;
  border-color:#e6dbcf;
}
.residence-editorial .ss-school-chat .ss-chat-form textarea{
  background:#fff;
  color:var(--ink,#261d18);
  border-color:#cdbba9;
}
.residence-editorial .ss-school-chat .ss-chat-form textarea::placeholder{
  color:#75675a;
  opacity:1;
}
.residence-editorial .ss-school-chat .ss-chat-contact a,
.residence-editorial .ss-school-chat .ss-chat-sources a{
  color:var(--wine,#4a241f);
  text-decoration-color:var(--bronze,#aa7b50);
}
.residence-editorial .ss-school-chat :focus-visible{
  outline:3px solid var(--bronze,#aa7b50);
  outline-offset:3px;
}
