/* TULIP TOWER V75 — registration, mobile utilities and upcoming-event responsive polish */

/* Registration: make username guidance visually consistent with the other field notes. */
body.tt-home #registerModal .resident-register-username-v73 .resident-valid-state-v74{min-height:15px!important;margin-top:-1px!important;gap:0!important;color:#7b8d97!important;font-size:11.5px!important;line-height:1.3!important;font-weight:500!important;opacity:1!important;transform:none!important}
body.tt-home #registerModal .resident-register-username-v73 .resident-valid-state-v74 b{display:none!important}
body.tt-home #registerModal .resident-register-username-v73 .resident-valid-state-v74.is-valid{color:#58796d!important}
body.tt-home #registerModal .resident-register-username-v73 label .resident-required-v75{color:#b55d55!important;font-size:inherit!important;font-weight:inherit!important}

/* Terms modal: larger reading canvas, calmer hierarchy and rich-content rhythm. */
#residentTermsModal.resident-terms-modal-v4861{padding:28px!important;background:rgba(5,27,39,.48)!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
#residentTermsModal .resident-terms-dialog-v4861{width:min(980px,calc(100vw - 56px))!important;padding:34px 40px 28px!important;border-radius:28px!important;background:linear-gradient(180deg,#fffdfa 0%,#fff 100%)!important;box-shadow:0 40px 120px rgba(5,31,46,.34)!important}
#residentTermsModal .resident-terms-head-v4861{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:22px!important;margin-bottom:22px!important;padding-bottom:19px!important}
#residentTermsModal .resident-terms-head-v4861 h3{font-size:32px!important;line-height:1.16!important}
#residentTermsModal .resident-terms-head-v4861 p{max-width:760px!important;font-size:15px!important;line-height:1.65!important}
#residentTermsModal .resident-terms-popup-content-v4861{max-width:850px;margin:0 auto;color:#405a69!important;font-size:15px!important;line-height:1.75!important}
#residentTermsModal .resident-terms-popup-content-v4861 h1,#residentTermsModal .resident-terms-popup-content-v4861 h2,#residentTermsModal .resident-terms-popup-content-v4861 h3,#residentTermsModal .resident-terms-popup-content-v4861 h4{color:#173b50!important;line-height:1.3!important;margin:24px 0 9px!important}
#residentTermsModal .resident-terms-popup-content-v4861 h2{font-size:20px!important}#residentTermsModal .resident-terms-popup-content-v4861 h3{font-size:18px!important}#residentTermsModal .resident-terms-popup-content-v4861 h4{font-size:16px!important}
#residentTermsModal .resident-terms-popup-content-v4861 p{margin:0 0 12px!important;color:#516a78!important;font-size:15px!important;line-height:1.75!important}
#residentTermsModal .resident-terms-popup-content-v4861 ul,#residentTermsModal .resident-terms-popup-content-v4861 ol{margin:10px 0 16px!important;padding-left:24px!important}#residentTermsModal .resident-terms-popup-content-v4861 li{margin:5px 0!important}
#residentTermsModal .resident-terms-popup-content-v4861 blockquote{margin:16px 0!important;padding:12px 16px!important;border-left:3px solid #d9b978!important;border-radius:0 10px 10px 0!important;background:#f8f4eb!important;color:#536a75!important}
#residentTermsModal .resident-terms-popup-content-v4861 a{color:#956d2e!important;text-underline-offset:3px!important}
#residentTermsModal .resident-terms-popup-footer-v4861{margin-top:24px!important;padding-top:18px!important}

/* Utility slider: stable native touch swipe and exactly three cards in the mobile viewport. */
.home-utility-category-track-v71{scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important}
.home-utility-nav-v74 button{box-sizing:border-box!important;flex:0 0 40px!important;padding:0!important;line-height:0!important}
.home-utility-nav-v74 button svg{display:block!important;flex:0 0 auto!important;transform:none!important}

/* Upcoming event: reserve enough width for day / month / time so glyphs never collide. */
body.tt-home .upcoming-event-feature{grid-template-columns:auto 132px minmax(0,1fr) 34px!important;gap:20px!important;align-items:center!important;min-height:108px!important;padding:18px 22px!important}
body.tt-home .upcoming-date-v63{box-sizing:border-box!important;display:grid!important;grid-template-columns:52px minmax(58px,1fr)!important;gap:10px!important;align-items:center!important;width:132px!important;min-width:132px!important;padding:0 0 0 18px!important;border-left:1px solid rgba(255,255,255,.22)!important;white-space:nowrap!important;overflow:visible!important}
body.tt-home .upcoming-date-v63>b{display:block!important;margin:0!important;font-size:42px!important;line-height:.92!important;text-align:left!important}
body.tt-home .upcoming-date-v63>span{display:flex!important;min-width:58px!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:5px!important;line-height:1!important;overflow:visible!important}
body.tt-home .upcoming-date-v63 small,body.tt-home .upcoming-date-v63 em{display:block!important;position:static!important;margin:0!important;padding:0!important;white-space:nowrap!important;line-height:1.05!important;transform:none!important}
body.tt-home .upcoming-date-v63 small{font-size:10.5px!important;letter-spacing:.025em!important}body.tt-home .upcoming-date-v63 em{font-size:11px!important}
body.tt-home .upcoming-copy{min-width:0!important;padding-left:2px!important}body.tt-home .upcoming-copy strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}body.tt-home .upcoming-copy small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

@media(max-width:760px){
  #residentTermsModal.resident-terms-modal-v4861{padding:10px!important}
  #residentTermsModal .resident-terms-dialog-v4861{width:100%!important;max-width:100%!important;padding:22px 18px 19px!important;border-radius:22px!important}
  #residentTermsModal .resident-terms-head-v4861{gap:10px!important;margin-bottom:16px!important;padding-bottom:14px!important}
  #residentTermsModal .resident-terms-head-v4861 h3{font-size:26px!important}
  #residentTermsModal .resident-terms-head-v4861 p,#residentTermsModal .resident-terms-popup-content-v4861,#residentTermsModal .resident-terms-popup-content-v4861 p{font-size:14px!important;line-height:1.68!important}
  #residentTermsModal .resident-terms-popup-content-v4861 h2{font-size:18px!important}#residentTermsModal .resident-terms-popup-content-v4861 h3{font-size:16.5px!important}

  body.tt-home .home-utilities-v60{overflow:hidden!important}
  body.tt-home .home-utilities-head-v60{display:block!important;margin-bottom:13px!important}
  body.tt-home .home-utilities-head-v60>div:first-child{width:100%!important;max-width:none!important}
  body.tt-home .home-utilities-head-v60 h2{margin-bottom:5px!important}
  body.tt-home .home-utilities-head-v60 p{max-width:100%!important;margin-bottom:10px!important}
  body.tt-home .home-utility-head-actions-v74{display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
  body.tt-home .home-utility-nav-v74{display:flex!important;gap:6px!important;flex:0 0 auto!important}
  body.tt-home .home-utility-nav-v74 button{width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important;flex-basis:35px!important;border-radius:50%!important}
  body.tt-home .home-utility-nav-v74 button svg{width:15px!important;height:15px!important}
  body.tt-home .home-utility-view-all-v74{margin-left:auto!important;min-height:35px!important;padding:7px 11px!important;font-size:10px!important}
  body.tt-home .home-utility-category-viewport-v71{width:100%!important;max-width:100%!important;overflow:hidden!important}
  body.tt-home .home-utility-category-track-v71{width:100%!important;max-width:100%!important;gap:8px!important;margin:0!important;padding:2px 0 9px!important;scroll-padding-inline:0!important;scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;touch-action:pan-x pan-y!important;cursor:default!important}
  body.tt-home .home-utility-category-slide-v71{box-sizing:border-box!important;flex:0 0 calc((100% - 16px)/3)!important;width:calc((100% - 16px)/3)!important;min-width:0!important;min-height:105px!important;padding:12px 6px 10px!important;border-radius:14px!important;scroll-snap-align:start!important}
  body.tt-home .home-utility-category-icon-v69{width:43px!important;height:43px!important;margin-bottom:7px!important;border-radius:13px!important;font-size:20px!important}
  body.tt-home .home-utility-category-copy-v69{width:100%!important;min-width:0!important}
  body.tt-home .home-utility-category-copy-v69 strong{display:block!important;width:100%!important;font-size:10.5px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.tt-home .home-utility-category-copy-v69 small{font-size:8px!important;margin-top:3px!important}
  body.tt-home .home-utility-category-arrow-v69{right:6px!important;top:6px!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;font-size:12px!important}

  body.tt-home .upcoming-event-feature{grid-template-columns:96px minmax(0,1fr) 28px!important;gap:11px!important;padding:14px 15px!important;min-height:0!important}
  body.tt-home .upcoming-label{grid-column:1/-1!important;width:max-content!important;margin-bottom:1px!important;font-size:10px!important;padding:8px 11px!important}
  body.tt-home .upcoming-date-v63{grid-column:1!important;grid-row:2!important;grid-template-columns:39px minmax(49px,1fr)!important;width:96px!important;min-width:96px!important;padding:0!important;border-left:0!important;gap:7px!important}
  body.tt-home .upcoming-date-v63>b{font-size:33px!important}
  body.tt-home .upcoming-date-v63>span{min-width:49px!important;gap:3px!important}
  body.tt-home .upcoming-date-v63 small{font-size:9px!important}body.tt-home .upcoming-date-v63 em{font-size:9.5px!important}
  body.tt-home .upcoming-copy{grid-column:2!important;grid-row:2!important;align-self:center!important}
  body.tt-home .upcoming-copy strong{font-size:14px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
  body.tt-home .upcoming-copy small{font-size:10px!important;margin-top:4px!important}
  body.tt-home .upcoming-arrow{grid-column:3!important;grid-row:2!important;align-self:center!important}
}

@media(max-width:390px){
  body.tt-home .home-utility-category-track-v71{gap:6px!important}
  body.tt-home .home-utility-category-slide-v71{flex-basis:calc((100% - 12px)/3)!important;width:calc((100% - 12px)/3)!important;min-height:99px!important;padding-left:5px!important;padding-right:5px!important}
  body.tt-home .home-utility-category-icon-v69{width:39px!important;height:39px!important;font-size:18px!important}
  body.tt-home .home-utility-category-copy-v69 strong{font-size:9.8px!important}
  body.tt-home .home-utility-view-all-v74{font-size:9.5px!important;padding-left:9px!important;padding-right:9px!important}
  body.tt-home .upcoming-event-feature{grid-template-columns:90px minmax(0,1fr) 26px!important;padding:13px!important;gap:9px!important}
  body.tt-home .upcoming-date-v63{width:90px!important;min-width:90px!important;grid-template-columns:37px 46px!important;gap:6px!important}
}
