/* Public V3 extensions: readable contact details and accessible compact navigation. */
.public-main.about-main{
  background:#f5f0e8 url('/brand/about-room-v1.png') center / cover no-repeat;
}
.about-main .public-panel{background:rgba(251,247,241,.94)}
.public-page footer.site-footer{
  background:linear-gradient(rgba(251,247,241,.84),rgba(251,247,241,.84)),url('/brand/v1-room.webp') center 58% / cover no-repeat!important;
  color:#634b43;
}
.public-page footer.site-footer a,.public-page footer.site-footer p{color:#634b43!important}
.public-page footer.site-footer :focus-visible{outline-color:#634b43}
.public-page .nav-wrap{gap:20px}.public-page .desktop-nav{gap:16px}.public-page .public-footer-contact{display:flex;flex-direction:column;gap:9px;text-align:right;font-style:normal;align-self:flex-end;margin-left:auto}.public-page .site-footer{background:#3b3029;color:#f5f0e8}.public-page .site-footer a,.public-page .site-footer p,.public-page .contact-actions a{color:#f5f0e8!important}.public-page .footer-row{align-items:flex-end;gap:24px}.public-page .site-footer a:hover{text-decoration:underline}.public-main{padding:160px 0 72px;min-height:72vh;background:#f5f0e8}.public-panel{max-width:900px;padding:38px;background:#fbf7f1;border:1px solid #d5c7bd;border-radius:16px;color:#4f4640}.public-panel h1{font-size:clamp(38px,5vw,60px);line-height:1.06;margin:8px 0 24px;color:#302823}.public-panel p{font-size:15px;line-height:1.85}.public-panel a:not(.btn){color:#634b43;text-decoration:underline}.public-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.public-actions .btn-outline{color:#4f4640;background:transparent;border-color:#92786f}.public-note{border-left:3px solid #92786f;padding:14px 20px;background:#f5f0e8}.public-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0}.public-field{display:flex;flex-direction:column;gap:8px;min-width:0}.public-field label{font-size:13px;font-weight:600;color:#4f4640}.public-field input,.public-field textarea,.public-field select{width:100%;box-sizing:border-box;border:1px solid #92786f;border-radius:6px;padding:12px;background:#fffdf9;color:#302823;font:inherit;font-size:15px;min-height:46px}.public-field textarea{resize:vertical}.public-field small{font-size:12px;line-height:1.6;color:#5f554f}.public-contact-form .full{grid-column:1/-1}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-status:empty{display:none}.contact-status{padding:14px;border:1px solid #92786f;border-radius:6px}.contact-status[data-state="error"]{color:#812d25;background:#fff1ed}.contact-status[data-state="success"]{color:#29553c;background:#f0f7f0}.public-page :focus-visible{outline:3px solid #8d6654;outline-offset:4px}.public-page .site-header :focus-visible,.public-page .site-footer :focus-visible{outline-color:#fff5de}.skip-link{position:fixed;top:-100px;left:16px;z-index:10000;background:#fff5de;color:#302823;padding:14px}.skip-link:focus{top:12px}.public-page button:disabled{cursor:default;opacity:.7}.public-page .menu-toggle{min-height:44px;min-width:44px;cursor:pointer}
@media(max-width:1250px){.public-page .nav-wrap{overflow:visible!important;justify-content:space-between}.public-page .desktop-nav{display:none!important}.public-page .menu-toggle{display:block!important}.public-page .nav-cta{margin-left:auto}.public-page .mobile-menu{display:none!important;max-height:70vh;overflow-y:auto;background:#3b3029;padding:14px 22px}.public-page .mobile-menu.open{display:grid!important;grid-template-columns:1fr 1fr;gap:4px 20px}.public-page .mobile-menu a{color:#f5f0e8!important;padding:12px 8px;min-height:44px;font-size:14px}.public-page .mobile-menu a[aria-current]{text-decoration:underline}}
@media(max-width:620px){.public-main{padding:130px 16px 40px}.public-panel{width:100%;padding:24px}.public-contact-form{grid-template-columns:1fr}.public-page .footer-row{display:flex;flex-direction:column;align-items:flex-start}.public-page .public-footer-contact{margin-left:0;text-align:left;align-self:flex-start;overflow-wrap:anywhere}.public-page .nav-cta{display:none!important}.public-actions .btn{width:100%}.public-page .public-panel h1{overflow-wrap:anywhere}}

/* Client portal upgrades */
.portal-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#5f544b}
.portal-service-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px;border:1px solid var(--lxe-line);border-radius:14px;background:#F5F0E8}
.portal-service-card h3{margin:0 0 4px;font-size:24px}
.portal-service-card p{margin:0;color:#756C68;font-size:12px}
.portal-modal-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(47,39,34,.62)}
.portal-modal{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;padding:26px;border-radius:18px;background:#FBF7F1;color:#302D29;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.portal-modal h2{margin-bottom:6px;font-size:34px}.portal-modal p{color:#756C68;font-size:13px}
.portal-modal form{display:grid;gap:14px}.portal-modal label{display:grid;gap:6px;font-size:12px;font-weight:600}.portal-modal input,.portal-modal select,.portal-modal textarea{width:100%;padding:11px;border:1px solid var(--lxe-line);border-radius:9px;background:#FFFDF9}
.portal-modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:#5f544b}
.home-footer{padding:46px 0 20px;background:#302D29!important;color:#F5F0E8;border-top:1px solid #D6C9A5}
.home-footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
.home-footer-grid>div{display:flex;flex-direction:column;gap:8px}.home-footer-grid h3{margin:0 0 6px;color:#D6C9A5;font-size:19px}.home-footer-grid a,.home-footer-grid span,.home-footer-grid small{color:#F5F0E8;font-size:11px}.home-footer-grid a:hover{text-decoration:underline;text-underline-offset:3px}.home-footer-brand .footer-kicker{margin:0;color:#D6C9A5;font-size:11px;letter-spacing:.2em;font-weight:700}.home-footer-brand>p:nth-child(2){margin:0;font-family:Georgia,serif;font-size:24px}.home-footer-brand small{max-width:240px;line-height:1.6;color:#D6C9A5}.home-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:34px;padding-top:16px;border-top:1px solid rgba(214,201,165,.25);color:#D6C9A5;font-size:9px;letter-spacing:.08em}
@media(max-width:800px){.home-footer-grid{grid-template-columns:repeat(2,1fr)}.home-footer-brand{grid-column:1/-1}.home-footer-bottom{flex-direction:column}.portal-service-card{align-items:flex-start;flex-direction:column}}

/* Readable footer typography on the approved light photographic background. */
.home-v3 footer.site-footer,
.home-v3 footer.site-footer :is(p,a,span,small,address,li) { color:#5A433B!important; }
.home-v3 footer.site-footer :is(h2,h3,h4,.footer-kicker) { color:#6F4F58!important; }
.home-v3 footer.site-footer .home-footer-grid :is(a,span,small) { font-size:12px; }
.home-v3 footer.site-footer .home-footer-bottom,
.home-v3 footer.site-footer .home-footer-bottom span { color:#5A433B!important; font-size:11px; }
.home-v3 footer.site-footer :focus-visible { outline:3px solid #6F4F58!important; outline-offset:4px; }

/* Place the opening announcement below the homepage photograph. */
.services-intro {
  width: min(1580px, calc(100% - 40px));
  margin: 0 auto 28px;
  display: grid;
  justify-items: center;
  gap: 20px;
}

.services-intro .section-heading { margin-bottom: 0; }

.services-intro .launch-panel {
  justify-self: center;
  width: min(100%, 330px);
  margin: 0;
  padding: 18px 14px;
  background: #3b3029;
  box-shadow: 0 10px 24px rgba(46, 37, 31, .15);
}

.services-intro .launch-panel .launch-kicker,
.services-intro .launch-panel .launch-date { color: #d6c9a5 !important; }
.services-intro .launch-panel.is-open .launch-date { margin-bottom: 0; }
.services-intro .hero-motto { display: none; }

@media (min-width: 1340px) {
  .services-intro {
    grid-template-columns: 1fr minmax(0, 800px) 1fr;
    align-items: center;
  }

  .services-intro .section-heading { grid-column: 2; }
}
