/* Tulip Tower V31 — final responsive pass
   Common pages only. Homepage hero sizing remains in hero-v30-critical partial loaded after this file. */

:root{
  --tt31-page: min(1280px, calc(100vw - 56px));
  --tt31-body: "Open Sans", Arial, sans-serif;
  --tt31-ui: Roboto, Arial, sans-serif;
  --tt31-display: "Playfair Display", Georgia, "Times New Roman", serif;
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.tt-v24{font-family:var(--tt31-body)!important;overflow-x:hidden}
body.tt-v24 img,body.tt-v24 video{max-width:100%;height:auto}
body.tt-v24 .container{width:var(--tt31-page)!important;max-width:1280px!important;margin-inline:auto!important}
body.tt-v24 p,body.tt-v24 li{overflow-wrap:anywhere}
body.tt-v24 h1,body.tt-v24 h2,body.tt-v24 h3{text-wrap:balance}
body.tt-v24 .btn,body.tt-v24 button,body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea{font-family:var(--tt31-ui)!important}

/* Header/navigation consistency */
body.tt-v24 .site-header,body.tt-v24 .inner-header{padding-inline:clamp(16px,3vw,46px)!important}
body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{width:min(1320px,100%)!important;margin-inline:auto!important}
body.tt-v24 .desktop-nav a,body.tt-v24 .inner-nav a{font-family:var(--tt31-ui)!important;font-size:15px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:.005em!important}
body.tt-v24 .brand-text strong{font-size:19px!important;line-height:1!important}
body.tt-v24 .brand-text small{font-size:9.5px!important;line-height:1.3!important}
body.tt-v24 .btn{min-height:42px;font-size:13.5px!important}

/* Shared section rhythm */
body.tt-v24 section.block,body.tt-v24 .inner-content-section{padding-top:clamp(64px,6vw,96px)!important;padding-bottom:clamp(64px,6vw,96px)!important}
body.tt-v24 .section-kicker{font-family:var(--tt31-ui)!important;font-size:12px!important;line-height:1.4!important}
body.tt-v24 .section-title{font-size:clamp(38px,4vw,58px)!important;line-height:1.04!important}
body.tt-v24 .section-copy{font-size:16px!important;line-height:1.75!important}

/* Home sections below hero */
body.tt-v24 .notice-main p{font-size:15.5px!important;line-height:1.72!important}
body.tt-v24 .notice-row strong{font-size:14.5px!important;line-height:1.35!important}
body.tt-v24 .notice-row small{font-size:12px!important;line-height:1.45!important}
body.tt-v24 .sponsor-copy p{font-size:14px!important;line-height:1.65!important}
body.tt-v24 .community-story .section-copy{font-size:16px!important;line-height:1.75!important}
body.tt-v24 .community-access-section .card-body p{font-size:14.5px!important;line-height:1.68!important}
body.tt-v24 .activity-content p{font-size:14px!important;line-height:1.68!important}
body.tt-v24 .activity-meta-line{font-size:11.5px!important}

/* Inner-page mastheads */
body.inner-site.tt-v24 .inner-main{min-width:0}
body.inner-site.tt-v24 .page-heading,
body.inner-site.tt-v24 .luxury-news-heading,
body.inner-site.tt-v24 .gallery-page-heading{
  padding-top:clamp(128px,11vw,176px)!important;
  padding-bottom:clamp(54px,6vw,84px)!important;
  min-height:auto!important;
}
body.inner-site.tt-v24 .page-heading h1,
body.inner-site.tt-v24 .luxury-news-heading h1,
body.inner-site.tt-v24 .gallery-page-heading h1{
  font-family:var(--tt31-display)!important;
  font-size:clamp(46px,5.2vw,70px)!important;
  line-height:1.03!important;
}
body.inner-site.tt-v24 .page-heading p,
body.inner-site.tt-v24 .luxury-news-heading p,
body.inner-site.tt-v24 .gallery-page-heading p{
  max-width:760px!important;font-size:16px!important;line-height:1.72!important
}

/* News / activity */
body.tt-v24 .luxury-editorial-grid{gap:26px!important}
body.tt-v24 .luxury-editorial-card{min-width:0!important}
body.tt-v24 .luxury-card-copy h2{font-size:clamp(24px,2.2vw,34px)!important;line-height:1.12!important}
body.tt-v24 .luxury-card-copy p{font-size:14.5px!important;line-height:1.68!important}
body.tt-v24 .luxury-card-meta{font-size:11.5px!important;line-height:1.45!important}
body.tt-v24 .luxury-readmore{font-size:12.5px!important}
body.tt-v24 .luxury-editorial-image img{width:100%;height:100%;object-fit:cover}

/* Detail */
body.tt-v24 .detail-hero h1{font-size:clamp(46px,5vw,70px)!important;line-height:1.05!important}
body.tt-v24 .detail-meta{font-size:12.5px!important}
body.tt-v24 .luxury-article{font-size:16px!important;line-height:1.82!important}
body.tt-v24 .luxury-article .article-lead{font-size:20px!important;line-height:1.7!important}
body.tt-v24 .luxury-article-content p{font-size:16px!important;line-height:1.82!important}
body.tt-v24 .attachment-item{min-width:0}

/* Static/about/residents */
body.tt-v24 .inner-hero{padding-top:clamp(124px,10vw,164px)!important;padding-bottom:clamp(56px,6vw,84px)!important}
body.tt-v24 .inner-hero h1{font-size:clamp(46px,5vw,68px)!important;line-height:1.05!important}
body.tt-v24 .inner-hero p,body.tt-v24 .static-lead{font-size:16px!important;line-height:1.78!important}
body.tt-v24 .content-prose,body.tt-v24 .content-prose p{font-size:16px!important;line-height:1.85!important}
body.tt-v24 .static-quick-access a{font-size:14px!important;line-height:1.45!important}
body.tt-v24 .resident-feature-card p{font-size:14px!important;line-height:1.65!important}

/* Gallery */
body.tt-v24 .album-filter{gap:8px!important;flex-wrap:wrap!important}
body.tt-v24 .album-filter button{font-size:12.5px!important;min-height:38px!important;padding:0 14px!important}
body.tt-v24 .album-card-body h2{font-size:clamp(24px,2.2vw,32px)!important;line-height:1.12!important}
body.tt-v24 .album-card-body p{font-size:13.5px!important;line-height:1.6!important}
body.tt-v24 .album-category,body.tt-v24 .album-date span,body.tt-v24 .album-count{font-size:11.5px!important}
body.tt-v24 .masonry-gallery img{width:100%;height:100%;object-fit:cover}

/* Account */
body.tt-v24 .account-card h1{font-size:clamp(36px,4vw,48px)!important}
body.tt-v24 .account-item small{font-size:11.5px!important}
body.tt-v24 .account-item strong{font-size:14.5px!important}
body.tt-v24 .member-panel h2{font-size:27px!important}
body.tt-v24 label{font-size:13px!important}

/* Footer: never tiny */
body.tt-v24 .footer-note{font-size:12.5px!important;line-height:1.65!important}

@media (max-width:1180px){
  :root{--tt31-page:min(100% - 40px,1040px)}
  body.tt-v24 .desktop-nav a,body.tt-v24 .inner-nav a{font-size:14px!important}
  body.tt-v24 .notice-shell{grid-template-columns:1fr!important}
  body.tt-v24 .notice-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.tt-v24 .luxury-detail-layout{gap:28px!important}
  body.tt-v24 .inner-hero-grid{gap:36px!important}
}

@media (max-width:900px){
  :root{--tt31-page:calc(100vw - 32px)}
  body.tt-v24 .notice-list{grid-template-columns:1fr!important}
  body.tt-v24 .notice-list-title{grid-column:auto!important}
  body.tt-v24 .activity-card{flex-basis:calc(50% - 8px)!important}
  body.tt-v24 .luxury-editorial-card,body.tt-v24 .luxury-editorial-card.is-featured{grid-template-columns:38% 62%!important}
  body.tt-v24 .inner-hero-grid{grid-template-columns:1fr!important}
  body.tt-v24 .inner-hero-image{min-height:360px!important;order:2}
  body.tt-v24 .content-prose-wrap{grid-template-columns:1fr!important}
  body.tt-v24 .static-quick-access{position:static!important}
  body.tt-v24 .resident-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.tt-v24 .album-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.tt-v24 .album-card,body.tt-v24 .album-card:nth-child(3n+1){grid-column:auto!important;grid-template-columns:1fr!important}
}

@media (max-width:767px){
  :root{--tt31-page:calc(100vw - 28px)}
  html{font-size:16px}
  body.tt-v24 .site-header,body.tt-v24 .inner-header{padding:10px 10px!important}
  body.tt-v24 .header-shell,body.tt-v24 .inner-header-shell{min-height:62px!important;padding:7px 8px 7px 11px!important;border-radius:14px!important}
  body.tt-v24 .brand img{width:34px!important;height:auto!important}
  body.tt-v24 .brand-text strong{font-size:15px!important}
  body.tt-v24 .brand-text small{font-size:8px!important}
  body.tt-v24 .menu-toggle{width:42px!important;height:42px!important}
  body.tt-v24 .mobile-menu{top:82px!important;left:10px!important;right:10px!important;max-height:calc(100dvh - 94px)!important;overflow:auto!important}
  body.tt-v24 .mobile-menu>a{font-family:var(--tt31-ui)!important;font-size:16px!important;line-height:1.25!important;padding:14px 13px!important}
  body.tt-v24 .mobile-menu .mobile-btn{font-size:14px!important;min-height:46px!important}

  body.tt-v24 section.block,body.tt-v24 .inner-content-section{padding-top:56px!important;padding-bottom:56px!important}
  body.tt-v24 .section-title{font-size:36px!important;line-height:1.08!important}
  body.tt-v24 .section-copy{font-size:15px!important;line-height:1.72!important}

  body.tt-v24 .notice-center{padding:48px 0 40px!important}
  body.tt-v24 .notice-shell{width:var(--tt31-page)!important;border-radius:16px!important}
  body.tt-v24 .notice-main{padding:30px 22px 32px!important}
  body.tt-v24 .notice-main h2{font-size:32px!important}
  body.tt-v24 .notice-main p{font-size:15px!important}
  body.tt-v24 .notice-list{display:block!important;padding:18px!important}
  body.tt-v24 .notice-row{padding:13px!important}
  body.tt-v24 .notice-row strong{font-size:14px!important}
  body.tt-v24 .notice-row small{font-size:12px!important}

  body.tt-v24 .community-story{padding:28px 20px!important;border-radius:16px!important}
  body.tt-v24 .community-story .section-title{font-size:35px!important}
  body.tt-v24 .community-story .section-copy{font-size:15px!important;text-align:left!important}
  body.tt-v24 .community-access-section .cards{grid-template-columns:1fr!important}
  body.tt-v24 .community-access-section .card-media{min-height:220px!important}
  body.tt-v24 .community-access-section .card-body{padding:24px 21px!important}
  body.tt-v24 .community-access-section .card-body h3{font-size:26px!important}
  body.tt-v24 .community-access-section .card-body p{font-size:14.5px!important}

  body.tt-v24 .activity-card{flex-basis:88%!important;min-height:420px!important}
  body.tt-v24 .activity-content{padding:22px!important}
  body.tt-v24 .activity-content h3{font-size:25px!important}
  body.tt-v24 .activity-content p{font-size:14px!important}

  body.inner-site.tt-v24 .page-heading,body.inner-site.tt-v24 .luxury-news-heading,body.inner-site.tt-v24 .gallery-page-heading{padding-top:108px!important;padding-bottom:44px!important}
  body.inner-site.tt-v24 .page-heading h1,body.inner-site.tt-v24 .luxury-news-heading h1,body.inner-site.tt-v24 .gallery-page-heading h1{font-size:40px!important;line-height:1.06!important}
  body.inner-site.tt-v24 .page-heading p,body.inner-site.tt-v24 .luxury-news-heading p,body.inner-site.tt-v24 .gallery-page-heading p{font-size:15px!important;line-height:1.68!important}
  body.tt-v24 .luxury-heading-grid{grid-template-columns:1fr!important;gap:20px!important}
  body.tt-v24 .luxury-heading-stat{display:none!important}
  body.tt-v24 .luxury-editorial-grid{grid-template-columns:1fr!important;gap:18px!important}
  body.tt-v24 .luxury-editorial-card,body.tt-v24 .luxury-editorial-card.is-featured{grid-column:auto!important;grid-template-columns:1fr!important;border-radius:14px!important}
  body.tt-v24 .luxury-editorial-image{min-height:230px!important}
  body.tt-v24 .luxury-editorial-body{grid-template-columns:48px minmax(0,1fr)!important;padding:21px 18px!important}
  body.tt-v24 .luxury-card-copy h2{font-size:25px!important}
  body.tt-v24 .luxury-card-copy p{font-size:14.5px!important}
  body.tt-v24 .luxury-card-meta{font-size:12px!important}

  body.tt-v24 .detail-hero-content{padding-top:116px!important;padding-bottom:44px!important}
  body.tt-v24 .detail-hero h1{font-size:39px!important}
  body.tt-v24 .luxury-detail-layout{grid-template-columns:1fr!important}
  body.tt-v24 .luxury-article{padding:24px 19px!important;border-radius:14px!important;font-size:15.5px!important}
  body.tt-v24 .luxury-article .article-lead{font-size:18px!important;text-align:left!important}
  body.tt-v24 .luxury-article-content p{font-size:15.5px!important;text-align:left!important}

  body.tt-v24 .inner-hero{padding-top:108px!important;padding-bottom:48px!important}
  body.tt-v24 .inner-hero h1{font-size:40px!important}
  body.tt-v24 .inner-hero p,body.tt-v24 .static-lead{font-size:15px!important;line-height:1.72!important;text-align:left!important}
  body.tt-v24 .inner-hero-image{min-height:260px!important}
  body.tt-v24 .content-prose,body.tt-v24 .content-prose p{font-size:15.5px!important;line-height:1.8!important;text-align:left!important}
  body.tt-v24 .resident-feature-grid{grid-template-columns:1fr!important}

  body.tt-v24 .gallery-heading-grid{grid-template-columns:1fr!important}
  body.tt-v24 .album-timeline-grid{grid-template-columns:1fr!important}
  body.tt-v24 .album-cover{min-height:240px!important}
  body.tt-v24 .album-card-body{padding:22px 19px!important}
  body.tt-v24 .album-card-body h2{font-size:25px!important}
  body.tt-v24 .masonry-gallery{column-count:2!important;column-gap:10px!important}
  body.tt-v24 .album-detail-hero{min-height:480px!important}
  body.tt-v24 .album-detail-hero h1{font-size:40px!important}

  body.tt-v24 .account-shell{padding:22px 12px!important}
  body.tt-v24 .account-card{padding:22px 17px!important;border-radius:15px!important}
  body.tt-v24 .account-card h1{font-size:35px!important}
  body.tt-v24 .account-grid,body.tt-v24 .member-dashboard-grid,body.tt-v24 .member-form-grid{grid-template-columns:1fr!important}
  body.tt-v24 .member-panel{padding:20px!important}
  body.tt-v24 .member-panel h2{font-size:24px!important}
  body.tt-v24 input,body.tt-v24 select,body.tt-v24 textarea{font-size:16px!important}
  body.tt-v24 label{font-size:13px!important}

  body.tt-v24 footer .footer-inner{padding-inline:14px!important;min-height:100px!important}
  body.tt-v24 .footer-note{font-size:12px!important}
}

@media (max-width:430px){
  :root{--tt31-page:calc(100vw - 22px)}
  body.tt-v24 .brand-text strong{font-size:14px!important}
  body.tt-v24 .brand-text small{font-size:7.5px!important}
  body.tt-v24 .mobile-menu>a{font-size:15px!important}
  body.inner-site.tt-v24 .page-heading h1,body.inner-site.tt-v24 .luxury-news-heading h1,body.inner-site.tt-v24 .gallery-page-heading h1{font-size:36px!important}
  body.tt-v24 .inner-hero h1,body.tt-v24 .detail-hero h1,body.tt-v24 .album-detail-hero h1{font-size:36px!important}
  body.tt-v24 .masonry-gallery{column-count:1!important}
}
/* V34 global polish: larger navigation and footer pinned to viewport bottom */
body.tt-home,body.inner-site{min-height:100vh;display:flex;flex-direction:column}
body.tt-home>main,body.inner-site>.inner-main{flex:1 0 auto}
body.tt-home>footer,body.inner-site>footer{margin-top:auto}
.desktop-nav a,.inner-nav a{font-size:15px!important}
.footer-meta-v34{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:620px;text-align:right}.footer-meta-v34 small{display:flex;justify-content:flex-end;gap:8px;color:rgba(255,255,255,.58);font-size:11px}.footer-meta-v34 a{color:inherit;transition:color .2s ease}.footer-meta-v34 a:hover{color:#fff}.footer-meta-v34 i{font-style:normal}
@media(max-width:760px){.footer-meta-v34{align-items:flex-start;text-align:left}.footer-meta-v34 small{justify-content:flex-start;flex-wrap:wrap}}
.community-inner-flash{position:relative;z-index:20;max-width:1180px;margin:84px auto -58px;padding:14px 18px;border-radius:13px;font-size:13px;box-shadow:0 12px 34px rgba(8,40,62,.11)}.community-inner-flash.is-success{background:#e7f5ef;color:#145b48;border:1px solid #c4e6d8}.community-inner-flash.is-error{background:#fff1ef;color:#8d3028;border:1px solid #f2d0cc}.community-inner-flash ul{margin:7px 0 0;padding-left:18px}.community-inner-flash+main{padding-top:74px}@media(max-width:760px){.community-inner-flash{margin:74px 16px -48px}}
